MemoryManager.h
Go to the documentation of this file.
1 #pragma once
2 
3 // STD / STL
4 #include <mutex>
5 #include <optional>
6 
7 // Base Class
8 #include "../MemoryBase.h"
9 
10 // Data
11 #include "ConnectionManager.h"
12 
14 {
15  /// @brief A memory storing data in mongodb (needs 'armarx memory start' to start the mongod instance)
16  class Memory : public MemoryBase
17  {
18  using Base = MemoryBase;
19 
20  public:
21  using Base::convert;
22  using Base::MemoryBase;
23 
24  Memory() = default;
25 
26  void reload() override;
27  void convert(armem::wm::Memory&) override;
28  void encodeAndStore() override;
29 
30  private:
31  PoolClientPtr checkConnection() const; // return nullptr if not possible
32 
33  public:
35 
36  private:
37  };
38 } // namespace armarx::armem::server::ltm::mongodb
armarx::armem::server::ltm::mongodb::Memory::convert
void convert(armem::wm::Memory &) override
Definition: MemoryManager.cpp:76
armarx::armem::server::ltm::mongodb::ConnectionManager::MongoDBSettings
Definition: ConnectionManager.h:32
armarx::armem::server::ltm::mongodb::Memory::reload
void reload() override
Definition: MemoryManager.cpp:44
armarx::armem::server::ltm::mongodb::Memory
A memory storing data in mongodb (needs 'armarx memory start' to start the mongod instance)
Definition: MemoryManager.h:16
convert
void convert(const std::filesystem::path &in, const std::filesystem::path &out, bool print_progress)
Performs the actual conversion.
Definition: main.cpp:170
armarx::armem::server::ltm::mongodb
Definition: ConnectionManager.cpp:7
armarx::armem::server::ltm::mongodb::Memory::Memory
Memory()=default
armarx::armem::server::ltm::mongodb::Memory::dbsettings
ConnectionManager::MongoDBSettings dbsettings
Definition: MemoryManager.h:34
armarx::armem::wm::Memory
Client-side working memory.
Definition: memory_definitions.h:133
armarx::armem::server::ltm::mongodb::Memory::encodeAndStore
void encodeAndStore() override
Definition: MemoryManager.cpp:95
armarx::armem::server::ltm::mongodb::PoolClientPtr
mongocxx::pool::entry PoolClientPtr
Definition: ConnectionManager.h:22
ConnectionManager.h