9 #ifndef FAIR_MQ_OFI_MESSAGE_H
10 #define FAIR_MQ_OFI_MESSAGE_H
12 #include <FairMQMessage.h>
13 #include <FairMQUnmanagedRegion.h>
20 namespace fair::mq::ofi
32 Message(boost::container::pmr::memory_resource* pmr);
33 Message(boost::container::pmr::memory_resource* pmr, Alignment alignment);
34 Message(boost::container::pmr::memory_resource* pmr,
const size_t size);
35 Message(boost::container::pmr::memory_resource* pmr,
const size_t size,
Alignment alignment);
36 Message(boost::container::pmr::memory_resource* pmr,
40 void* hint =
nullptr);
41 Message(boost::container::pmr::memory_resource* pmr,
42 FairMQUnmanagedRegionPtr& region,
50 auto Rebuild() ->
void override;
51 auto Rebuild(
Alignment alignment) ->
void override;
52 auto Rebuild(
const size_t size) ->
void override;
53 auto Rebuild(
const size_t size,
Alignment alignment) ->
void override;
54 auto Rebuild(
void* data,
const size_t size, fairmq_free_fn* ffn,
void* hint =
nullptr) ->
void override;
56 auto GetData() const ->
void* override;
57 auto GetSize() const ->
size_t override;
59 auto SetUsedSize(const
size_t size) ->
bool override;
61 auto GetType() const -> fair::mq::Transport
override {
return fair::mq::Transport::OFI; }
71 fairmq_free_fn* fFreeFunction;
73 boost::container::pmr::memory_resource* fPmr;