hmbdc
simplify-high-performance-messaging-programming
|
impl class More...
#include <RecvTransportEngine.hpp>
Public Member Functions | |
void | invokedCb (uint16_t) HMBDC_RESTRICT override |
power the io_service and other things | |
void | messageDispatchingStartedCb (uint16_t threadSerialNumber) override |
start the show by schedule the mesage recv | |
void | stoppedCb (std::exception const &e) override |
should not happen ever unless an exception thrown More... | |
![]() | |
RecvTransportImpl (Config const &cfg, OutputBuffer &outputBuffer, MsgArbitrator arb=NoOpArb()) | |
ctor More... | |
void | start () |
start the show by schedule the mesage recv | |
void | runOnce () HMBDC_RESTRICT |
power the io_service and other things | |
void | handleMessageCb (Subscribe const &t) |
only used by MH | |
void | handleMessageCb (Unsubscribe const &t) |
only used by MH | |
boost::asio::ip::udp::socket & | asioSocket () |
expose so user can manipulate it More... | |
![]() | |
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 | |
impl class
this needs to be created using NetContext and start in an app::Context
OutputBuffer | type of buffer to hold resulting network messages |
MsgArbitrator | arbitrator to decide drop or keep messages, sued to arbitrate between difefrent recv transports. By default, keep all |
|
inlineoverridevirtual |
should not happen ever unless an exception thrown
e | exception thown |
Reimplemented from hmbdc::pattern::PoolConsumer.