|
The PersistentEntitySegment class is the base class for all memory segments containing memoryx::Entity instances to be stored permanently in MongoDB. More...
#include <MemoryX/core/memory/PersistentEntitySegment.h>
Public Member Functions | |
std::string | addEntity (const EntityBasePtr &entity, const ::Ice::Current &c=Ice::emptyCurrent) override |
addEntity add new entity and return the newly generated entity ID More... | |
EntityIdList | addEntityList (const EntityBaseList &entityList, const Ice::Current &=Ice::emptyCurrent) override |
addEntityList adds all entities contained in \entityList to this segment and returns a list of created entity IDs More... | |
virtual EntityIdList | addEntityListThreadUnsafe (const EntityBaseList &entityList) |
virtual std::string | addEntityThreadUnsafe (const EntityBasePtr &entity) |
void | addReadCollection (const CollectionInterfacePrx &coll, const ::Ice::Current &=Ice::emptyCurrent) override |
void | clear (const ::Ice::Current &=Ice::emptyCurrent) override |
clear removes all elements from the current memoryx::PersistentEntitySegment::writeCollection More... | |
void | clearReadCollections (const ::Ice::Current &=Ice::emptyCurrent) override |
EntityRefList | findRefsByQuery (const std::string &query, const Ice::Current &c) override |
retrieves Entity Refs that match the query. More... | |
EntityBaseList | getAllEntities (const ::Ice::Current &=Ice::emptyCurrent) const override |
getAllEntities returns a list of all entities managed by this memory segment More... | |
EntityIdList | getAllEntityIds (const ::Ice::Current &=Ice::emptyCurrent) const override |
virtual EntityIdList | getAllEntityIdsThreadUnsafe () const |
EntityBaseList | getEntitiesByAttrValue (const ::std::string &attrName, const ::std::string &attrValue, const ::Ice::Current &=Ice::emptyCurrent) const override |
EntityBaseList | getEntitiesByAttrValueList (const ::std::string &attrName, const NameList &attrValueList, const ::Ice::Current &=Ice::emptyCurrent) const override |
EntityBasePtr | getEntityById (const ::std::string &entityId, const ::Ice::Current &=Ice::emptyCurrent) const override |
virtual EntityBasePtr | getEntityByIdThreadUnsafe (const ::std::string &entityId) const |
EntityBasePtr | getEntityByName (const ::std::string &name, const ::Ice::Current &=Ice::emptyCurrent) const override |
virtual EntityBasePtr | getEntityByNameThreadUnsafe (const ::std::string &name) const |
EntityRefBasePtr | getEntityRefById (const std::string &id, const Ice::Current &) const override |
EntityRefBasePtr | getEntityRefByName (const std::string &name, const Ice::Current &c) const override |
::Ice::Identity | getIceId (const ::Ice::Current &=Ice::emptyCurrent) const override |
IdEntityMap | getIdEntityMap (const ::Ice::Current &=Ice::emptyCurrent) const override |
std::string | getObjectTypeId (const ::Ice::Current &=Ice::emptyCurrent) const override |
NameList | getReadCollectionsNS (const ::Ice::Current &=Ice::emptyCurrent) const override |
std::string | getSegmentName (const ::Ice::Current &=Ice::emptyCurrent) const override |
std::string | getWriteCollectionNS (const ::Ice::Current &=Ice::emptyCurrent) const override |
bool | hasEntityById (const std::string &entityId, const Ice::Current &=Ice::emptyCurrent) const override |
bool | hasEntityByIdThreadUnsafe (const std::string &entityId) const |
bool | hasEntityByName (const std::string &entityName, const Ice::Current &=Ice::emptyCurrent) const override |
bool | hasEntityByNameThreadUnsafe (const std::string &entityName) const |
PersistentEntitySegment (CollectionInterfacePrx entityCollection, Ice::CommunicatorPtr ic, bool useMongoIds=true) | |
void | print (const ::Ice::Current &=Ice::emptyCurrent) const override |
void | removeAllEntities (const ::Ice::Current &c=Ice::emptyCurrent) override |
removeAllEntities collects all entities managed by this memory segment and removes them from the segment More... | |
void | removeEntity (const ::std::string &entityId, const ::Ice::Current &=Ice::emptyCurrent) override |
removeEntity removes an entity with the ID entityId More... | |
virtual void | removeEntityThreadUnsafe (const ::std::string &entityId) |
void | setEntityAttribute (const std::string &entityId, const EntityAttributeBasePtr &attribute, const Ice::Current &) override |
void | setEntityAttributes (const std::string &entityId, const EntityAttributeList &attributeMap, const Ice::Current &) override |
void | setParentMemory (const MemoryInterfacePtr &memory, const Ice::Current &) override |
void | setSingleRWCollection (const CollectionInterfacePrx &coll, const ::Ice::Current &=Ice::emptyCurrent) override |
void | setWriteCollection (const CollectionInterfacePrx &coll, const ::Ice::Current &=Ice::emptyCurrent) override |
Ice::Int | size (const ::Ice::Current &=Ice::emptyCurrent) const override |
size counts the number of memoryx::Entity instances contained available reachable throuhg memoryx::PersistentEntitySegment::readCollections. More... | |
void | updateEntity (const ::std::string &entityId, const EntityBasePtr &update, const ::Ice::Current &=Ice::emptyCurrent) override |
virtual void | updateEntityThreadUnsafe (const ::std::string &entityId, const EntityBasePtr &update) |
std::string | upsertEntity (const std::string &entityId, const EntityBasePtr &entity, const ::Ice::Current &=Ice::emptyCurrent) override |
std::string | upsertEntityByName (const std::string &entityName, const EntityBasePtr &entity, const ::Ice::Current &=Ice::emptyCurrent) override |
virtual std::string | upsertEntityByNameThreadUnsafe (const std::string &entityName, const EntityBasePtr &entity) |
EntityIdList | upsertEntityList (const EntityBaseList &entityList, const Ice::Current &=Ice::emptyCurrent) override |
virtual EntityIdList | upsertEntityListThreadUnsafe (const EntityBaseList &entityList) |
virtual std::string | upsertEntityThreadUnsafe (const std::string &entityId, const EntityBasePtr &entity) |
~PersistentEntitySegment () override | |
![]() | |
EntityBaseList | getEntityWithChildrenById (const std::string &id, bool includeMetaEntities, const Ice::Current &c=Ice::emptyCurrent) const override |
EntityBaseList | getEntityWithChildrenByName (const std::string &, bool includeMetaEntities, const Ice::Current &c=Ice::emptyCurrent) const override |
std::string | getJSONEntityById (const std::string &id, const Ice::Current &) const override |
ScopedSharedLockPtr | getReadLock (const Ice::Current &c) const |
ScopedUniqueLockPtr | getWriteLock (const Ice::Current &c) const |
bool | keepLockAlive (const std::string &token, const Ice::Current &) override |
SegmentLockBasePtr | lockSegment (const Ice::Current &c) override |
SegmentUtilImplementations () | |
bool | unlockSegment (const SegmentLockBasePtr &lock, const Ice::Current &c) override |
bool | unlockSegmentWithToken (const std::string &token, const Ice::Current &c) override |
Protected Member Functions | |
EntityBasePtr | deserializeEntity (const DBStorableData &dbEntity) const |
void | setSegmentName (const std::string &segmentName, const ::Ice::Current &=Ice::emptyCurrent) override |
![]() | |
void | keepAliveCheck () |
Protected Attributes | |
MongoSerializerPtr | dbSerializer |
std::recursive_mutex | dbSerializerMutex |
MemoryInterfacePtr | parentMemory |
CollectionPrxList | readCollections |
std::string | segmentName |
bool | useMongoIds |
CollectionInterfacePrx | writeCollection |
![]() | |
armarx::PeriodicTask< SegmentUtilImplementations >::pointer_type | keepAliveCheckTask |
IceUtil::Time | keepAliveTimestamp |
std::mutex | keepAliveTimestampMutex |
std::string | lockToken |
std::mutex | mutex |
ScopedSharedLockPtr | readLock |
std::shared_mutex | segmentMutex |
EntityMemorySegmentInterfacePrx | selfProxy |
std::mutex | tokenMutex |
ScopedUniqueLockPtr | writeLock |
Additional Inherited Members | |
![]() | |
using | ScopedSharedLock = std::unique_lock< std::shared_mutex > |
using | ScopedSharedLockPtr = std::unique_ptr< ScopedSharedLock > |
using | ScopedUniqueLock = std::unique_lock< std::shared_mutex > |
using | ScopedUniqueLockPtr = std::unique_ptr< ScopedSharedLock > |
The PersistentEntitySegment class is the base class for all memory segments containing memoryx::Entity instances to be stored permanently in MongoDB.
Definition at line 105 of file PersistentEntitySegment.h.
PersistentEntitySegment | ( | CollectionInterfacePrx | entityCollection, |
Ice::CommunicatorPtr | ic, | ||
bool | useMongoIds = true |
||
) |
Definition at line 42 of file PersistentEntitySegment.cpp.
|
override |
Definition at line 51 of file PersistentEntitySegment.cpp.
|
override |
addEntity add new entity
and return the newly generated entity ID
entity |
Definition at line 152 of file PersistentEntitySegment.cpp.
|
override |
addEntityList adds all entities contained in \entityList to this segment and returns a list of created entity IDs
Definition at line 247 of file PersistentEntitySegment.cpp.
|
virtual |
Definition at line 254 of file PersistentEntitySegment.cpp.
|
virtual |
Definition at line 159 of file PersistentEntitySegment.cpp.
|
override |
Definition at line 85 of file PersistentEntitySegment.cpp.
|
override |
clear removes all elements from the current memoryx::PersistentEntitySegment::writeCollection
Definition at line 573 of file PersistentEntitySegment.cpp.
|
override |
Definition at line 77 of file PersistentEntitySegment.cpp.
|
protected |
Definition at line 660 of file PersistentEntitySegment.cpp.
|
override |
retrieves Entity Refs that match the query.
The query should be a mongo query like: { "attrs.endNode.value.value.entityId": "54b2a43b43b5d3199e3cb5b3" }
query | |
c |
Definition at line 773 of file PersistentEntitySegment.cpp.
|
override |
getAllEntities returns a list of all entities managed by this memory segment
Definition at line 620 of file PersistentEntitySegment.cpp.
|
override |
Definition at line 593 of file PersistentEntitySegment.cpp.
|
virtual |
Definition at line 600 of file PersistentEntitySegment.cpp.
|
override |
Definition at line 473 of file PersistentEntitySegment.cpp.
|
override |
Definition at line 509 of file PersistentEntitySegment.cpp.
|
override |
Definition at line 401 of file PersistentEntitySegment.cpp.
|
virtual |
Definition at line 410 of file PersistentEntitySegment.cpp.
|
override |
Definition at line 442 of file PersistentEntitySegment.cpp.
|
virtual |
Definition at line 450 of file PersistentEntitySegment.cpp.
|
override |
Definition at line 678 of file PersistentEntitySegment.cpp.
|
override |
Definition at line 699 of file PersistentEntitySegment.cpp.
|
override |
Definition at line 579 of file PersistentEntitySegment.cpp.
|
override |
Definition at line 647 of file PersistentEntitySegment.cpp.
|
override |
Definition at line 146 of file PersistentEntitySegment.cpp.
|
override |
Definition at line 56 of file PersistentEntitySegment.cpp.
|
override |
Definition at line 587 of file PersistentEntitySegment.cpp.
|
override |
Definition at line 121 of file PersistentEntitySegment.cpp.
|
override |
Definition at line 326 of file PersistentEntitySegment.cpp.
bool hasEntityByIdThreadUnsafe | ( | const std::string & | entityId | ) | const |
Definition at line 333 of file PersistentEntitySegment.cpp.
|
override |
Definition at line 368 of file PersistentEntitySegment.cpp.
bool hasEntityByNameThreadUnsafe | ( | const std::string & | entityName | ) | const |
Definition at line 376 of file PersistentEntitySegment.cpp.
|
override |
Definition at line 567 of file PersistentEntitySegment.cpp.
|
override |
removeAllEntities collects all entities managed by this memory segment and removes them from the segment
c |
Definition at line 313 of file PersistentEntitySegment.cpp.
|
override |
removeEntity removes an entity with the ID entityId
entityId |
Definition at line 293 of file PersistentEntitySegment.cpp.
|
virtual |
Definition at line 300 of file PersistentEntitySegment.cpp.
|
override |
Definition at line 720 of file PersistentEntitySegment.cpp.
|
override |
Definition at line 741 of file PersistentEntitySegment.cpp.
|
override |
Definition at line 766 of file PersistentEntitySegment.cpp.
|
overrideprotected |
Definition at line 813 of file PersistentEntitySegment.cpp.
|
override |
Definition at line 137 of file PersistentEntitySegment.cpp.
|
override |
Definition at line 127 of file PersistentEntitySegment.cpp.
|
override |
size counts the number of memoryx::Entity instances contained available reachable throuhg memoryx::PersistentEntitySegment::readCollections.
Definition at line 546 of file PersistentEntitySegment.cpp.
|
override |
Definition at line 270 of file PersistentEntitySegment.cpp.
|
virtual |
Definition at line 279 of file PersistentEntitySegment.cpp.
|
override |
Definition at line 170 of file PersistentEntitySegment.cpp.
|
override |
Definition at line 222 of file PersistentEntitySegment.cpp.
|
virtual |
Definition at line 231 of file PersistentEntitySegment.cpp.
|
override |
Definition at line 194 of file PersistentEntitySegment.cpp.
|
virtual |
Definition at line 202 of file PersistentEntitySegment.cpp.
|
virtual |
Definition at line 179 of file PersistentEntitySegment.cpp.
|
protected |
Definition at line 260 of file PersistentEntitySegment.h.
|
mutableprotected |
Definition at line 261 of file PersistentEntitySegment.h.
|
protected |
Definition at line 254 of file PersistentEntitySegment.h.
|
protected |
Definition at line 256 of file PersistentEntitySegment.h.
|
protected |
Definition at line 266 of file PersistentEntitySegment.h.
|
protected |
Definition at line 263 of file PersistentEntitySegment.h.
|
protected |
Definition at line 259 of file PersistentEntitySegment.h.