diff --git a/source/RobotAPI/libraries/armem/client/util/SimpleWriterBase.cpp b/source/RobotAPI/libraries/armem/client/util/SimpleWriterBase.cpp index e5d468c552d96d70d3ef4ae92196cdb714f39163..3d8907a348bad7051e3fc88239f3b816899acd5e 100644 --- a/source/RobotAPI/libraries/armem/client/util/SimpleWriterBase.cpp +++ b/source/RobotAPI/libraries/armem/client/util/SimpleWriterBase.cpp @@ -44,12 +44,6 @@ namespace armarx::armem::client::util } } - std::mutex& - SimpleWriterBase::memoryWriterMutex() - { - return memoryMutex; - } - armem::client::Writer& SimpleWriterBase::memoryWriter() { diff --git a/source/RobotAPI/libraries/armem/client/util/SimpleWriterBase.h b/source/RobotAPI/libraries/armem/client/util/SimpleWriterBase.h index 13a54cc5b213a90e1949f73c1b11de716c0593cc..895376b0a2f3ff1f30fdd070c2e50c62b9aa2968 100644 --- a/source/RobotAPI/libraries/armem/client/util/SimpleWriterBase.h +++ b/source/RobotAPI/libraries/armem/client/util/SimpleWriterBase.h @@ -58,7 +58,6 @@ namespace armarx::armem::client::util virtual std::string propertyPrefix() const = 0; virtual Properties defaultProperties() const = 0; - std::mutex& memoryWriterMutex(); armem::client::Writer& memoryWriter(); @@ -66,7 +65,6 @@ namespace armarx::armem::client::util Properties props; armem::client::Writer memoryWriterClient; - std::mutex memoryMutex; }; } // namespace armarx::armem::client::util diff --git a/source/RobotAPI/libraries/armem_vision/client/occupancy_grid/Writer.cpp b/source/RobotAPI/libraries/armem_vision/client/occupancy_grid/Writer.cpp index a682162553005783d3ad74e42d78bffefbc09ae2..9c06db1e5ce466aaa3a1461f5274d99b26d64c91 100644 --- a/source/RobotAPI/libraries/armem_vision/client/occupancy_grid/Writer.cpp +++ b/source/RobotAPI/libraries/armem_vision/client/occupancy_grid/Writer.cpp @@ -1,19 +1,21 @@ #include "Writer.h" -#include <RobotAPI/libraries/armem_vision/aron_conversions.h> #include <RobotAPI/libraries/armem_vision/aron/OccupancyGrid.aron.generated.h> - +#include <RobotAPI/libraries/armem_vision/aron_conversions.h> namespace armarx::armem::vision::occupancy_grid::client { Writer::~Writer() = default; - bool Writer::store(const OccupancyGrid& grid, - const std::string& frame, - const std::string& providerName, - const std::int64_t& timestamp) + bool + Writer::store(const OccupancyGrid& grid, + const std::string& frame, + const std::string& providerName, + const std::int64_t& timestamp) { - std::lock_guard g{memoryWriterMutex()}; + static std::mutex mutex; + + std::lock_guard g{mutex}; const auto result = memoryWriter().addSegment(properties().coreSegmentName, providerName); @@ -28,7 +30,7 @@ namespace armarx::armem::vision::occupancy_grid::client const auto iceTimestamp = Time(Duration::MicroSeconds(timestamp)); const auto providerId = armem::MemoryID(result.segmentID); - const auto entityID = providerId.withEntityName(frame).withTimestamp(iceTimestamp); + const auto entityID = providerId.withEntityName(frame).withTimestamp(iceTimestamp); armem::EntityUpdate update; update.entityID = entityID; @@ -41,7 +43,7 @@ namespace armarx::armem::vision::occupancy_grid::client dict->addElement("grid", toAron(grid.grid)); update.instancesData = {dict}; - update.referencedTime = iceTimestamp; + update.referencedTime = iceTimestamp; ARMARX_DEBUG << "Committing " << update << " at time " << iceTimestamp; armem::EntityUpdateResult updateResult = memoryWriter().commit(update); @@ -56,7 +58,8 @@ namespace armarx::armem::vision::occupancy_grid::client return updateResult.success; } - std::string Writer::propertyPrefix() const + std::string + Writer::propertyPrefix() const { return "mem.vision.occupancy_grid."; } @@ -65,7 +68,7 @@ namespace armarx::armem::vision::occupancy_grid::client Writer::defaultProperties() const { - return SimpleWriterBase::Properties{.memoryName = "Vision", + return SimpleWriterBase::Properties{.memoryName = "Vision", .coreSegmentName = "OccupancyGrid"}; } } // namespace armarx::armem::vision::occupancy_grid::client