hmbdc
simplify-high-performance-messaging-programming
Public Member Functions | List of all members
hmbdc::tips::tcpcast::recvtransportengine_detail::RecvTransportEngine< OutputBuffer, AttachmentAllocator > Struct Template Reference
Inheritance diagram for hmbdc::tips::tcpcast::recvtransportengine_detail::RecvTransportEngine< OutputBuffer, AttachmentAllocator >:
hmbdc::tips::tcpcast::RecvTransport hmbdc::time::TimerManager hmbdc::time::ReoccuringTimer hmbdc::app::Client< RecvTransportEngine< OutputBuffer, AttachmentAllocator > > hmbdc::tips::tcpcast::Transport hmbdc::time::Timer

Public Member Functions

 RecvTransportEngine (Config cfg, OutputBuffer &outputBuffer)
 ctor More...
 
void stoppedCb (std::exception const &e) override
 should not htipsen ever unless an exception thrown More...
 
void invokedCb (size_t) HMBDC_RESTRICT override
 power the io_service and other things
 
size_t sessionsRemainingActive () const
 check how many other parties are sending to this engine More...
 
void handleMessageCb (TypeTagSource const &t)
 only used by MD
 
- Public Member Functions inherited from hmbdc::time::TimerManager
void schedule (SysTime fireAt, Timer &timer)
 schedule the timer to start at a specific time More...
 
void cancel (Timer &timer)
 cancel a timer previously scheduled with the TimerManager More...
 
- Public Member Functions inherited from hmbdc::app::Client< RecvTransportEngine< OutputBuffer, AttachmentAllocator > >
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 void messageDispatchingStartedCb (size_t const *pClientDispatchingStarted)
 called before any messages got dispatched - only once 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< RecvTransportEngine< OutputBuffer, AttachmentAllocator > >
void batchDone ()
 the derived user's Client has the option to stop the current batch of event dispatching. More...
 

Constructor & Destructor Documentation

◆ RecvTransportEngine()

template<typename OutputBuffer , typename AttachmentAllocator >
hmbdc::tips::tcpcast::recvtransportengine_detail::RecvTransportEngine< OutputBuffer, AttachmentAllocator >::RecvTransportEngine ( Config  cfg,
OutputBuffer &  outputBuffer 
)
inline

ctor

io_service could be passed in by user, in this case NO more than two threads should power this io_service instance since that would violate the thread garantee of Client, which is no callbacks are called in parallel

Parameters
cfgspecify the details of the tcpcast transport
outputBufferholding the results

Member Function Documentation

◆ sessionsRemainingActive()

template<typename OutputBuffer , typename AttachmentAllocator >
size_t hmbdc::tips::tcpcast::recvtransportengine_detail::RecvTransportEngine< OutputBuffer, AttachmentAllocator >::sessionsRemainingActive ( ) const
inline

check how many other parties are sending to this engine

Returns
recipient session count are still active

◆ stoppedCb()

template<typename OutputBuffer , typename AttachmentAllocator >
void hmbdc::tips::tcpcast::recvtransportengine_detail::RecvTransportEngine< OutputBuffer, AttachmentAllocator >::stoppedCb ( std::exception const &  e)
inlineoverridevirtual

should not htipsen ever unless an exception thrown

Parameters
eexception thown

Reimplemented from hmbdc::app::Client< RecvTransportEngine< OutputBuffer, AttachmentAllocator > >.


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