SegmentedMemory Class Referenceabstract

The SegmentedMemory class provides an interface for organizing memories with segmented data structures. More...

#include <MemoryX/core/memory/SegmentedMemory.h>

+ Inheritance diagram for SegmentedMemory:

Public Member Functions

AbstractMemorySegmentPrx addSegment (const std::string &segmentName, const AbstractMemorySegmentPtr &segment, const ::Ice::Current &=Ice::emptyCurrent) override
 
EntityBasePtr findEntityById (const std::string &entityId, const Ice::Current &c=Ice::emptyCurrent) override
 
EntityRefBasePtr findEntityRefById (const std::string &entityId, const Ice::Current &c=Ice::emptyCurrent) override
 
virtual Ice::ObjectAdapterPtr getObjectAdapter () const =0
 
AbstractMemorySegmentPrx getSegment (const std::string &segmentName, const ::Ice::Current &=Ice::emptyCurrent) const override
 
NameList getSegmentNames (const ::Ice::Current &=Ice::emptyCurrent) const override
 
AbstractMemorySegmentPtr getSegmentPtr (const std::string &segmentName)
 
bool hasSegment (const std::string &segmentName, const ::Ice::Current &=Ice::emptyCurrent) const override
 
void removeSegment (const std::string &segmentName, const ::Ice::Current &=Ice::emptyCurrent) override
 
 SegmentedMemory ()
 

Protected Member Functions

 ~SegmentedMemory () override
 

Protected Attributes

MemorySegmentMap segments
 
std::shared_mutex segmentsMutex
 

Detailed Description

The SegmentedMemory class provides an interface for organizing memories with segmented data structures.

Definition at line 45 of file SegmentedMemory.h.

Constructor & Destructor Documentation

◆ ~SegmentedMemory()

~SegmentedMemory ( )
overrideprotected

Definition at line 36 of file SegmentedMemory.cpp.

◆ SegmentedMemory()

Definition at line 32 of file SegmentedMemory.cpp.

Member Function Documentation

◆ addSegment()

AbstractMemorySegmentPrx addSegment ( const std::string &  segmentName,
const AbstractMemorySegmentPtr &  segment,
const ::Ice::Current &  c = Ice::emptyCurrent 
)
override

Definition at line 40 of file SegmentedMemory.cpp.

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

◆ findEntityById()

EntityBasePtr findEntityById ( const std::string &  entityId,
const Ice::Current &  c = Ice::emptyCurrent 
)
override

Definition at line 141 of file SegmentedMemory.cpp.

◆ findEntityRefById()

EntityRefBasePtr findEntityRefById ( const std::string &  entityId,
const Ice::Current &  c = Ice::emptyCurrent 
)
override

Definition at line 166 of file SegmentedMemory.cpp.

◆ getObjectAdapter()

virtual Ice::ObjectAdapterPtr getObjectAdapter ( ) const
pure virtual

Implemented in AbstractWorkingMemory, PriorKnowledge, and AbstractLongtermMemory.

+ Here is the caller graph for this function:

◆ getSegment()

AbstractMemorySegmentPrx getSegment ( const std::string &  segmentName,
const ::Ice::Current &  c = Ice::emptyCurrent 
) const
override

Definition at line 75 of file SegmentedMemory.cpp.

+ Here is the caller graph for this function:

◆ getSegmentNames()

NameList getSegmentNames ( const ::Ice::Current &  = Ice::emptyCurrent) const
override

Definition at line 110 of file SegmentedMemory.cpp.

◆ getSegmentPtr()

AbstractMemorySegmentPtr getSegmentPtr ( const std::string &  segmentName)

Definition at line 124 of file SegmentedMemory.cpp.

◆ hasSegment()

bool hasSegment ( const std::string &  segmentName,
const ::Ice::Current &  c = Ice::emptyCurrent 
) const
override

Definition at line 69 of file SegmentedMemory.cpp.

+ Here is the caller graph for this function:

◆ removeSegment()

void removeSegment ( const std::string &  segmentName,
const ::Ice::Current &  c = Ice::emptyCurrent 
)
override

Definition at line 91 of file SegmentedMemory.cpp.

+ Here is the call graph for this function:

Member Data Documentation

◆ segments

MemorySegmentMap segments
protected

Definition at line 68 of file SegmentedMemory.h.

◆ segmentsMutex

std::shared_mutex segmentsMutex
mutableprotected

Definition at line 69 of file SegmentedMemory.h.


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