FairMQ  1.3.7
C++ Message Passing Framework
FairMQUnmanagedRegionSHM.h
1 /********************************************************************************
2  * Copyright (C) 2014 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
3  * *
4  * This software is distributed under the terms of the *
5  * GNU Lesser General Public Licence (LGPL) version 3, *
6  * copied verbatim in the file "LICENSE" *
7  ********************************************************************************/
8 
9 #ifndef FAIRMQUNMANAGEDREGIONSHM_H_
10 #define FAIRMQUNMANAGEDREGIONSHM_H_
11 
12 #include <fairmq/shmem/Manager.h>
13 
14 #include "FairMQUnmanagedRegion.h"
15 #include "FairMQLogger.h"
16 
17 #include <boost/interprocess/shared_memory_object.hpp>
18 #include <boost/interprocess/mapped_region.hpp>
19 
20 #include <cstddef> // size_t
21 
23 {
24  friend class FairMQSocketSHM;
25  friend class FairMQMessageSHM;
26 
27  public:
28  FairMQUnmanagedRegionSHM(fair::mq::shmem::Manager& manager, const size_t size, FairMQRegionCallback callback = nullptr);
29 
30  void* GetData() const override;
31  size_t GetSize() const override;
32 
33  ~FairMQUnmanagedRegionSHM() override;
34 
35  private:
36  fair::mq::shmem::Manager& fManager;
37  boost::interprocess::mapped_region* fRegion;
38  uint64_t fRegionId;
39 };
40 
41 #endif /* FAIRMQUNMANAGEDREGIONSHM_H_ */
Definition: Manager.h:38
Definition: FairMQUnmanagedRegion.h:18
Definition: FairMQUnmanagedRegionSHM.h:22
Definition: FairMQSocketSHM.h:20
Definition: FairMQMessageSHM.h:25

privacy