|
#include <RobotAPI/libraries/armem/server/ltm/CoreSegment.h>
Public Member Functions | |
CoreSegment (const detail::mixin::Path &, const detail::mixin::MongoDBSettings &, const std::string &, const MemoryID &, const std::shared_ptr< Processors > &) | |
std::shared_ptr< ProviderSegment > | findProviderSegment (const std::string &) const override |
find provider segment More... | |
bool | forEachProviderSegment (std::function< void(ProviderSegment &)> func) const override |
iterate over all provider segments of this ltm More... | |
bool | hasProviderSegment (const std::string &name) const override |
check if provider segment exists More... | |
Public Member Functions inherited from CoreSegmentBase< ProviderSegment > | |
aron::type::ObjectPtr | aronType () const |
get aron type More... | |
Statistics | getStatistics () const |
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 More... | |
void | loadLatestNReferences (int n, armem::wm::CoreSegment &coreSeg) |
MemoryItem (const std::string &exportName, const MemoryID &) | |
MemoryItem (const std::string &exportName, const MemoryID &, const std::shared_ptr< Processors > &) | |
void | resetStatistics () |
statistics More... | |
void | resolve (armem::wm::CoreSegment &coreSeg) |
convert the references of the input into a wm::Memory More... | |
void | store (const armem::wm::CoreSegment &coreSeg) |
encode the content of a wm::Memory and store More... | |
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 |
Public Member Functions inherited from DiskMemoryItemMixin | |
void | createPropertyDefinitions (PropertyDefinitionsPtr &defs, const std::string &prefix) |
DiskMemoryItemMixin ()=default | |
DiskMemoryItemMixin (const Path &memoryParentPath, const std::string &exportName, const armem::MemoryID &id) | |
void | ensureFileExists (const std::string &filename, bool createIfNotExistent=false) const |
void | ensureFullPathExists (bool createIfNotExistent=false) const |
void | ensureMemoryBasePathExists (bool createIfNotExistent=false) const |
bool | fileExists (const std::string &filename) const |
bool | fullPathExists () const |
std::vector< Path > | getAllDirectories () const |
std::vector< Path > | getAllFiles () const |
Path | getFullPath () const |
Path | getMemoryBasePath () const |
bool | memoryBasePathExists () const |
std::vector< unsigned char > | readDataFromFile (const std::string &filename) const |
void | writeDataToFile (const std::string &filename, const std::vector< unsigned char > &data) const |
virtual | ~DiskMemoryItemMixin ()=default |
Public Member Functions inherited from MongoDBStorageMixin | |
std::optional< mongocxx::collection > | collectionExists () const |
std::optional< mongocxx::database > | databaseExists () const |
std::optional< nlohmann::json > | documentExists () const |
std::optional< nlohmann::json > | documentExists (const std::string &id) const |
mongocxx::collection | ensureCollectionExists (bool createIfNotExistent=false) |
mongocxx::database | ensureDatabaseExists (bool createIfNotExistent=false) |
nlohmann::json | ensureDocumentExists (bool createIfNotExistent=false) |
nlohmann::json | ensureDocumentExists (const std::string &id, bool createIfNotExistent=false) |
mongocxx::collection | ensurePreviousCollectionExists (bool createIfNotExistent=false) |
std::vector< nlohmann::json > | getAllDocuments () const |
std::string | getCollectionName () const |
std::string | getDatabaseName () const |
std::string | getDocumentName () const |
std::string | getPreviousCollectionName () const |
MongoDBSettings | getSettings () const |
MongoDBStorageMixin ()=default | |
MongoDBStorageMixin (const MongoDBSettings &settings, const std::string &exportName, const armem::MemoryID &id) | |
std::optional< mongocxx::collection > | previousCollectionExists () const |
nlohmann::json | readDataFromDocument () const |
nlohmann::json | readDataFromDocument (const std::string &id) const |
void | writeDataToDocument (const nlohmann::json &data) |
void | writeDataToDocument (const std::string &id, const nlohmann::json &data) |
void | writeForeignKeyToPreviousDocument () |
void | writeForeignKeyToPreviousDocument (const nlohmann::json &type) |
Protected Member Functions | |
void | _loadAllReferences (armem::wm::CoreSegment &) override |
void | _loadLatestNReferences (int n, armem::wm::CoreSegment &c) override |
void | _resolve (armem::wm::CoreSegment &) override |
void | _store (const armem::wm::CoreSegment &) override |
Protected Member Functions inherited from MemoryItem | |
virtual void | _setExportName (const std::string &) |
virtual void | _setMemoryID (const MemoryID &) |
Protected Member Functions inherited from DiskMemoryItemMixin | |
Path | addDateToMemoryBasePath (const std::filesystem::path &n) const |
void | configureMixin (const nlohmann::json &json) |
void | setMixinExportName (const std::string &n) |
void | setMixinMemoryID (const MemoryID &n) |
Protected Member Functions inherited from MongoDBStorageMixin | |
void | configureMixin (const nlohmann::json &json) |
configuration More... | |
void | connect () const |
bool | connected () const |
void | setHost (const std::string &) |
void | setMixinExportName (const std::string &n) |
void | setMixinMemoryID (const armem::MemoryID &) |
setter More... | |
void | setPassword (const std::string &) |
void | setPort (const unsigned int) |
void | setUser (const std::string &) |
void | start () |
start More... | |
void | stop () |
Additional Inherited Members | |
Public Types inherited from CoreSegmentBase< ProviderSegment > | |
using | ProviderSegmentT = ProviderSegment |
Static Public Member Functions inherited from CoreSegmentBase< ProviderSegment > | |
static std::string | getLevelName () |
get level name More... | |
Static Public Attributes inherited from DiskMemoryItemMixin | |
static const int | DEPTH_TO_DATA_FILES |
Protected Attributes inherited from CoreSegmentBase< ProviderSegment > | |
std::recursive_mutex | ltm_mutex |
Statistics | statistics |
Protected Attributes inherited from MemoryItem | |
std::shared_ptr< Processors > | processors |
Static Protected Attributes inherited from DiskMemoryItemMixin | |
static const constexpr char * | DATA_FILENAME = "data.aron" |
static const constexpr char * | MEMORY_EXPORT_SUFFIX = "_" |
static const constexpr char * | METADATA_FILENAME = "metadata.aron" |
static const constexpr char * | TYPE_FILENAME = "type.aron" |
Static Protected Attributes inherited from MongoDBStorageMixin | |
static const constexpr char * | DATA = "_data" |
static const constexpr char * | FOREIGN_KEY = "_foreign_key" |
static const constexpr char * | ID = "_id" |
static const constexpr char * | METADATA = "_metadata" |
static const constexpr char * | TYPE = "_type" |
Definition at line 13 of file CoreSegment.h.
CoreSegment | ( | const detail::mixin::Path & | p, |
const detail::mixin::MongoDBSettings & | s, | ||
const std::string & | exportName, | ||
const MemoryID & | id, | ||
const std::shared_ptr< Processors > & | filters | ||
) |
Definition at line 10 of file CoreSegment.cpp.
|
overrideprotectedvirtual |
Implements CoreSegmentBase< ProviderSegment >.
Definition at line 82 of file CoreSegment.cpp.
|
overrideprotectedvirtual |
Implements CoreSegmentBase< ProviderSegment >.
Definition at line 111 of file CoreSegment.cpp.
|
overrideprotectedvirtual |
Implements CoreSegmentBase< ProviderSegment >.
Definition at line 138 of file CoreSegment.cpp.
|
overrideprotectedvirtual |
Implements CoreSegmentBase< ProviderSegment >.
Definition at line 158 of file CoreSegment.cpp.
|
overridevirtual |
find provider segment
Implements CoreSegmentBase< ProviderSegment >.
Definition at line 65 of file CoreSegment.cpp.
|
overridevirtual |
iterate over all provider segments of this ltm
Implements CoreSegmentBase< ProviderSegment >.
Definition at line 24 of file CoreSegment.cpp.
|
overridevirtual |
check if provider segment exists
Implements CoreSegmentBase< ProviderSegment >.
Definition at line 46 of file CoreSegment.cpp.