15 #ifndef FAIR_MQ_SHMEM_MANAGER_H_ 16 #define FAIR_MQ_SHMEM_MANAGER_H_ 18 #include <fairmq/Tools.h> 19 #include <fairmq/shmem/Region.h> 20 #include <fairmq/shmem/Common.h> 22 #include "FairMQLogger.h" 23 #include "FairMQMessage.h" 25 #include <boost/interprocess/managed_shared_memory.hpp> 26 #include <boost/interprocess/ipc/message_queue.hpp> 29 #include <unordered_map> 43 Manager(
const std::string& name,
size_t size);
50 boost::interprocess::managed_shared_memory& Segment();
52 static void Interrupt();
55 boost::interprocess::mapped_region* CreateRegion(
const size_t size,
const uint64_t
id, FairMQRegionCallback callback);
56 Region* GetRemoteRegion(
const uint64_t
id);
57 void RemoveRegion(
const uint64_t
id);
61 boost::interprocess::managed_shared_memory& ManagementSegment();
64 std::string fSessionName;
65 std::string fSegmentName;
66 std::string fManagementSegmentName;
67 boost::interprocess::managed_shared_memory fSegment;
68 boost::interprocess::managed_shared_memory fManagementSegment;
69 static std::unordered_map<uint64_t, Region> fRegions;
Tools for interfacing containers to the transport via polymorphic allocators.
Definition: DeviceRunner.h:23