|
|
Base class of memory server components. More...
#include <RobotAPI/libraries/armem/server/plugins/ReadWritePluginUser.h>
Inheritance diagram for ReadWritePluginUser:Public Member Functions | |
| data::AddSegmentsResult | addSegments (const data::AddSegmentsInput &input, bool addCoreSegments) |
| virtual data::AddSegmentsResult | addSegments (const data::AddSegmentsInput &input, const Ice::Current &=Ice::emptyCurrent) override |
| virtual void | clearWorkingMemory (const Ice::Current &=Ice::emptyCurrent) override |
| Clears the working memory usings its clear feature. | |
| virtual data::CommitResult | commit (const data::Commit &commit, const Ice::Current &=Ice::emptyCurrent) override |
| virtual dto::DirectlyStoreResult | directlyStore (const dto::DirectlyStoreInput &, const Ice::Current &=Ice::emptyCurrent) override |
| virtual armem::actions::ExecuteActionOutputSeq | executeActions (const armem::actions::ExecuteActionInputSeq &inputs) |
| virtual armem::actions::ExecuteActionOutputSeq | executeActions (const armem::actions::ExecuteActionInputSeq &inputs, const ::Ice::Current &) override |
| virtual armem::actions::GetActionsOutputSeq | getActions (const armem::actions::GetActionsInputSeq &inputs) |
| virtual armem::actions::GetActionsOutputSeq | getActions (const armem::actions::GetActionsInputSeq &inputs, const ::Ice::Current &) override |
| virtual armem::prediction::data::EngineSupportMap | getAvailableEngines () |
| virtual armem::prediction::data::EngineSupportMap | getAvailableEngines (const ::Ice::Current &) override |
| virtual dto::RecordStatusResult | getRecordStatus (const Ice::Current &=Ice::emptyCurrent) override |
| virtual armem::structure::data::GetServerStructureResult | getServerStructure (const Ice::Current &=Ice::emptyCurrent) override |
| MemoryToIceAdapter & | iceAdapter () |
| bool | loadExportIntoWM (const std::string &directory, const std::string &exportName, const std::string &memoryName, const std::vector< std::string > &coreSegmentName={}, bool addNonExistingCoreSegments=false, int amountOfSnapshotsPerSegmentToLoad=-1) |
| loads data from a specified LTM export into the currently running WM (needs to already have the CoreSegments) | |
| bool | loadExportIntoWM (const std::string &export_path, const std::string &memoryName, const std::vector< std::string > &coreSegmentName={}, bool addNonExistingCoreSegments=false, int amountOfSnapshotsPerSegmentToLoad=-1, const ::Ice::Current &=Ice::emptyCurrent) override |
| loads data from a specified LTM export into the currently running WM (needs to already have the CoreSegments) | |
| virtual void | loadLTMintoWM (bool complete, const ::Ice::Current &) override |
| Loads the data of the LTMs into the WM. | |
| server::ltm::Memory & | longtermMemory () |
| Plugin & | memoryServerPlugin () |
| virtual armem::prediction::data::PredictionResultSeq | predict (const armem::prediction::data::PredictionRequestSeq &requests) |
| virtual armem::prediction::data::PredictionResultSeq | predict (const armem::prediction::data::PredictionRequestSeq &requests, const ::Ice::Current &) override |
| virtual armem::query::data::Result | query (const armem::query::data::Input &input, const Ice::Current &=Ice::emptyCurrent) override |
| virtual armem::query::data::Result | queryLTM (const armem::query::data::Input &input, bool storeIntoWM, const Ice::Current &=Ice::emptyCurrent) override |
| Queries only the LTMs of the memory server. | |
| ReadWritePluginUser () | |
| armem::CommitResult | reloadFromLTM () |
| void | setMemoryName (const std::string &memoryName) |
| virtual dto::StartRecordResult | startRecord (const dto::StartRecordInput &startRecordInput, const Ice::Current &=Ice::emptyCurrent) override |
| virtual dto::StopRecordResult | stopRecord (const Ice::Current &=Ice::emptyCurrent) override |
| virtual void | useDiskPersistenceStrategy (const std::string &identifier, const std::string &exportName, const std::string &exportPath, bool overwritePrevStrategy, const ::Ice::Current &) override |
| Use a disk persistence strategy for storing the wm as ltm Uses the disk as ltm sink. | |
| virtual void | useMongoDbPersistenceStrategy (const std::string &identifier, const std::string &exportName, bool overwritePrevStrategy, const ::Ice::Current &) override |
| Use a mongodb persistence strategy for storing the wm as ltm Uses a mongodb as ltm sink. | |
| virtual void | useRestPersistenceStrategy (const std::string &identifier, const std::string &exportName, const std::string &host, int port, bool overwritePrevStrategy, const ::Ice::Current &) override |
| Use a rest persistence strategy for storing the wm as ltm Uses a rest server as ltm sink. | |
| server::wm::Memory & | workingMemory () |
| virtual | ~ReadWritePluginUser () override |
Public Member Functions inherited from ManagedIceObject | |
| void | enableProfiler (bool enable) |
| setProfiler allows setting ManagedIceObject::profiler to a new instance (if the new instance is actually not a null pointer) | |
| std::string | generateSubObjectName (const std::string &subObjectName) |
| Generates a unique name for a sub object from a general name. | |
| ArmarXManagerPtr | getArmarXManager () const |
| Returns the ArmarX manager used to add and remove components. | |
| ManagedIceObjectConnectivity | getConnectivity () const |
| Retrieve connectivity of the object (topcis as well as proxies) | |
| virtual std::string | getDefaultName () const =0 |
| Retrieve default name of component. | |
| IceManagerPtr | getIceManager () const |
| Returns the IceManager. | |
| VariantBasePtr | getMetaInfo (const std::string &id) |
| StringVariantBaseMap | getMetaInfoMap () const |
| std::string | getName () const |
| Retrieve name of object. | |
| Ice::ObjectAdapterPtr | getObjectAdapter () const |
| Returns object's Ice adapter. | |
| ArmarXObjectSchedulerPtr | getObjectScheduler () const |
| PeriodicTaskPtr | getPeriodicTask (const std::string &name) |
| Profiler::ProfilerPtr | getProfiler () const |
| getProfiler returns an instance of armarx::Profiler | |
| template<class ProxyTarg, class... Args> | |
| void | getProxy (const char *name, IceInternal::ProxyHandle< ProxyTarg > &proxy, Args &&... args) |
| template<class ProxyType> | |
| ProxyType | getProxy (const std::string &name, bool addToDependencies=false, const std::string &endpoints="", bool throwOnProxyError=true) |
| Retrieves a proxy object. | |
| template<class ProxyTarg, class... Args> | |
| void | getProxy (const std::string &name, IceInternal::ProxyHandle< ProxyTarg > &proxy, Args &&... args) |
| template<class ProxyTarg, class... Args> | |
| void | getProxy (IceInternal::ProxyHandle< ProxyTarg > &proxy, const char *name, Args &&... args) |
| template<class ProxyTarg, class... Args> | |
| void | getProxy (IceInternal::ProxyHandle< ProxyTarg > &proxy, const std::string &name, Args &&... args) |
Assigns a proxy to proxy. | |
| Ice::ObjectPrx | getProxy (long timeoutMs=0, bool waitForScheduler=true) const |
| Returns the proxy of this object (optionally it waits for the proxy) | |
| template<class Prx> | |
| Prx | getProxy (long timeoutMs=0, bool waitForScheduler=true) const |
| template<class ProxyType> | |
| void | getProxy (ProxyType &proxy, const char *name, bool addToDependencies=false, const std::string &endpoints="", bool throwOnProxyError=true) |
| Overload to allow using string literals as name (solve ambiguous overload). | |
| template<class Prx> | |
| void | getProxy (Prx &prx, long timeoutMs=0, bool waitForScheduler=true) const |
| int | getState () const |
| Retrieve current state of the ManagedIceObject. | |
| template<class TopicProxyType> | |
| TopicProxyType | getTopic (const std::string &name) |
| Returns a proxy of the specified topic. | |
| template<class TopicProxyType> | |
| void | getTopic (TopicProxyType &topicProxy, const std::string &name) |
Assigns a proxy of the specified topic to topicProxy. | |
| std::vector< std::string > | getUnresolvedDependencies () const |
| returns the names of all unresolved dependencies | |
| ManagedIceObject (ManagedIceObject const &other) | |
| void | offeringTopic (const std::string &name) |
| Registers a topic for retrival after initialization. | |
| void | preambleGetTopic (std::string const &name) |
| void | setMetaInfo (const std::string &id, const VariantBasePtr &value) |
| Allows to set meta information that can be queried live via Ice interface on the ArmarXManager. | |
| void | startPeriodicTask (const std::string &uniqueName, std::function< void(void)> f, int periodMs, bool assureMeanInterval=false, bool forceSystemTime=true) |
| bool | stopPeriodicTask (const std::string &name) |
| bool | unsubscribeFromTopic (const std::string &name) |
| Unsubscribe from a topic. | |
| bool | usingProxy (const std::string &name, const std::string &endpoints="") |
| Registers a proxy for retrieval after initialization and adds it to the dependency list. | |
| void | usingTopic (const std::string &name, bool orderedPublishing=false) |
| Registers a proxy for subscription after initialization. | |
| void | waitForObjectScheduler () |
| Waits until the ObjectScheduler could resolve all dependencies. | |
| void | waitForProxy (std::string const &name, bool addToDependencies) |
Public Member Functions inherited from Logging | |
| SpamFilterDataPtr | deactivateSpam (float deactivationDurationSec=10.0f, const std::string &identifier="", bool deactivate=true) const |
| disables the logging for the current line for the given amount of seconds. | |
| MessageTypeT | getEffectiveLoggingLevel () const |
| Logging () | |
| void | setLocalMinimumLoggingLevel (MessageTypeT level) |
| With setLocalMinimumLoggingLevel the minimum verbosity-level of log-messages can be set. | |
| void | setTag (const LogTag &tag) |
| void | setTag (const std::string &tagName) |
| virtual | ~Logging () |
Public Member Functions inherited from PluginUser | |
| MemoryNameSystem & | memoryNameSystem () |
| const MemoryNameSystem & | memoryNameSystem () const |
Additional Inherited Members | |
Public Types inherited from ManagedIceObject | |
| using | PeriodicTaskPtr = IceUtil::Handle<SimplePeriodicTask<std::function<void(void)>>> |
Static Public Member Functions inherited from ManagedIceObject | |
| static std::string | generateSubObjectName (const std::string &superObjectName, const std::string &subObjectName) |
| Generates a unique name for a sub object from a general name and unique name. | |
| static std::string | GetObjectStateAsString (int state) |
Static Public Attributes inherited from ManagedIceObject | |
| static const ManagedIceObjectPtr | NullPtr |
| A nullptr to be used when a const ref to a nullptr is required. | |
Protected Member Functions inherited from ManagedIceObject | |
| template<class PluginT, class... ParamsT> | |
| PluginT * | addPlugin (const std::string prefix="", ParamsT &&... params) |
| template<class PluginT, class... ParamsT> | |
| void | addPlugin (PluginT *&targ, const std::string prefix="", ParamsT &&... params) |
| template<class PluginT, class... ParamsT> | |
| void | addPlugin (std::experimental::observer_ptr< PluginT > &targ, const std::string prefix="", ParamsT &&... params) |
| Ice::CommunicatorPtr | getCommunicator () const |
| std::unique_ptr< ManagedIceObjectPlugin > & | getPluginPointer (std::type_info const &type, std::string const &prefix) |
| ManagedIceObject () | |
| Protected default constructor. | |
| virtual void | onConnectComponent ()=0 |
| Pure virtual hook for the subclass. | |
| virtual void | onDisconnectComponent () |
| Hook for subclass. | |
| virtual void | onExitComponent () |
| Hook for subclass. | |
| virtual void | onInitComponent ()=0 |
| Pure virtual hook for the subclass. | |
| virtual void | postOnConnectComponent () |
| virtual void | postOnDisconnectComponent () |
| virtual void | postOnExitComponent () |
| virtual void | postOnInitComponent () |
| virtual void | preOnConnectComponent () |
| virtual void | preOnDisconnectComponent () |
| virtual void | preOnExitComponent () |
| virtual void | preOnInitComponent () |
| bool | removeProxyDependency (const std::string &name) |
| This function removes the dependency of this object on the in parameter name specified object. | |
| void | setName (std::string name) |
| Override name of well-known object. | |
| void | terminate () |
| Initiates termination of this IceManagedObject. | |
| ~ManagedIceObject () override | |
Protected Member Functions inherited from Logging | |
| bool | checkLogLevel (MessageTypeT level) const |
| const LogSenderPtr & | getLogSender () const |
| Retrieve log sender. | |
| LogSenderPtr | loghelper (const char *file, int line, const char *function) const |
Protected Member Functions inherited from ListeningPluginUser | |
| ListeningPluginUser () | |
| virtual void | memoryUpdated (const std::vector< data::MemoryID > &updatedSnapshotIDs, const Ice::Current &) override |
| virtual | ~ListeningPluginUser () override |
Protected Member Functions inherited from PluginUser | |
| PluginUser () | |
| virtual | ~PluginUser () override |
Protected Attributes inherited from Logging | |
| MessageTypeT | minimumLoggingLevel |
| SpamFilterDataPtr | spamFilter |
| LogTag | tag |
Base class of memory server components.
Implements the server ice interfaces using the ice adapter of the plugin.
Definition at line 20 of file ReadWritePluginUser.h.
Definition at line 20 of file ReadWritePluginUser.cpp.
|
overridevirtual |
Definition at line 25 of file ReadWritePluginUser.cpp.
| data::AddSegmentsResult addSegments | ( | const data::AddSegmentsInput & | input, |
| bool | addCoreSegments ) |
Definition at line 45 of file ReadWritePluginUser.cpp.
|
overridevirtual |
|
overridevirtual |
Clears the working memory usings its clear feature.
Definition at line 60 of file ReadWritePluginUser.cpp.
|
overridevirtual |
|
overridevirtual |
Definition at line 97 of file ReadWritePluginUser.cpp.
|
virtual |
Definition at line 172 of file ReadWritePluginUser.cpp.
|
overridevirtual |
Definition at line 165 of file ReadWritePluginUser.cpp.
|
virtual |
Definition at line 158 of file ReadWritePluginUser.cpp.
|
overridevirtual |
Definition at line 151 of file ReadWritePluginUser.cpp.
|
virtual |
Definition at line 185 of file ReadWritePluginUser.cpp.
|
overridevirtual |
Definition at line 198 of file ReadWritePluginUser.cpp.
|
overridevirtual |
Definition at line 119 of file ReadWritePluginUser.cpp.
|
overridevirtual |
Definition at line 89 of file ReadWritePluginUser.cpp.
| MemoryToIceAdapter & iceAdapter | ( | ) |
Definition at line 138 of file ReadWritePluginUser.cpp.
| bool loadExportIntoWM | ( | const std::string & | directory, |
| const std::string & | exportName, | ||
| const std::string & | memoryName, | ||
| const std::vector< std::string > & | coreSegmentName = {}, | ||
| bool | addNonExistingCoreSegments = false, | ||
| int | amountOfSnapshotsPerSegmentToLoad = -1 ) |
loads data from a specified LTM export into the currently running WM (needs to already have the CoreSegments)
This function loads an LTM specified by directory, exportName and memoryName into the current WM. It handles if the path is not a correct LTM export. If you do this multiple times the LTM is always appended to the WM ,meaning you can load several LTM exports into the same WM. This does not exclude the maxHistory size from working! If you load to much snapshots they will still be discarded.
| directory | path (as string) to the export directory |
| exportName | name of the export folder (often 'MemoryExport') |
| memoryName | name of the memory server (e.g. 'Object', 'Skill') |
| coreSegmentNames | list (std::vector) of names of core segments which should be loaded, keep empty or do not provide if you want to load all core segments |
| addNonExistingCoreSegments | (not yet supported) |
| amountOfSnapshotsPerSegmentToLoad | amount of snapshots loaded (per core segment); is the same for all core segments |
Definition at line 362 of file ReadWritePluginUser.cpp.
|
override |
loads data from a specified LTM export into the currently running WM (needs to already have the CoreSegments)
This function loads an LTM specified by export_path and memoryName into the current WM. It handles if the path is not a correct LTM export. If you do this multiple times the LTM is always appended to the WM ,meaning you can load several LTM exports into the same WM. This does not exclude the maxHistory size from working! If you load to much snapshots they will still be discarded.
| export_path | path to the export folder (needs to be a string with '/' as delimiter) |
| memoryName | name of the memory server (e.g. 'Object', 'Skill') |
| coreSegmentNames | list (std::vector) of names of core segments which should be loaded, keep empty or do not provide if you want to load all core segments |
| addNonExistingCoreSegments | (not yet supported) |
| amountOfSnapshotsPerSegmentToLoad | amount of snapshots loaded (per core segment); is the same for all core segments |
Definition at line 298 of file ReadWritePluginUser.cpp.
|
overridevirtual |
Loads the data of the LTMs into the WM.
Definition at line 284 of file ReadWritePluginUser.cpp.
| ltm::Memory & longtermMemory | ( | ) |
Definition at line 144 of file ReadWritePluginUser.cpp.
| Plugin & memoryServerPlugin | ( | ) |
Definition at line 126 of file ReadWritePluginUser.cpp.
|
virtual |
Definition at line 179 of file ReadWritePluginUser.cpp.
|
overridevirtual |
Definition at line 191 of file ReadWritePluginUser.cpp.
|
overridevirtual |
Definition at line 73 of file ReadWritePluginUser.cpp.
|
overridevirtual |
Queries only the LTMs of the memory server.
| storeIntoWM | if set, the result is also stored into the working memory no matter how the recording mode is set. |
Definition at line 80 of file ReadWritePluginUser.cpp.
| armem::CommitResult reloadFromLTM | ( | ) |
Definition at line 204 of file ReadWritePluginUser.cpp.
| void setMemoryName | ( | const std::string & | memoryName | ) |
Definition at line 30 of file ReadWritePluginUser.cpp.
|
overridevirtual |
Definition at line 104 of file ReadWritePluginUser.cpp.
|
overridevirtual |
Definition at line 112 of file ReadWritePluginUser.cpp.
|
overridevirtual |
Use a disk persistence strategy for storing the wm as ltm Uses the disk as ltm sink.
| identifier | unique strategy name |
| exportName | memory export name |
| exportPath | path where the export is stored on disk |
| overwritePrevStrategy | if set the ltm only contains this new strategy, if false it will be appended to the other(s) |
Definition at line 245 of file ReadWritePluginUser.cpp.
|
overridevirtual |
Use a mongodb persistence strategy for storing the wm as ltm Uses a mongodb as ltm sink.
NOTE (TODO): Not implemented
Definition at line 275 of file ReadWritePluginUser.cpp.
|
overridevirtual |
Use a rest persistence strategy for storing the wm as ltm Uses a rest server as ltm sink.
| identifier | unique strategy name |
| exportName | memory export name |
| host | name of the host where the rest server is running |
| port | network port at which the rest server is running |
| overwritePrevStrategy | if set the ltm only contains this new strategy, if false it will be appended to the other(s) |
Definition at line 213 of file ReadWritePluginUser.cpp.
| wm::Memory & workingMemory | ( | ) |
Definition at line 132 of file ReadWritePluginUser.cpp.