FairMQ  1.3.9
C++ Message Passing Framework
Public Member Functions | Static Public Member Functions | List of all members
FairMQTransportFactory Class Referenceabstract
Inheritance diagram for FairMQTransportFactory:
Inheritance graph
[legend]

Public Member Functions

 FairMQTransportFactory (const std::string &id)
 
auto GetId () const -> const std::string
 
fair::mq::ChannelResourceGetMemoryResource ()
 Get a pointer to the associated polymorphic memory resource.
 
 operator fair::mq::ChannelResource * ()
 
virtual FairMQMessagePtr CreateMessage ()=0
 Create empty FairMQMessage. More...
 
virtual FairMQMessagePtr CreateMessage (const size_t size)=0
 Create new FairMQMessage of specified size. More...
 
virtual FairMQMessagePtr CreateMessage (void *data, const size_t size, fairmq_free_fn *ffn, void *hint=nullptr)=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)=0
 
virtual FairMQSocketPtr CreateSocket (const std::string &type, const std::string &name)=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< 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 FairMQUnmanagedRegionPtr CreateUnmanagedRegion (const size_t size, FairMQRegionCallback callback=nullptr) const =0
 
virtual fair::mq::Transport GetType () const =0
 Get transport type.
 
virtual void Interrupt ()=0
 
virtual void Resume ()=0
 
virtual void Reset ()=0
 
template<typename T >
FairMQMessagePtr NewSimpleMessage (const T &data)
 
template<std::size_t N>
FairMQMessagePtr NewSimpleMessage (const char(&data)[N])
 
FairMQMessagePtr NewSimpleMessage (const std::string &str)
 
template<typename T >
FairMQMessagePtr NewStaticMessage (const T &data)
 
FairMQMessagePtr NewStaticMessage (const std::string &str)
 

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
idTopology wide unique id, usually the device id.

Member Function Documentation

◆ CreateMessage() [1/3]

virtual FairMQMessagePtr FairMQTransportFactory::CreateMessage ( )
pure virtual

◆ CreateMessage() [2/3]

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

Create new FairMQMessage of specified size.

Parameters
sizemessage 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 
)
pure virtual

Create new FairMQMessage with user provided buffer and size.

Parameters
datapointer to user provided buffer
sizesize of the user provided buffer
ffncallback, called when the message is transfered (and can be deleted)
objoptional 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:

privacy