hmbdc
simplify-high-performance-messaging-programming
Public Member Functions | Public Attributes | List of all members
hmbdc::app::utils::ReceiverClient Struct Reference
Inheritance diagram for hmbdc::app::utils::ReceiverClient:
hmbdc::app::Client< ReceiverClient, Message > hmbdc::time::TimerManager hmbdc::time::ReoccuringTimer hmbdc::app::MessageHandler< ReceiverClient, Messages... > hmbdc::pattern::PoolConsumer hmbdc::time::Timer

Public Member Functions

 ReceiverClient (RecvCtx &ctx, size_t msgSize)
 
char const * hmbdcName () const
 
void handleMessageCb (Message const &r)
 
void stoppedCb (std::exception const &e)
 
void report ()
 
- Public Member Functions inherited from hmbdc::app::Client< ReceiverClient, Message >
 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< ReceiverClient, 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)
 
- Public Member Functions inherited from hmbdc::time::TimerManager
void schedule (SysTime fireAt, Timer &timer)
 
void cancel (Timer &timer)
 cancel a timer previously scheduled with the TimerManager More...
 
void checkTimers (time::SysTime)
 
- Public Member Functions inherited from hmbdc::time::ReoccuringTimer
 ReoccuringTimer (Duration const &interval, Callback callback=detail::noop)
 
- Public Member Functions inherited from hmbdc::time::Timer
 Timer (Callback cb=detail::noop)
 
void setCallback (Callback cb)
 
bool operator< (Timer const &other) const
 
bool operator<= (SysTime const &t) const
 

Public Attributes

RecvCtxctx_
 
size_t periodicMsgCount_
 
size_t seq_
 
size_t totalMsgReceived_
 
size_t missed_
 
size_t outOfOrder_
 
size_t duplicate_
 
size_t msgSize_
 
- Public Attributes inherited from hmbdc::time::ReoccuringTimer
const Duration interval
 

Additional Inherited Members

- Public Types inherited from hmbdc::app::Client< ReceiverClient, Message >
enum  
 
- Public Types inherited from hmbdc::time::Timer
using Callback = std::function< void(TimerManager &, SysTime const &)>
 
- Static Public Member Functions inherited from hmbdc::app::MessageHandler< ReceiverClient, Messages... >
static void tryDispatch (ReceiverClient *p, MessageHead &w)
 
- Protected Types inherited from hmbdc::pattern::PoolConsumer
using BufIt = lf_misc::iterator< HMBDC_SEQ_TYPE >
 
- Protected Member Functions inherited from hmbdc::time::Timer
SysTime getFireAt () const
 

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