hmbdc
simplify-high-performance-messaging-programming
Public Member Functions | List of all members
hmbdc::app::udpcast::recvtransportengine_detail::RecvTransportEngineImpl< OutputBuffer, MsgArbitrator > Struct Template Reference
Inheritance diagram for hmbdc::app::udpcast::recvtransportengine_detail::RecvTransportEngineImpl< OutputBuffer, MsgArbitrator >:
hmbdc::app::udpcast::recvtransportengine_detail::RecvTransportImpl< OutputBuffer, MsgArbitrator > hmbdc::app::Client< RecvTransportEngineImpl< OutputBuffer, MsgArbitrator > > hmbdc::app::udpcast::RecvTransport hmbdc::app::udpcast::Transport hmbdc::app::udpcast::EpollFd hmbdc::app::utils::EpollFd

Public Member Functions

void rotate ()
 if the user choose no to have a Context to manage and run the engine this method can be called from any thread from time to time to have the engine do its job More...
 
void invokedCb (size_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...
 
- Public Member Functions inherited from hmbdc::app::udpcast::recvtransportengine_detail::RecvTransportImpl< OutputBuffer, MsgArbitrator >
 RecvTransportImpl (Config const &cfg, OutputBuffer &outputBuffer, MsgArbitrator arb=NoOpArb())
 ctor More...
 
void start ()
 start the show by schedule the mesage recv
 
void handleMessageCb (Subscribe const &t)
 only used by MD
 
void handleMessageCb (Unsubscribe const &t)
 only used by MD
 
- Public Member Functions inherited from hmbdc::app::Client< RecvTransportEngineImpl< OutputBuffer, MsgArbitrator > >
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...
 
virtual bool droppedCb ()
 callback called after the Client is safely taken out of the Context More...
 
virtual ~Client ()
 trivial
 
void stopped (std::exception const &e) noexcept
 the following are for internal use, don't change or override
 

Additional Inherited Members

- Protected Member Functions inherited from hmbdc::app::Client< RecvTransportEngineImpl< OutputBuffer, MsgArbitrator > >
void batchDone ()
 the derived user's Client has the option to stop the current batch of event dispatching. More...
 

Member Function Documentation

◆ rotate()

template<typename OutputBuffer, typename MsgArbitrator = RecvTransport::NoOpArb>
void hmbdc::app::udpcast::recvtransportengine_detail::RecvTransportEngineImpl< OutputBuffer, MsgArbitrator >::rotate ( )
inline

if the user choose no to have a Context to manage and run the engine this method can be called from any thread from time to time to have the engine do its job

thread safe and non-blocking, if the engine is already being powered by a Context, this method has no effect

◆ stoppedCb()

template<typename OutputBuffer, typename MsgArbitrator = RecvTransport::NoOpArb>
void hmbdc::app::udpcast::recvtransportengine_detail::RecvTransportEngineImpl< OutputBuffer, MsgArbitrator >::stoppedCb ( std::exception const &  e)
inlineoverridevirtual

should not happen ever unless an exception thrown

Parameters
eexception thown

Reimplemented from hmbdc::app::Client< RecvTransportEngineImpl< OutputBuffer, MsgArbitrator > >.


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