Classes Files

Wombat::MamaPublisher

More…

#include <MamaPublisher.h>

Public Functions

  Name
virtual ~MamaPublisher(void )
  MamaPublisher(void )
virtual void create(MamaTransport * transport, const char * topic, const char * source =NULL, const char * root =NULL)
virtual void createWithCallbacks(MamaTransport * transport, MamaQueue * queue, MamaPublisherCallback * cb, void * closure, const char * topic, const char * source =NULL, const char * root =NULL)
virtual void send(MamaMsg * msg) const
virtual void sendWithThrottle(MamaMsg * msg, MamaSendCompleteCallback * cb, void * closure) const
virtual void sendFromInbox(MamaInbox * inbox, MamaMsg * msg) const
virtual void sendFromInboxWithThrottle(MamaInbox * inbox, MamaMsg * msg, MamaSendCompleteCallback * cb, void * closure) const
virtual void sendReplyToInbox(const MamaMsg & request, MamaMsg * reply) const
virtual void sendReplyToInbox(mamaMsgReply replyHandle, MamaMsg * reply) const
virtual void destroy(void )
virtual void destroyEx(void )
virtual MamaTransport * getTransport(void ) const
virtual mamaPublisherState getState() const
virtual const char * stringForState(mamaPublisherState state) const
virtual const char * getRoot() const
virtual const char * getSource() const
virtual const char * getSymbol() const
virtual MamaPublisherCallback * getCallback() const

Protected Attributes

  Name
MamaTransport * mTransport

Detailed Description

class Wombat::MamaPublisher;

The publisher class publishes messages to basic or market data subscriptions depending on the underlying transport.

For basic transports the source parameter must be NULL.

Public Functions Documentation

function ~MamaPublisher

virtual ~MamaPublisher(
    void 
)

function MamaPublisher

MamaPublisher(
    void 
)

function create

virtual void create(
    MamaTransport * transport,
    const char * topic,
    const char * source =NULL,
    const char * root =NULL
)

Parameters:

  • transport The transport to use. Must be a basic transport.
  • topic for basic publishers. Symbol for market data topics.
  • source The source for market data publishers.
  • root The root for market data publishers. Used internally.

Create a MAMA publisher for the corresponding transport. If the transport is a market data transport, as opposed to a “basic” transport, the topic corresponds to the symbol. For a basic transport, the source and root get ignored.

function createWithCallbacks

virtual void createWithCallbacks(
    MamaTransport * transport,
    MamaQueue * queue,
    MamaPublisherCallback * cb,
    void * closure,
    const char * topic,
    const char * source =NULL,
    const char * root =NULL
)

function send

virtual void send(
    MamaMsg * msg
) const

function sendWithThrottle

virtual void sendWithThrottle(
    MamaMsg * msg,
    MamaSendCompleteCallback * cb,
    void * closure
) const

function sendFromInbox

virtual void sendFromInbox(
    MamaInbox * inbox,
    MamaMsg * msg
) const

function sendFromInboxWithThrottle

virtual void sendFromInboxWithThrottle(
    MamaInbox * inbox,
    MamaMsg * msg,
    MamaSendCompleteCallback * cb,
    void * closure
) const

function sendReplyToInbox

virtual void sendReplyToInbox(
    const MamaMsg & request,
    MamaMsg * reply
) const

function sendReplyToInbox

virtual void sendReplyToInbox(
    mamaMsgReply replyHandle,
    MamaMsg * reply
) const

function destroy

virtual void destroy(
    void 
)

function destroyEx

virtual void destroyEx(
    void 
)

function getTransport

virtual MamaTransport * getTransport(
    void 
) const

Return the MamaTransport for the MamaPublisher.

function getState

virtual mamaPublisherState getState() const

function stringForState

virtual const char * stringForState(
    mamaPublisherState state
) const

function getRoot

virtual const char * getRoot() const

function getSource

virtual const char * getSource() const

function getSymbol

virtual const char * getSymbol() const

function getCallback

virtual MamaPublisherCallback * getCallback() const

Protected Attributes Documentation

variable mTransport

MamaTransport * mTransport;

Updated on 2023-03-31 at 15:29:25 +0100