From 816d021ce620fb5db45fba49a74448dd18073347 Mon Sep 17 00:00:00 2001 From: Rainer Kartmann <rainer.kartmann@kit.edu> Date: Mon, 28 Nov 2022 19:46:44 +0100 Subject: [PATCH] Add max history size --- .../armem/server/IndexMemory/IndexMemory.cpp | 17 +++++++++++++---- .../armem/server/IndexMemory/IndexMemory.h | 1 + 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/source/RobotAPI/components/armem/server/IndexMemory/IndexMemory.cpp b/source/RobotAPI/components/armem/server/IndexMemory/IndexMemory.cpp index e380ad6da..dffd3d2cb 100644 --- a/source/RobotAPI/components/armem/server/IndexMemory/IndexMemory.cpp +++ b/source/RobotAPI/components/armem/server/IndexMemory/IndexMemory.cpp @@ -42,6 +42,9 @@ namespace armarx setMemoryName(armem::index::memoryID.memoryName); + defs->optional(properties.maxHistorySize, "p.maxHistorySize", "The maximum size of entity histories.") + .setMin(1); + return defs; } @@ -56,10 +59,16 @@ namespace armarx void IndexMemory::onInitComponent() { - workingMemory().addCoreSegment(armem::index::namedSegmentID.coreSegmentName, - armem::index::arondto::Named::ToAronType()); - workingMemory().addCoreSegment(armem::index::spatialSegmentID.coreSegmentName, - armem::index::arondto::Spatial::ToAronType()); + size_t maxHistorySize = static_cast<size_t>(std::max(1, properties.maxHistorySize)); + workingMemory() + .addCoreSegment(armem::index::namedSegmentID.coreSegmentName, + armem::index::arondto::Named::ToAronType()) + .setMaxHistorySize(maxHistorySize); + + workingMemory() + .addCoreSegment(armem::index::spatialSegmentID.coreSegmentName, + armem::index::arondto::Spatial::ToAronType()) + .setMaxHistorySize(maxHistorySize); } diff --git a/source/RobotAPI/components/armem/server/IndexMemory/IndexMemory.h b/source/RobotAPI/components/armem/server/IndexMemory/IndexMemory.h index f3db3c3d8..b272fcafc 100644 --- a/source/RobotAPI/components/armem/server/IndexMemory/IndexMemory.h +++ b/source/RobotAPI/components/armem/server/IndexMemory/IndexMemory.h @@ -70,6 +70,7 @@ namespace armarx private: struct Properties { + int maxHistorySize = 1024; }; Properties properties; -- GitLab