9 #ifndef FAIR_MQ_ZMQ_UNMANAGEDREGION_H
10 #define FAIR_MQ_ZMQ_UNMANAGEDREGION_H
12 #include <fairmq/zeromq/Context.h>
13 #include <FairMQUnmanagedRegion.h>
14 #include <FairMQLogger.h>
19 namespace fair::mq::zmq
31 RegionCallback callback,
32 RegionBulkCallback bulkCallback,
36 , fId(fCtx.RegionCount())
37 , fBuffer(malloc(size))
39 , fUserFlags(userFlags)
41 , fBulkCallback(bulkCallback)
47 virtual void* GetData()
const override {
return fBuffer; }
48 virtual size_t GetSize()
const override {
return fSize; }
49 uint16_t GetId()
const override {
return fId; }
50 int64_t GetUserFlags()
const {
return fUserFlags; }
51 void SetLinger(uint32_t )
override { LOG(debug) <<
"ZeroMQ UnmanagedRegion linger option not implemented. Acknowledgements are local."; }
52 uint32_t GetLinger()
const override { LOG(debug) <<
"ZeroMQ UnmanagedRegion linger option not implemented. Acknowledgements are local.";
return 0; }
54 virtual ~UnmanagedRegion()
56 LOG(debug) <<
"destroying region " << fId;
57 fCtx.RemoveRegion(fId);
67 RegionCallback fCallback;
68 RegionBulkCallback fBulkCallback;