32 Memory(
const std::string& exportName,
const std::string& memoryName);
35 const std::string& exportName,
36 const std::string& memoryName,
37 const std::shared_ptr<persistence::RedundantPersistenceStrategy>& persistenceStrategy);
43 void _configure(const nlohmann::json& config) final;
46 const
std::
string& prefix) override;
90 std::shared_ptr<persistence::RedundantPersistenceStrategy> persistenceStrategy)
92 persistenceStrategy_ = persistenceStrategy;
95 std::shared_ptr<persistence::RedundantPersistenceStrategy>
98 return persistenceStrategy_;
105 std::shared_ptr<CoreSegment>
_implFindCoreSegment(
const std::string& coreSegmentName)
const final;
109 std::list<std::string> coreSegNames)
final;
113 std::list<std::string> coreSegNames)
final;
119 uint64_t& filteredCount,
120 uint64_t& passedCount)
final;
126 std::time_t current_date;
128 std::shared_ptr<
persistence::RedundantPersistenceStrategy> persistenceStrategy_;
A memory storing data on the hard drive and in mongodb (needs 'armarx memory start' to start the mong...
void getAndSaveStatistics()
getAndSaveStatistics generates and saves statistics for a LTM recording
void _setMemoryID(const MemoryID &memoryId) final
void _enqueueForAsyncStorage(std::shared_ptr< const armem::wm::Memory > memory) final
void _resolve(armem::wm::Memory &wmMemory) final
const detail::mixin::AsyncStorageStatistics & getAsyncStorageStatistics() const
Get the async storage statistics.
detail::mixin::BufferedMemoryMixin< CoreSegment > BufferedBase
detail::mixin::CachedMemoryMixin< CoreSegment > CachedBase
void _loadLatestNReferences(int n, armem::wm::Memory &wmMemory) final
void _directlyStore(const armem::wm::Memory &wmMemory, bool simulatedVersion) final
void _setExportName(const std::string &memoryName) final
bool _implHasCoreSegment(const std::string &coreSegmentName) const final
bool _implForEachCoreSegment(std::function< void(CoreSegment &)> func) const final
std::shared_ptr< armem::wm::Memory > _preFilterMemory(const armem::wm::Memory &memory, uint64_t &filteredCount, uint64_t &passedCount) final
Pre-filter a memory object before enqueuing for async storage.
size_t getNumThreadsProcessing() const
Get the number of threads currently processing items.
void setPersistenceStrategy(std::shared_ptr< persistence::RedundantPersistenceStrategy > persistenceStrategy)
std::shared_ptr< CoreSegment > _implFindCoreSegment(const std::string &coreSegmentName) const final
size_t getAsyncQueueSize() const
Get the current size of the async storage queue.
std::shared_ptr< persistence::RedundantPersistenceStrategy > getPersistenceStrategy() const
bool flushAsyncStorage(int timeoutMs=0)
Flush the async storage queue and wait for all pending items to be stored.
void _loadAllReferences(armem::wm::Memory &wmMemory) final
void _store(const armem::wm::Memory &wmMemory) final
void _loadOnStartup() final
void createPropertyDefinitions(PropertyDefinitionsPtr &defs, const std::string &prefix) override
default parameters. Implementation should use the configuration to configure
void _configure(const nlohmann::json &config) final
configuration
void _enqueuePendingConversion(detail::mixin::PendingConversion pending) final
detail::MemoryBase< CoreSegment > MemoryBase
Interface functions for the longterm memory classes.
size_t getQueueSize() const
const AsyncStorageStatistics & getAsyncStorageStatistics() const
size_t getNumThreadsProcessing() const
bool flushAsyncStorage(int timeoutMs=0)
Client-side working memory.
Brief description of class memory.
std::vector< std::string > split(const std::string &source, const std::string &splitBy, bool trimElements=false, bool removeEmptyElements=false)
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.
Statistics for async storage queue operations.