Go to the documentation of this file.
16 #ifndef DDTMEMORYMANAGER_HPP_
17 #define DDTMEMORYMANAGER_HPP_
19 #include <boost/circular_buffer.hpp>
20 #include <boost/interprocess/containers/string.hpp>
21 #include <boost/interprocess/managed_shared_memory.hpp>
22 #include <boost/tokenizer.hpp>
31 namespace ip = boost::interprocess;
75 const int32_t max_data_sample_size,
76 const int32_t number_of_samples);
114 const std::string data_stream_identifier);
122 const std::string
get_shm_id(
const std::string data_stream_identifier);
139 const int buffer_size);
148 void Init(
DdtLogger *ddt_logger,
const std::string broker_port);
154 const uint64_t GetAvailableSpace();
160 std::map<std::string, Shm> shm_map;
161 std::mutex shm_mutex;
163 const std::string shm_file_path =
"/tmp/";
164 std::string shm_file;
169 const std::string SHM_PATH =
"/dev/shm";
170 const int ADDITIONAL_SPACE = 1500;
171 const int AVAILABLE_POSITION = 3;
172 const int BYTES_PER_KBYTE = 1024;
173 static const int CHAR_LEN = 128;
int32_t get_number_of_samples(const std::string data_stream_identifier)
Definition: ddtMemoryManager.cpp:279
bool CheckSpaceAvailability(const int32_t max_data_sample_size, const int buffer_size)
Definition: ddtMemoryManager.cpp:342
Definition: ddtLogger.hpp:71
Definition: ddtMemoryAccessor.hpp:258
Definition: ddtClient.hpp:36
int32_t GetMaxPossibleBufferSize(const int32_t max_data_sample_size)
Definition: ddtMemoryManager.cpp:331
Definition: ddtMemoryManager.hpp:49
bool CheckIfShmExists(const std::string data_stream_identifier)
Definition: ddtMemoryManager.cpp:79
int32_t get_max_data_sample_size(const std::string data_stream_identifier)
Definition: ddtMemoryManager.cpp:267
DdtMemoryAccessor * get_memory_accessor(const std::string data_stream_identifier)
Definition: ddtMemoryManager.cpp:291
ip::managed_shared_memory * managed_shm
Definition: ddtMemoryManager.hpp:40
bool DeleteSharedMemory(const std::string data_stream_identifier)
Definition: ddtMemoryManager.cpp:232
Definition: ddtMemoryManager.hpp:39
int number_of_samples
Definition: ddtMemoryManager.hpp:42
const std::string get_shm_id(const std::string data_stream_identifier)
Definition: ddtMemoryManager.cpp:73
int32_t CreateSharedMemory(const std::string data_stream_identifier, const int32_t max_data_sample_size, const int32_t number_of_samples)
Definition: ddtMemoryManager.cpp:91
int max_data_sample_size
Definition: ddtMemoryManager.hpp:41
DdtMemoryAccessor * memory_accessor
Definition: ddtMemoryManager.hpp:43
DdtMemoryManager(DdtLogger *logger, const std::string broker_port)
Definition: ddtMemoryManager.cpp:20
virtual ~DdtMemoryManager()