14 const std::string& defaultCoreSegmentName,
16 int defaultMaxHistorySize,
21 properties({defaultCoreSegmentName, defaultMaxHistorySize})
32 const std::string& prefix)
37 prefix +
"seg.CoreSegmentName",
38 "Name of the " +
properties.segmentName +
" core segment.");
41 prefix +
"seg.CoreMaxHistorySize",
42 "Maximal size of the " +
properties.segmentName +
43 " entity histories (-1 for infinite).");
45 defs->optional(
properties.unlimitedHistoryWarningThreshold,
46 prefix +
"seg.UnlimitedHistoryWarningThreshold",
47 "When maxHistorySize is -1 (unlimited) and history exceeds this threshold, "
48 "a warning is emitted. Set to 0 to disable.");
50 defs->optional(
properties.truncateMaxBatchSize,
51 prefix +
"seg.TruncateMaxBatchSize",
52 "Maximum number of snapshots to remove per truncate() call. "
53 "Limits blocking time during cleanup. Set to 0 for unlimited.");
74 segmentPtr->setUnlimitedHistoryWarningThreshold(
85 this->
properties.segmentName = coreSegmentName;
91 this->
properties.maxHistorySize = maxHistorySize;
void setTag(const LogTag &tag)
Helps connecting a Memory server to the Ice interface.
virtual void defineProperties(armarx::PropertyDefinitionsPtr defs, const std::string &prefix="") override
void setAronType(aron::type::ObjectPtr aronType)
void setPredictionEngines(const std::vector< PredictionEngine > &predictionEngines)
virtual ~SpecializedCoreSegment() override
SpecializedCoreSegment(MemoryToIceAdapter &iceMemory, const std::string &defaultCoreSegmentName="", aron::type::ObjectPtr coreSegmentAronType=nullptr, int defaultMaxHistorySize=10, const std::vector< PredictionEngine > &predictionEngines={})
wm::CoreSegment & getCoreSegment()
std::vector< PredictionEngine > predictionEngines
void setDefaultMaxHistorySize(int64_t maxHistorySize)
virtual void init() override
aron::type::ObjectPtr aronType
void setDefaultCoreSegmentName(const std::string &coreSegmentName)
MemoryToIceAdapter & iceMemory
server::wm::CoreSegment * segmentPtr
#define ARMARX_CHECK_NOT_NULL(ptr)
This macro evaluates whether ptr is not null and if it turns out to be false it will throw an Express...
#define ARMARX_INFO
The normal logging level.
#define ARMARX_DEBUG
The logging level for output that is only interesting while debugging.
std::shared_ptr< Object > ObjectPtr
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.