hmbdc
simplify-high-performance-messaging-programming
Public Member Functions | List of all members
hmbdc::app::tcpcast::AsyncSendServer Struct Reference
Inheritance diagram for hmbdc::app::tcpcast::AsyncSendServer:
hmbdc::app::tcpcast::SendServer

Public Member Functions

 AsyncSendServer (Config const &cfg, io_service &ios, size_t toSendQueueMaxSize)
 
void queue (pair< char const *, char const * > const &t, ToSend &&toSend, size_t toSendByteSize, MonoLockFreeBuffer::iterator it)
 
MonoLockFreeBuffer::iterator run (MonoLockFreeBuffer::iterator begin, MonoLockFreeBuffer::iterator end) __restrict__
 run the server's async send function and decide which items in buffer can be release More...
 
size_t readySessionCount () const override
 
void killSlowestSession ()
 
- Public Member Functions inherited from hmbdc::app::tcpcast::SendServer
 SendServer (Config const &cfg, io_service &ios)
 
TopicSource const & advertisingMessage () const
 

Additional Inherited Members

- Protected Attributes inherited from hmbdc::app::tcpcast::SendServer
Config config_
 
tcp::acceptor acceptor_
 
tcp::socket socket_
 
TopicSource advertisingMessage_
 

Member Function Documentation

MonoLockFreeBuffer::iterator hmbdc::app::tcpcast::AsyncSendServer::run ( MonoLockFreeBuffer::iterator  begin,
MonoLockFreeBuffer::iterator  end 
)
inline

run the server's async send function and decide which items in buffer can be release

called all the time

Parameters
beginif nothing can be released in buffer return this
endif all can be releases return this
Returns
iterator in buffer poing to new start (not released)

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