Go to the documentation of this file.
19 const std::string& exportName,
21 const std::shared_ptr<Processors>& filters) :
22 EntitySnapshotBase(exportName, id, filters),
23 DiskMemoryItemMixin(p, exportName, id),
24 MongoDBStorageMixin(
s, exportName, id)
59 id().withInstanceIndex(std::stoi(i.filename())).cleanID(),
87 id().withInstanceIndex(
index),
89 return c.fullPathExists();
95 std::shared_ptr<EntityInstance>
107 id().withInstanceIndex(
index),
136 id().withInstanceIndex(e.id().instanceIndex),
149 if (
id().timestamp.isInvalid())
152 <<
"During storage of segment '" << p.
id().
str()
153 <<
"' I noticed that the corresponding LTM has no id set. "
154 <<
"I set the id of the LTM to the same name, however this should not happen!";
173 id().withInstanceIndex(e.id().instanceIndex),
armem::wm::EntityInstance EntityInstance
bool hasInstance(const int) const override
check if Instance segment exists
std::shared_ptr< Processors > processors
bool forEachInstance(std::function< void(EntityInstance &)> func) const override
iterate over all Instance segments of this ltm
Path getMemoryBasePath() const
bool forEachInstance(InstanceFunctionT &&func)
std::string str(bool escapeDelimiters=true) const
Get a string representation of this memory ID.
EntitySnapshot(const detail::mixin::Path &, const detail::mixin::MongoDBSettings &, const std::string &, const MemoryID &id, const std::shared_ptr< Processors > &p)
std::shared_ptr< EntityInstance > findInstance(const int) const override
find Instance segment
std::vector< Path > getAllDirectories() const
MemoryID getEntitySnapshotID() const
MongoDBSettings getSettings() const
virtual std::string getExportName() const
Client-side working memory entity snapshot.
std::recursive_mutex ltm_mutex
void _store(const armem::wm::EntitySnapshot &) override
bool fullPathExists() const
std::filesystem::path Path
void _loadAllReferences(armem::wm::EntitySnapshot &) const override
void _resolve(armem::wm::EntitySnapshot &) const override
double s(double t, double s0, double v0, double a0, double j)
void loadAllReferences(armem::wm::EntitySnapshot &e) const
return the full sub-ltm as a wm::EntitySnapshot with only references the ltm may be huge,...