9 #ifndef FAIR_MQ_OFI_TRANSPORTFACTORY_H 10 #define FAIR_MQ_OFI_TRANSPORTFACTORY_H 12 #include <FairMQTransportFactory.h> 13 #include <options/FairMQProgOptions.h> 14 #include <fairmq/ofi/Context.h> 37 auto CreateMessage(
const std::size_t size)
const -> MessagePtr
override;
38 auto CreateMessage(
void* data,
const std::size_t size, fairmq_free_fn* ffn,
void* hint =
nullptr)
const -> MessagePtr
override;
39 auto CreateMessage(UnmanagedRegionPtr& region,
void* data,
const std::size_t size,
void* hint =
nullptr)
const -> MessagePtr
override;
41 auto CreateSocket(
const std::string& type,
const std::string& name)
const -> SocketPtr
override;
43 auto CreatePoller(
const std::vector<FairMQChannel>& channels)
const -> PollerPtr
override;
44 auto CreatePoller(
const std::vector<const FairMQChannel*>& channels)
const -> PollerPtr
override;
45 auto CreatePoller(
const std::unordered_map<std::string, std::vector<FairMQChannel>>& channelsMap,
const std::vector<std::string>& channelList)
const -> PollerPtr
override;
48 auto CreateUnmanagedRegion(
const size_t size, FairMQRegionCallback callback =
nullptr)
const -> UnmanagedRegionPtr
override;
50 auto GetType()
const -> Transport
override;
52 void Interrupt()
override {}
53 void Resume()
override {}
Transport-wide context.
Definition: Context.h:38
auto CreateSocket(const std::string &type, const std::string &name) const -> SocketPtr override
Create a socket.
Definition: TransportFactory.cxx:59
auto CreateMessage() const -> MessagePtr override
Create empty FairMQMessage.
Definition: TransportFactory.cxx:39
Definition: FairMQTransportFactory.h:27
auto GetType() const -> Transport override
Get transport type.
Definition: TransportFactory.cxx:89
Definition: FairMQProgOptions.h:41
FairMQ transport factory for the ofi transport (implemented with ZeroMQ + libfabric) ...
Definition: TransportFactory.h:29
auto CreatePoller(const std::vector< FairMQChannel > &channels) const -> PollerPtr override
Create a poller for a single channel (all subchannels)
Definition: FairMQSocket.h:18
Definition: DeviceRunner.h:23