A memory storing data on the hard drive and in mongodb (needs 'armarx memory start' to start the mongod instance)
More...
|
| void | _configure (const nlohmann::json &config) final |
| | configuration
|
| |
| void | _disable () final |
| |
| void | _enable () final |
| |
| void | _setExportName (const std::string &memoryName) final |
| |
| void | _setMemoryID (const MemoryID &memoryId) final |
| |
| void | createPropertyDefinitions (PropertyDefinitionsPtr &defs, const std::string &prefix) override |
| | default parameters. Implementation should use the configuration to configure
|
| |
| bool | flushAsyncStorage (int timeoutMs=0) |
| | Flush the async storage queue and wait for all pending items to be stored.
|
| |
| void | getAndSaveStatistics () |
| | getAndSaveStatistics generates and saves statistics for a LTM recording
|
| |
| size_t | getAsyncQueueSize () const |
| | Get the current size of the async storage queue.
|
| |
| const detail::mixin::AsyncStorageStatistics & | getAsyncStorageStatistics () const |
| | Get the async storage statistics.
|
| |
| size_t | getNumThreadsProcessing () const |
| | Get the number of threads currently processing items.
|
| |
| std::shared_ptr< persistence::RedundantPersistenceStrategy > | getPersistenceStrategy () const |
| |
| | Memory () |
| |
| | Memory (const std::string &exportName, const std::string &memoryName) |
| |
| | Memory (const std::string &exportName, const std::string &memoryName, const std::shared_ptr< persistence::RedundantPersistenceStrategy > &persistenceStrategy) |
| |
| void | setPersistenceStrategy (std::shared_ptr< persistence::RedundantPersistenceStrategy > persistenceStrategy) |
| |
| void | configure () |
| | initialize config
|
| |
| void | configure () |
| | initialize config
|
| |
| void | disable () |
| | disable this LTM
|
| |
| void | disable () |
| | disable this LTM
|
| |
| void | enable () |
| | enable this LTM
|
| |
| void | enable () |
| | enable this LTM
|
| |
| std::shared_ptr< CoreSegmentT > | findCoreSegment (const std::string &coreSegmentName) const |
| | find core segment
|
| |
| std::shared_ptr< CoreSegmentT > | findCoreSegment (const std::string &coreSegmentName) const |
| | find core segment
|
| |
| bool | forEachCoreSegment (std::function< void(CoreSegmentT &)> func) const |
| | iterate over all core segments of this ltm
|
| |
| bool | forEachCoreSegment (std::function< void(CoreSegmentT &)> func) const |
| | iterate over all core segments of this ltm
|
| |
| DebugObserverInterfacePrx | getDebugObserver () const |
| | Get the current debug observer (may be nullptr)
|
| |
| DebugObserverInterfacePrx | getDebugObserver () const |
| | Get the current debug observer (may be nullptr)
|
| |
| std::map< std::string, processor::SnapshotFilter::FilterStatistics > | getFilterStatistics () |
| |
| std::map< std::string, processor::SnapshotFilter::FilterStatistics > | getFilterStatistics () |
| |
| RecordingMode | getRecordingMode () const |
| |
| RecordingMode | getRecordingMode () const |
| |
| Statistics | getStatistics () const |
| |
| Statistics | getStatistics () const |
| |
| bool | hasCoreSegment (const std::string &coreSegmentName) const |
| | check if core segment exists
|
| |
| bool | hasCoreSegment (const std::string &coreSegmentName) const |
| | check if core segment exists
|
| |
| bool | isRecording () const |
| |
| bool | isRecording () const |
| |
| armem::wm::Memory | loadAllAndResolve () |
| | return the full ltm as a wm::Memory and resolves the references the ltm may be huge, use with caution
|
| |
| armem::wm::Memory | loadAllAndResolve () |
| | return the full ltm as a wm::Memory and resolves the references the ltm may be huge, use with caution
|
| |
| void | loadAllAndResolve (armem::wm::Memory &memory) |
| |
| void | loadAllAndResolve (armem::wm::Memory &memory) |
| |
| void | loadAllAndResolve (armem::wm::Memory &memory, std::list< std::string > coreSegmentNames) |
| |
| void | loadAllAndResolve (armem::wm::Memory &memory, std::list< std::string > coreSegmentNames) |
| |
| armem::wm::Memory | loadAllReferences () |
| | return the full ltm as a wm::Memory with only references the ltm may be huge, use with caution
|
| |
| armem::wm::Memory | loadAllReferences () |
| | return the full ltm as a wm::Memory with only references the ltm may be huge, use with caution
|
| |
| void | loadAllReferences (armem::wm::Memory &memory) |
| |
| void | loadAllReferences (armem::wm::Memory &memory) |
| |
| armem::wm::Memory | loadLatestNReferences (int n) |
| |
| armem::wm::Memory | loadLatestNReferences (int n) |
| |
| void | loadLatestNReferences (int n, armem::wm::Memory &memory) |
| |
| void | loadLatestNReferences (int n, armem::wm::Memory &memory) |
| |
| void | loadLatestNReferences (int n, armem::wm::Memory &memory, std::list< std::string > coreSegNames) |
| |
| void | loadLatestNReferences (int n, armem::wm::Memory &memory, std::list< std::string > coreSegNames) |
| |
| void | loadOnStartup () |
| |
| void | loadOnStartup () |
| |
| | MemoryBase (const std::string &exportName, const MemoryID &id) |
| |
| | MemoryBase (const std::string &exportName, const MemoryID &id) |
| |
| virtual void | resetStatistics () |
| | statistics
|
| |
| virtual void | resetStatistics () |
| | statistics
|
| |
| void | resolve (armem::wm::Memory &memory) |
| | convert the references of the input into a wm::Memory
|
| |
| void | resolve (armem::wm::Memory &memory) |
| | convert the references of the input into a wm::Memory
|
| |
| void | setDebugObserver (DebugObserverInterfacePrx observer) |
| | Set an optional debug observer for timing measurements.
|
| |
| void | setDebugObserver (DebugObserverInterfacePrx observer) |
| | Set an optional debug observer for timing measurements.
|
| |
| void | setRecordingMode (const RecordingMode m) |
| |
| void | setRecordingMode (const RecordingMode m) |
| |
| void | setRecordingMode (const std::string &m) |
| |
| void | setRecordingMode (const std::string &m) |
| |
| void | startRecording () |
| | enable/disable
|
| |
| void | startRecording () |
| | enable/disable
|
| |
| void | stopRecording () |
| |
| void | stopRecording () |
| |
| void | store (const armem::server::wm::Memory &serverMemory) |
| | append a wm::Memory instance to the ltm
|
| |
| void | store (const armem::server::wm::Memory &serverMemory) |
| | append a wm::Memory instance to the ltm
|
| |
| void | store (std::shared_ptr< const armem::wm::Memory > memory) |
| | append a wm::Memory instance to the ltm (asynchronously via thread pool)
|
| |
| void | store (std::shared_ptr< const armem::wm::Memory > memory) |
| | append a wm::Memory instance to the ltm (asynchronously via thread pool)
|
| |
| void | storeSnapshotsAsync (const std::string &memoryName, const std::vector< wm::EntitySnapshot > &snapshots, const std::vector< mixin::PendingConversion::SegmentMetadata > &segmentMetadata) |
| | Store snapshots with deferred conversion (happens in async thread) This is more efficient than calling store() with a pre-converted Memory because the expensive toMemory() conversion happens off the critical path.
|
| |
| void | storeSnapshotsAsync (const std::string &memoryName, const std::vector< wm::EntitySnapshot > &snapshots, const std::vector< mixin::PendingConversion::SegmentMetadata > &segmentMetadata) |
| | Store snapshots with deferred conversion (happens in async thread) This is more efficient than calling store() with a pre-converted Memory because the expensive toMemory() conversion happens off the critical path.
|
| |
| virtual std::string | getExportName () const |
| |
| MemoryID | getMemoryID () const |
| |
| MemoryID | id () const |
| |
| | MemoryItem (const std::string &exportName, const MemoryID &) |
| |
| | MemoryItem (const std::string &exportName, const MemoryID &, const std::shared_ptr< Processors > &) |
| |
| std::string | name () const |
| |
| void | setExportName (const std::string &n) |
| |
| void | setMemoryID (const MemoryID &) |
| |
| void | setMemoryName (const std::string &memoryName) |
| |
| virtual | ~MemoryItem ()=default |
| |
| | BufferedMemoryMixin (const MemoryID &id) |
| |
| | BufferedMemoryMixin (const MemoryID &id) |
| |
| void | bufferFinished () |
| |
| void | bufferFinished () |
| |
| void | directlyStore (const armem::server::wm::Memory &serverMemory, bool simulatedVersion=false) |
| |
| void | directlyStore (const armem::server::wm::Memory &serverMemory, bool simulatedVersion=false) |
| |
| void | directlyStore (const armem::wm::Memory &memory, bool simulatedVersion=false) |
| |
| void | directlyStore (const armem::wm::Memory &memory, bool simulatedVersion=false) |
| |
| bool | flushAsyncStorage (int timeoutMs=0) |
| | Flush the async storage queue and wait for all pending items to be stored.
|
| |
| bool | flushAsyncStorage (int timeoutMs=0) |
| | Flush the async storage queue and wait for all pending items to be stored.
|
| |
| const AsyncStorageStatistics & | getAsyncStorageStatistics () const |
| | Get the async storage statistics.
|
| |
| const AsyncStorageStatistics & | getAsyncStorageStatistics () const |
| | Get the async storage statistics.
|
| |
| size_t | getNumThreadsProcessing () const |
| | Get the number of threads currently processing items.
|
| |
| size_t | getNumThreadsProcessing () const |
| | Get the number of threads currently processing items.
|
| |
| size_t | getQueueSize () const |
| | Get the current size of the async storage queue.
|
| |
| size_t | getQueueSize () const |
| | Get the current size of the async storage queue.
|
| |
| void | resetAsyncStorageStatistics () |
| | Reset the async storage statistics.
|
| |
| void | resetAsyncStorageStatistics () |
| | Reset the async storage statistics.
|
| |
| virtual | ~BufferedMemoryMixin () |
| |
| virtual | ~BufferedMemoryMixin () |
| |
| | CachedMemoryMixin (const MemoryID &id) |
| |
| | CachedMemoryMixin (const MemoryID &id) |
| |
|
| void | _directlyStore (const armem::wm::Memory &wmMemory, bool simulatedVersion) final |
| |
| void | _enqueueForAsyncStorage (std::shared_ptr< const armem::wm::Memory > memory) final |
| |
| void | _enqueuePendingConversion (detail::mixin::PendingConversion pending) final |
| |
| std::shared_ptr< CoreSegment > | _implFindCoreSegment (const std::string &coreSegmentName) const final |
| |
| bool | _implForEachCoreSegment (std::function< void(CoreSegment &)> func) const final |
| |
| bool | _implHasCoreSegment (const std::string &coreSegmentName) const final |
| |
| void | _loadAllReferences (armem::wm::Memory &wmMemory) final |
| |
| void | _loadAllReferences (armem::wm::Memory &wmMemory, std::list< std::string > coreSegNames) final |
| |
| void | _loadLatestNReferences (int n, armem::wm::Memory &wmMemory) final |
| |
| void | _loadLatestNReferences (int n, armem::wm::Memory &wmMemory, std::list< std::string > coreSegNames) final |
| |
| void | _loadOnStartup () 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.
|
| |
| void | _resolve (armem::wm::Memory &wmMemory) final |
| |
| void | _store (const armem::wm::Memory &wmMemory) final |
| |
| void | addToBuffer (const armem::wm::Memory &memory) |
| |
| void | addToBuffer (const armem::wm::Memory &memory) |
| |
| void | asyncStorageWorker (size_t threadId) |
| | Worker thread that processes the async storage queue.
|
| |
| void | asyncStorageWorker (size_t threadId) |
| | Worker thread that processes the async storage queue.
|
| |
| void | configureMixin (const nlohmann::json &json) |
| | configuration
|
| |
| void | configureMixin (const nlohmann::json &json) |
| | configuration
|
| |
| size_t | countSnapshotsInItem (const StorageItem &item) const |
| | Count the number of snapshots in a storage item.
|
| |
| size_t | countSnapshotsInItem (const StorageItem &item) const |
| | Count the number of snapshots in a storage item.
|
| |
| void | createPropertyDefinitions (PropertyDefinitionsPtr &defs, const std::string &prefix) |
| |
| void | createPropertyDefinitions (PropertyDefinitionsPtr &defs, const std::string &prefix) |
| |
| void | enqueueForAsyncStorage (std::shared_ptr< const armem::wm::Memory > memory) |
| | Enqueue a memory object for async storage.
|
| |
| void | enqueueForAsyncStorage (std::shared_ptr< const armem::wm::Memory > memory) |
| | Enqueue a memory object for async storage.
|
| |
| void | enqueueForAsyncStoragePublic (std::shared_ptr< const armem::wm::Memory > memory) |
| | Public interface to enqueue memory for async storage This allows MemoryBase::store() to use the async thread pool.
|
| |
| void | enqueueForAsyncStoragePublic (std::shared_ptr< const armem::wm::Memory > memory) |
| | Public interface to enqueue memory for async storage This allows MemoryBase::store() to use the async thread pool.
|
| |
| void | enqueuePendingConversion (PendingConversion pending) |
| | Enqueue snapshots for deferred conversion and async storage This defers the expensive toMemory() conversion to the async thread.
|
| |
| void | enqueuePendingConversion (PendingConversion pending) |
| | Enqueue snapshots for deferred conversion and async storage This defers the expensive toMemory() conversion to the async thread.
|
| |
| void | enqueueStorageItem (StorageItem item) |
| | Internal method to enqueue any storage item (Memory or PendingConversion) PERFORMANCE: Uses lock-free queue to avoid mutex contention at 50Hz commit rate NON-BLOCKING: If the queue is full, the item is DROPPED immediately to prevent upstream queue (e.g., RobotWriterQueue) from backing up.
|
| |
| void | enqueueStorageItem (StorageItem item) |
| | Internal method to enqueue any storage item (Memory or PendingConversion) PERFORMANCE: Uses lock-free queue to avoid mutex contention at 50Hz commit rate NON-BLOCKING: If the queue is full, the item is DROPPED immediately to prevent upstream queue (e.g., RobotWriterQueue) from backing up.
|
| |
| armem::wm::Memory | getBuffer () const |
| |
| armem::wm::Memory | getBuffer () const |
| |
| void | setMixinMemoryID (const MemoryID &id) |
| |
| void | setMixinMemoryID (const MemoryID &id) |
| |
| void | start () |
| |
| void | start () |
| |
| void | stop () |
| |
| void | stop () |
| |
| void | storeBuffer () |
| |
| void | storeBuffer () |
| |
| void | addToCache (const armem::wm::Memory &memory) |
| |
| void | addToCache (const armem::wm::Memory &memory) |
| |
| bool | cacheHasCoreSegment (const MemoryID &n) const |
| |
| bool | cacheHasCoreSegment (const MemoryID &n) const |
| |
| bool | cacheHasCoreSegment (const std::string &n) const |
| |
| bool | cacheHasCoreSegment (const std::string &n) const |
| |
| bool | cacheHasEntity (const MemoryID &n) const |
| |
| bool | cacheHasEntity (const MemoryID &n) const |
| |
| bool | cacheHasEntityInstance (const MemoryID &n) const |
| |
| bool | cacheHasEntityInstance (const MemoryID &n) const |
| |
| bool | cacheHasEntitySnapshot (const MemoryID &n) const |
| |
| bool | cacheHasEntitySnapshot (const MemoryID &n) const |
| |
| bool | cacheHasProviderSegment (const MemoryID &n) const |
| |
| bool | cacheHasProviderSegment (const MemoryID &n) const |
| |
| void | configureMixin (const nlohmann::json &json) |
| | configuration
|
| |
| void | configureMixin (const nlohmann::json &json) |
| | configuration
|
| |
| armem::wm::Memory | getCache () const |
| |
| armem::wm::Memory | getCache () const |
| |
| void | setMixinMemoryID (const MemoryID &id) |
| |
| void | setMixinMemoryID (const MemoryID &id) |
| |
A memory storing data on the hard drive and in mongodb (needs 'armarx memory start' to start the mongod instance)
Definition at line 20 of file Memory.h.