25 const std::string& defaultCoreSegmentName =
"",
27 int defaultMaxHistorySize = 10,
33 const std::string& prefix =
"")
override;
34 virtual void init()
override;
40 template <
class FunctionT>
51 template <
class FunctionT>
55 return segmentPtr->doLockedExclusive(function);
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)
auto doLocked(FunctionT &&function) const
Execute function under shared (read) lock.
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()
auto doLockedExclusive(FunctionT &&function)
Execute function under exclusive (write) lock.
std::vector< PredictionEngine > predictionEngines
void setDefaultMaxHistorySize(int64_t maxHistorySize)
virtual void init() override
aron::type::ObjectPtr aronType
void setDefaultCoreSegmentName(const std::string &coreSegmentName)
A base class for memory servers to manage their segments.
MemoryToIceAdapter & iceMemory
server::wm::CoreSegment * segmentPtr
std::shared_ptr< Object > ObjectPtr
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.
size_t truncateMaxBatchSize
Max snapshots to remove per truncate() call (0 for unlimited)
size_t unlimitedHistoryWarningThreshold
Threshold for warning about unlimited history growth (0 to disable)