CoreSegment Class Reference

#include <RobotAPI/libraries/armem/server/ltm/CoreSegment.h>

+ Inheritance diagram for CoreSegment:

Public Member Functions

 CoreSegment (const std::string &exportName, const MemoryID &memoryId, const std::shared_ptr< Processors > &filters, const std::shared_ptr< persistence::MemoryPersistenceStrategy > &persistenceStrategy)
 
std::shared_ptr< persistence::MemoryPersistenceStrategygetPersistenceStrategy () const
 
- Public Member Functions inherited from CoreSegmentBase< ProviderSegment >
aron::type::ObjectPtr aronType () const
 get aron type
 
std::shared_ptr< ProviderSegmentTfindProviderSegment (const std::string &providerSegmentName) const
 find provider segment
 
bool forEachProviderSegment (std::function< void(ProviderSegmentT &)> func) const
 iterate over all provider segments of this ltm
 
Statistics getStatistics () const
 
bool hasProviderSegment (const std::string &providerSegmentName) const
 check if provider segment exists
 
void loadAllReferences (armem::wm::CoreSegment &coreSeg)
 return the full sub-ltm as a wm::CoreSegment with only references the ltm may be huge, use with caution
 
void loadLatestNReferences (int n, armem::wm::CoreSegment &coreSeg)
 
 MemoryItem (const std::string &exportName, const MemoryID &)
 
 MemoryItem (const std::string &exportName, const MemoryID &)
 
 MemoryItem (const std::string &exportName, const MemoryID &, const std::shared_ptr< Processors > &)
 
 MemoryItem (const std::string &exportName, const MemoryID &, const std::shared_ptr< Processors > &)
 
void resetStatistics ()
 statistics
 
void resolve (armem::wm::CoreSegment &coreSeg)
 convert the references of the input into a wm::Memory
 
void store (const armem::wm::CoreSegment &coreSeg, bool simulatedVersion)
 encode the content of a wm::Memory and store
 
- Public Member Functions inherited from MemoryItem
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
 

Protected Member Functions

std::shared_ptr< ProviderSegment_implFindProviderSegment (const std::string &name) const override
 
bool _implForEachProviderSegment (std::function< void(ProviderSegment &)> func) const override
 
bool _implHasProviderSegment (const std::string &name) const override
 
void _loadAllReferences (armem::wm::CoreSegment &wmCoreSegment) override
 
void _loadLatestNReferences (int n, armem::wm::CoreSegment &wmCoreSegment) override
 
void _resolve (armem::wm::CoreSegment &wmCoreSegment) override
 
void _store (const armem::wm::CoreSegment &wmCoreSegment, bool simulatedVersion) override
 
- Protected Member Functions inherited from MemoryItem
virtual void _setExportName (const std::string &)
 
virtual void _setMemoryID (const MemoryID &)
 

Additional Inherited Members

- Public Types inherited from CoreSegmentBase< ProviderSegment >
using ProviderSegmentT
 
- Static Public Member Functions inherited from CoreSegmentBase< ProviderSegment >
static std::string getLevelName ()
 get level name
 
- Protected Attributes inherited from CoreSegmentBase< ProviderSegment >
Statistics statistics
 
- Protected Attributes inherited from MemoryItem
std::shared_ptr< Processorsprocessors
 

Detailed Description

Definition at line 13 of file CoreSegment.h.

Constructor & Destructor Documentation

◆ CoreSegment()

CoreSegment ( const std::string & exportName,
const MemoryID & memoryId,
const std::shared_ptr< Processors > & filters,
const std::shared_ptr< persistence::MemoryPersistenceStrategy > & persistenceStrategy )

Definition at line 14 of file CoreSegment.cpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ _implFindProviderSegment()

std::shared_ptr< ProviderSegment > _implFindProviderSegment ( const std::string & name) const
overrideprotectedvirtual

Implements CoreSegmentBase< ProviderSegment >.

Definition at line 60 of file CoreSegment.cpp.

+ Here is the call graph for this function:

◆ _implForEachProviderSegment()

bool _implForEachProviderSegment ( std::function< void(ProviderSegment &)> func) const
overrideprotectedvirtual

Implements CoreSegmentBase< ProviderSegment >.

Definition at line 24 of file CoreSegment.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _implHasProviderSegment()

bool _implHasProviderSegment ( const std::string & name) const
overrideprotectedvirtual

Implements CoreSegmentBase< ProviderSegment >.

Definition at line 52 of file CoreSegment.cpp.

+ Here is the caller graph for this function:

◆ _loadAllReferences()

void _loadAllReferences ( armem::wm::CoreSegment & wmCoreSegment)
overrideprotectedvirtual

Implements CoreSegmentBase< ProviderSegment >.

Definition at line 77 of file CoreSegment.cpp.

+ Here is the call graph for this function:

◆ _loadLatestNReferences()

void _loadLatestNReferences ( int n,
armem::wm::CoreSegment & wmCoreSegment )
overrideprotectedvirtual

Implements CoreSegmentBase< ProviderSegment >.

Definition at line 125 of file CoreSegment.cpp.

+ Here is the call graph for this function:

◆ _resolve()

void _resolve ( armem::wm::CoreSegment & wmCoreSegment)
overrideprotectedvirtual

Implements CoreSegmentBase< ProviderSegment >.

Definition at line 178 of file CoreSegment.cpp.

+ Here is the call graph for this function:

◆ _store()

void _store ( const armem::wm::CoreSegment & wmCoreSegment,
bool simulatedVersion )
overrideprotectedvirtual

Implements CoreSegmentBase< ProviderSegment >.

Definition at line 201 of file CoreSegment.cpp.

+ Here is the call graph for this function:

◆ getPersistenceStrategy()

std::shared_ptr< persistence::MemoryPersistenceStrategy > getPersistenceStrategy ( ) const
inline

Definition at line 22 of file CoreSegment.h.


The documentation for this class was generated from the following files: