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 :
17  public MemoryBase
18  {
19  using Base = MemoryBase;
20 
21  public:
22  using Base::MemoryBase;
23  using Base::convert;
24 
25  Memory() = default;
26 
27  void reload() override;
28  void convert(armem::wm::Memory&) override;
29  void encodeAndStore() override;
30 
31  private:
32  PoolClientPtr checkConnection() const; // return nullptr if not possible
33 
34  public:
36 
37  private:
38 
39  };
40 }
armarx::armem::server::ltm::mongodb::Memory::convert
void convert(armem::wm::Memory &) override
Definition: MemoryManager.cpp:72
armarx::armem::server::ltm::mongodb::ConnectionManager::MongoDBSettings
Definition: ConnectionManager.h:33
armarx::armem::server::ltm::mongodb::Memory::reload
void reload() override
Definition: MemoryManager.cpp:41
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:154
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:35
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:90
armarx::armem::server::ltm::mongodb::PoolClientPtr
mongocxx::pool::entry PoolClientPtr
Definition: ConnectionManager.h:23
ConnectionManager.h