Go to the documentation of this file.
53 std::vector<EntitySnapshotT>
truncate();
71 using ProviderSegmentBase::addEntity;
73 template <
class ...Args>
76 Entity& added = ProviderSegmentBase::addEntity(
name, args...);
99 using CoreSegmentBase::addProviderSegment;
100 template <
class ...Args>
105 if(maxHistorySize < 0){
106 ARMARX_INFO <<
"The maxHistorySize for this core segment is set to < 0. "
107 <<
"This means nothing will ever be forgotten in working memory. "
108 <<
"This may slow down the memory server. \n"
109 <<
"Core Segment Name: "
110 << (this->
id()).
str();
112 added.setMaxHistorySize(maxHistorySize);
119 template <
class FunctionT>
122 std::scoped_lock lock(_mutex);
129 mutable std::mutex _mutex;
Data of a provider segment containing multiple entities.
armem::wm::EntityInstance EntityInstance
A bundle of updates to be sent to the memory.
Can do predictions itself and has children it could delegate predictions to.
Client-side working entity instance.
std::vector< EntitySnapshotT > truncate()
If maximum size is set, ensure history's is not higher.
An entity over a period of time.
Data of a core segment containing multiple provider segments.
ProviderSegment ProviderSegmentT
long getMaxHistorySize() const
An update of an entity for a specific point in time.
Entity & addEntity(const std::string &name, Args... args)
Data of a memory consisting of multiple core segments.
Client-side working memory entity snapshot.
auto doLocked(FunctionT &&function) const
std::shared_ptr< Dict > DictPtr
armem::wm::EntitySnapshot EntitySnapshot
void setMaxHistorySize(long maxSize)
Sets the maximum history size.
Can do predictions, but has no children it could delegate predictions to.
std::vector< UpdateResult > update(const Commit &commit, const bool addMissingCoreSegmentDuringUpdate=false, const bool checkMemoryName=true)
Store all updates in commit.
base::EntityInstanceMetadata EntityInstanceMetadata
ProviderSegment & addProviderSegment(const std::string &name, Args... args)
std::vector< Base::UpdateResult > updateLocking(const Commit &commit)
Perform the commit, locking the core segments.
armarx::aron::data::DictPtr EntityInstanceDataPtr
UpdateResult update(const EntityUpdate &update)