FairMQTransportFactory Class Referenceabstract
Inheritance diagram for FairMQTransportFactory:
[legend]

## Public Member Functions

| FairMQTransportFactory (const std::string &id)
auto | GetId () const -> const std::string
virtual FairMQMessagePtr | CreateMessage () const =0
| Create empty FairMQMessage. More...
virtual FairMQMessagePtr | CreateMessage (const size_t size) const =0
| Create new FairMQMessage of specified size. More...
virtual FairMQMessagePtr | CreateMessage (void *data, const size_t size, fairmq_free_fn *ffn, void *hint=nullptr) const =0
| Create new FairMQMessage with user provided buffer and size. More...
virtual FairMQMessagePtr | CreateMessage (FairMQUnmanagedRegionPtr &unmanagedRegion, void *data, const size_t size, void *hint=0) const =0
virtual FairMQSocketPtr | CreateSocket (const std::string &type, const std::string &name) const =0
| Create a socket.
virtual FairMQPollerPtr | CreatePoller (const std::vector< FairMQChannel > &channels) const =0
| Create a poller for a single channel (all subchannels)
virtual FairMQPollerPtr | CreatePoller (const std::vector< const FairMQChannel *> &channels) const =0
| Create a poller for specific channels.
virtual FairMQPollerPtr | CreatePoller (const std::unordered_map< std::string, std::vector< FairMQChannel >> &channelsMap, const std::vector< std::string > &channelList) const =0
| Create a poller for specific channels (all subchannels)
virtual FairMQPollerPtr | CreatePoller (const FairMQSocket &cmdSocket, const FairMQSocket &dataSocket) const =0
| Create a poller for two sockets.
virtual FairMQUnmanagedRegionPtr | CreateUnmanagedRegion (const size_t size, FairMQRegionCallback callback=nullptr) const =0
virtual FairMQ::Transport | GetType () const =0
| Get transport type.
virtual void | Interrupt ()=0
virtual void | Resume ()=0
template<typename T >
FairMQMessagePtr | NewSimpleMessage (const T &data) const
template<std::size_t N>
FairMQMessagePtr | NewSimpleMessage (const char(&data)[N]) const
FairMQMessagePtr | NewSimpleMessage (const std::string &str) const
template<typename T >
FairMQMessagePtr | NewStaticMessage (const T &data) const
FairMQMessagePtr | NewStaticMessage (const std::string &str) const

## Static Public Member Functions

static auto | CreateTransportFactory (const std::string &type, const std::string &id="", const FairMQProgOptions *config=nullptr) -> std::shared_ptr< FairMQTransportFactory >
static void | FairMQNoCleanup (void *, void *)
template<typename T >
static void | FairMQSimpleMsgCleanup (void *, void *obj)

## Constructor & Destructor Documentation

## FairMQTransportFactory()

FairMQTransportFactory::FairMQTransportFactory | ( | const std::string & | id | ) |

ctor

Parameters

  id | Topology wide unique id, usually the device id.

## Member Function Documentation

## CreateMessage() [1/3]

virtual FairMQMessagePtr FairMQTransportFactory::CreateMessage | ( |  | ) | const

pure virtual

Create empty FairMQMessage.

Returns
  pointer to FairMQMessage

Implemented in FairMQTransportFactoryZMQ, fair::mq::ofi::TransportFactory, FairMQTransportFactorySHM, and FairMQTransportFactoryNN.

## CreateMessage() [2/3]

virtual FairMQMessagePtr FairMQTransportFactory::CreateMessage | ( | const size_t | size | ) | const

pure virtual

Create new FairMQMessage of specified size.

Parameters

  size | message size

Returns
  pointer to FairMQMessage

Implemented in FairMQTransportFactoryZMQ, FairMQTransportFactorySHM, and FairMQTransportFactoryNN.

## CreateMessage() [3/3]

virtual FairMQMessagePtr FairMQTransportFactory::CreateMessage | ( | void * | data,
|  | const size_t | size,
|  | fairmq_free_fn * | ffn,
|  | void * | hint = `nullptr`
| ) |  | const

pure virtual

Create new FairMQMessage with user provided buffer and size.

Parameters

  data | pointer to user provided buffer
  size | size of the user provided buffer
  ffn | callback, called when the message is transfered (and can be deleted)
  obj | optional helper pointer that can be used in the callback

Returns
  pointer to FairMQMessage

Implemented in FairMQTransportFactoryZMQ, FairMQTransportFactorySHM, and FairMQTransportFactoryNN.

The documentation for this class was generated from the following files:

- fairmq/FairMQTransportFactory.h
- fairmq/FairMQTransportFactory.cxx