FairMQ  1.4.33
C++ Message Queuing Library and Framework
Public Member Functions | List of all members
fair::mq::ofi::TransportFactory Class Referencefinal

FairMQ transport factory for the ofi transport. More...

#include <fairmq/ofi/TransportFactory.h>

Inheritance diagram for fair::mq::ofi::TransportFactory:
Inheritance graph
[legend]
Collaboration diagram for fair::mq::ofi::TransportFactory:
Collaboration graph
[legend]

Public Member Functions

 TransportFactory (const std::string &id="", const fair::mq::ProgOptions *config=nullptr)
 
 TransportFactory (const TransportFactory &)=delete
 
TransportFactory operator= (const TransportFactory &)=delete
 
auto CreateMessage () -> MessagePtr override
 Create empty FairMQMessage (for receiving) More...
 
auto CreateMessage (Alignment alignment) -> MessagePtr override
 Create empty FairMQMessage (for receiving), align received buffer to specified alignment. More...
 
auto CreateMessage (const std::size_t size) -> MessagePtr override
 
auto CreateMessage (const std::size_t size, Alignment alignment) -> MessagePtr override
 
auto CreateMessage (void *data, const std::size_t size, fairmq_free_fn *ffn, void *hint=nullptr) -> MessagePtr override
 
auto CreateMessage (UnmanagedRegionPtr &region, void *data, const std::size_t size, void *hint=nullptr) -> MessagePtr override
 
auto CreateSocket (const std::string &type, const std::string &name) -> SocketPtr override
 Create a socket.
 
auto CreatePoller (const std::vector< FairMQChannel > &channels) const -> PollerPtr override
 Create a poller for a single channel (all subchannels)
 
auto CreatePoller (const std::vector< FairMQChannel * > &channels) const -> PollerPtr override
 Create a poller for specific channels.
 
auto CreatePoller (const std::unordered_map< std::string, std::vector< FairMQChannel >> &channelsMap, const std::vector< std::string > &channelList) const -> PollerPtr override
 Create a poller for specific channels (all subchannels)
 
auto CreateUnmanagedRegion (const size_t size, RegionCallback callback=nullptr, const std::string &path="", int flags=0) -> UnmanagedRegionPtr override
 Create new UnmanagedRegion. More...
 
auto CreateUnmanagedRegion (const size_t size, RegionBulkCallback callback=nullptr, const std::string &path="", int flags=0) -> UnmanagedRegionPtr override
 
auto CreateUnmanagedRegion (const size_t size, int64_t userFlags, RegionCallback callback=nullptr, const std::string &path="", int flags=0) -> UnmanagedRegionPtr override
 Create new UnmanagedRegion. More...
 
auto CreateUnmanagedRegion (const size_t size, int64_t userFlags, RegionBulkCallback callback=nullptr, const std::string &path="", int flags=0) -> UnmanagedRegionPtr override
 
void SubscribeToRegionEvents (RegionEventCallback) override
 Subscribe to region events (creation, destruction, ...) More...
 
bool SubscribedToRegionEvents () override
 Check if there is an active subscription to region events. More...
 
void UnsubscribeFromRegionEvents () override
 Unsubscribe from region events.
 
std::vector< FairMQRegionInfoGetRegionInfo () override
 
auto GetType () const -> Transport override
 Get transport type.
 
void Interrupt () override
 
void Resume () override
 
void Reset () override
 
- Public Member Functions inherited from FairMQTransportFactory
 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 (const size_t size)=0
 Create new FairMQMessage of specified size. More...
 
virtual FairMQMessagePtr CreateMessage (const size_t size, fair::mq::Alignment alignment)=0
 Create new FairMQMessage of specified size and alignment. 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
 create a message with the buffer located within the corresponding unmanaged region More...
 
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)
 

Additional Inherited Members

- Static Public Member Functions inherited from FairMQTransportFactory
static auto CreateTransportFactory (const std::string &type, const std::string &id="", const fair::mq::ProgOptions *config=nullptr) -> std::shared_ptr< FairMQTransportFactory >
 
static void FairMQNoCleanup (void *, void *)
 
template<typename T >
static void FairMQSimpleMsgCleanup (void *, void *obj)
 

Detailed Description

FairMQ transport factory for the ofi transport.

Todo:
TODO insert long description

Member Function Documentation

◆ CreateMessage() [1/2]

auto fair::mq::ofi::TransportFactory::CreateMessage ( ) -> MessagePtr
overridevirtual

Create empty FairMQMessage (for receiving)

Returns
pointer to FairMQMessage

Implements FairMQTransportFactory.

◆ CreateMessage() [2/2]

auto fair::mq::ofi::TransportFactory::CreateMessage ( Alignment  alignment) -> MessagePtr
overridevirtual

Create empty FairMQMessage (for receiving), align received buffer to specified alignment.

Parameters
alignmentalignment to align received buffer to
Returns
pointer to FairMQMessage

Implements FairMQTransportFactory.

◆ CreateUnmanagedRegion() [1/2]

auto fair::mq::ofi::TransportFactory::CreateUnmanagedRegion ( const size_t  size,
int64_t  userFlags,
RegionCallback  callback = nullptr,
const std::string &  path = "",
int  flags = 0 
) -> UnmanagedRegionPtr
overridevirtual

Create new UnmanagedRegion.

Parameters
sizesize of the region
userFlagsflags to be stored with the region, have no effect on the transport, but can be retrieved from the region by the user
callbackcallback to be called when a message belonging to this region is no longer needed by the transport
pathoptional parameter to pass to the underlying transport
flagsoptional parameter to pass to the underlying transport
Returns
pointer to UnmanagedRegion

Implements FairMQTransportFactory.

◆ CreateUnmanagedRegion() [2/2]

auto fair::mq::ofi::TransportFactory::CreateUnmanagedRegion ( const size_t  size,
RegionCallback  callback = nullptr,
const std::string &  path = "",
int  flags = 0 
) -> UnmanagedRegionPtr
overridevirtual

Create new UnmanagedRegion.

Parameters
sizesize of the region
callbackcallback to be called when a message belonging to this region is no longer needed by the transport
pathoptional parameter to pass to the underlying transport
flagsoptional parameter to pass to the underlying transport
Returns
pointer to UnmanagedRegion

Implements FairMQTransportFactory.

◆ SubscribedToRegionEvents()

bool fair::mq::ofi::TransportFactory::SubscribedToRegionEvents ( )
inlineoverridevirtual

Check if there is an active subscription to region events.

Returns
true/false

Implements FairMQTransportFactory.

◆ SubscribeToRegionEvents()

void fair::mq::ofi::TransportFactory::SubscribeToRegionEvents ( RegionEventCallback  callback)
inlineoverridevirtual

Subscribe to region events (creation, destruction, ...)

Parameters
callbackthe callback that is called when a region event occurs

Implements FairMQTransportFactory.


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

privacy