hmbdc
simplify-high-performance-messaging-programming
Public Member Functions | List of all members
hmbdc::app::mcast::SendTransportEngine Struct Reference
Inheritance diagram for hmbdc::app::mcast::SendTransportEngine:
hmbdc::app::mcast::SendTransport hmbdc::app::detail::single_thread_powered_client hmbdc::app::Client< SendTransportEngine > hmbdc::app::mcast::Transport hmbdc::app::MessageHandler< SendTransportEngine, Messages... > hmbdc::pattern::PoolConsumer

Public Member Functions

char const * hmbdcName () const
 
std::tuple< char const *, int > schedSpec () const
 
void messageDispatchingStartedCb (uint16_t threadSerialNumber) override
 
void invokedCb (uint16_t threadSerialNumber) __restrict__ override
 
bool droppedCb () override
 
- Public Member Functions inherited from hmbdc::app::mcast::SendTransport
 SendTransport (Config const &cfg, size_t maxMessageSize)
 
bool match (Topic const &t) const
 
template<typename... Messages>
void queue (Topic const &t, Messages &&...msgs)
 
template<typename... Messages>
bool tryQueue (Topic const &t, Messages &&...msgs)
 
template<typename Message , typename... Args>
void queueInPlace (Topic const &t, Args &&...args)
 
void queueBytes (Topic const &t, uint16_t tag, void const *bytes, size_t len)
 
void runOnce () __restrict__
 
void stop ()
 
boost::asio::ip::udp::socket & asioSocket ()
 expose so user can manipulate it More...
 
void initInThread ()
 
- Public Member Functions inherited from hmbdc::app::mcast::Transport
 Transport (Config const &cfg)
 
void initInThread ()
 
bool operator== (Transport const &other) const
 
bool operator< (Transport const &other) const
 
- Public Member Functions inherited from hmbdc::app::Client< SendTransportEngine >
 Client ()
 trivial constructor
 
void messageDispatchingStartedCb (uint16_t threadSerialNumber) override
 called before any messages got dispatched - only once More...
 
void stoppedCb (std::exception const &e) override
 callback called when this Client is taken out of message dispatching More...
 
bool droppedCb () override
 callback called after the Client is safely taken out of the Context More...
 
void invokedCb (uint16_t threadSerialNumber) override
 this callback is called all the time (frequently) More...
 
char const * hmbdcName () const
 return the name of thread that runs this client, override if necessary More...
 
std::tuple< char const *, int > schedSpec () const
 an overrideable method. returns the schedule policy and priority, override if necessary priority is only used when policy is "SCHED_RR", or "SCHED_FIFO" More...
 
size_t maxBatchMessageCount () const
 an overridable method. client receives events in batches and the max batch size is controllable when running in direct mode Context. Here is to specify the max size. More...
 
void handleRangeImpl (BufIt &it, BufIt const &end, uint16_t threadSerialNumber) override
 internal use, don't change or override
 
- Public Member Functions inherited from hmbdc::app::MessageHandler< SendTransportEngine, Messages... >
void handleMessage (MessageHead &w)
 
- Public Member Functions inherited from hmbdc::pattern::PoolConsumer
 PoolConsumer (bool interestedInMessages=true)
 
void stopped (std::exception const &) noexcept
 
bool dropped () noexcept
 
void messageDispatchingStarted (uint16_t threadId)
 
void invoked (uint16_t threadId)
 

Additional Inherited Members

- Public Types inherited from hmbdc::app::mcast::SendTransport
using ptr = std::shared_ptr< SendTransport >
 
- Public Types inherited from hmbdc::app::mcast::Transport
using ptr = std::shared_ptr< Transport >
 
- Public Types inherited from hmbdc::app::Client< SendTransportEngine >
enum  
 
- Static Public Member Functions inherited from hmbdc::app::MessageHandler< SendTransportEngine, Messages... >
static void tryDispatch (SendTransportEngine *p, MessageHead &w)
 
- Protected Types inherited from hmbdc::app::mcast::Transport
using Buffer = hmbdc::pattern::LockFreeBufferT< 1 >
 
- Protected Types inherited from hmbdc::pattern::PoolConsumer
using BufIt = lf_misc::iterator< HMBDC_SEQ_TYPE >
 
- Protected Attributes inherited from hmbdc::app::mcast::Transport
string hmbdcName_
 
string schedPolicy_
 
int schedPriority_
 
Config const config_
 
std::shared_ptr< io_service > pIos_
 

The documentation for this struct was generated from the following file: