13 const std::string& defaultProviderSegmentName,
14 const std::string& defaultCoreSegmentName,
17 int defaultMaxHistorySize,
18 const std::vector<PredictionEngine>& providerSegmentPredictionEngines,
19 const std::vector<PredictionEngine>& coreSegmentPredictionEngines) :
24 defaultCoreSegmentName,
27 providerSegmentPredictionEngines),
28 properties({defaultProviderSegmentName, defaultMaxHistorySize})
39 const std::string& prefix)
46 prefix +
"seg.ProviderSegmentName",
47 "Name of the " +
properties.segmentName +
" provider segment.");
50 prefix +
"seg.ProviderMaxHistorySize",
51 "Maximal size of the " +
properties.segmentName +
52 " entity histories (-1 for infinite).");
54 defs->optional(
properties.unlimitedHistoryWarningThreshold,
55 prefix +
"seg.ProviderUnlimitedHistoryWarningThreshold",
56 "When maxHistorySize is -1 (unlimited) and history exceeds this threshold, "
57 "a warning is emitted. Set to 0 to disable.");
59 defs->optional(
properties.truncateMaxBatchSize,
60 prefix +
"seg.ProviderTruncateMaxBatchSize",
61 "Maximum number of snapshots to remove per truncate() call. "
62 "Limits blocking time during cleanup. Set to 0 for unlimited.");
85 segmentPtr->setUnlimitedHistoryWarningThreshold(
94 const std::string& providerSegmentName)
96 this->
properties.segmentName = providerSegmentName;
102 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 setDefaultProviderSegmentName(const std::string &providerSegmentName)
SpecializedCoreSegment coreSegment
void setAronType(aron::type::ObjectPtr aronType)
void setPredictionEngines(const std::vector< PredictionEngine > &predictionEngines)
wm::ProviderSegment & getProviderSegment()
std::vector< PredictionEngine > predictionEngines
virtual ~SpecializedProviderSegment() override
void setDefaultMaxHistorySize(int64_t maxHistorySize)
virtual void init() override
aron::type::ObjectPtr aronType
SpecializedProviderSegment(MemoryToIceAdapter &iceMemory, const std::string &defaultProviderSegmentName="", const std::string &defaultCoreSegmentName="", aron::type::ObjectPtr providerSegmentAronType=nullptr, aron::type::ObjectPtr coreSegmentAronType=nullptr, int defaultMaxHistorySize=10, const std::vector< PredictionEngine > &providerSegmentPredictionEngines={}, const std::vector< PredictionEngine > &coreSegmentPredictionEngines={})
MemoryToIceAdapter & iceMemory
server::wm::ProviderSegment * 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.
std::shared_ptr< Object > ObjectPtr
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.