Go to the documentation of this file.
21 #include <RobotAPI/libraries/armem/server/test/ForgettingExperiments.h>
27 template <
class _CoreSegmentT>
88 processors->resetFilterStatisticsForNewEpisode();
91 ARMARX_INFO <<
"Enabling LTM " <<
id().
str() <<
" at " << now.toDateTimeString();
108 ARMARX_INFO <<
"Disabling LTM " <<
id().
str() <<
" at " << now.toDateTimeString();
204 <<
"Ignoring to put a Memory into the LTM because it got filtered.";
228 virtual std::unique_ptr<CoreSegmentT>
findCoreSegment(
const std::string&)
const = 0;
281 std::map<std::string, processor::SnapshotFilter::FilterStatistics>
287 auto stats =
processors->getSnapshotFilterStatistics();
290 catch (InvalidArgumentException& e)
298 std::map<std::string, processor::SnapshotFilter::FilterStatistics> emptyStatistics;
299 return emptyStatistics;
351 "{ \"SnapshotFrequencyFilter\": {\"WaitingTimeInMsForFilter\" : 50}, "
352 "\"PngConverter\": {}, \"ExrConverter\": {}}";
Statistics getStatistics() const
#define TIMING_START(name)
virtual void _resolve(armem::wm::Memory &memory)=0
armarx::core::time::DateTime firstStopped
ReaderT::InputType T & ret
std::shared_ptr< Processors > processors
void loadLatestNReferences(int n, armem::wm::Memory &memory)
void disable()
disable this LTM
virtual std::unique_ptr< CoreSegmentT > findCoreSegment(const std::string &) const =0
find core segment
armarx::core::time::DateTime lastStarted
std::string coreSegmentsToLoad
virtual void _loadAllReferences(armem::wm::Memory &memory)=0
std::string str(bool escapeDelimiters=true) const
Get a string representation of this memory ID.
armarx::core::time::DateTime firstStarted
_CoreSegmentT CoreSegmentT
struct armarx::armem::server::ltm::detail::MemoryBase::Properties p
std::string configuration_on_startup
static std::string getLevelName()
get level name1
Brief description of class memory.
MemoryBase(const std::string &exportName, const MemoryID &id)
long recordedCoreSegments
#define TIMING_END_STREAM(name, os)
Interface functions for the longterm memory classes.
virtual bool hasCoreSegment(const std::string &) const =0
check if core segment exists
void enable()
enable this LTM
SpamFilterDataPtr deactivateSpam(SpamFilterDataPtr const &spamFilter, float deactivationDurationSec, const std::string &identifier, bool deactivate)
void resolve(armem::wm::Memory &memory)
convert the references of the input into a wm::Memory
virtual void _configure(const nlohmann::json &)
configuration
void loadAllAndResolve(armem::wm::Memory &memory)
virtual void resetStatistics()
statistics
void store(const armem::server::wm::Memory &serverMemory)
append a wm::Memory instance to the ltm
virtual void _loadOnStartup()=0
std::recursive_mutex ltm_mutex
armem::wm::Memory loadLatestNReferences(int n)
Client-side working memory.
virtual bool forEachCoreSegment(std::function< void(CoreSegmentT &)> func) const =0
iterate over all core segments of this ltm
int maxAmountOfSnapshotsLoaded
armem::wm::Memory loadAllAndResolve()
return the full ltm as a wm::Memory and resolves the references the ltm may be huge,...
virtual void createPropertyDefinitions(PropertyDefinitionsPtr &defs, const std::string &prefix)
default parameters. Implementation should use the configuration to configure
virtual std::string getExportName() const
std::map< std::string, processor::SnapshotFilter::FilterStatistics > getFilterStatistics()
void startRecording()
enable/disable
void loadAllReferences(armem::wm::Memory &memory)
armarx::core::time::DateTime lastEnabled
Represents a point in time.
armarx::core::time::DateTime lastStopped
armem::wm::Memory loadAllReferences()
return the full ltm as a wm::Memory with only references the ltm may be huge, use with caution
void setExportName(const std::string &n)
virtual void _setExportName(const std::string &)
void loadLatestNReferences(int n, armem::wm::Memory &memory, std::list< std::string > coreSegNames)
virtual void _store(const armem::wm::Memory &memory)=0
Commit toCommit(const ContainerT &container)
Interface functions for the longterm memory classes.
static DateTime Invalid()
virtual void _loadLatestNReferences(int n, armem::wm::Memory &memory)=0
void configure()
initialize config
void store(const armem::wm::Memory &memory)
append a wm::Memory instance to the ltm
virtual void _directlyStore(const armem::wm::Memory &memory)=0