QueuedConnectionManager
-
class QueuedConnectionManager
Bases:
ConnectionManager,QueuedReturn< PointerTo< Connection > >This flavor of
ConnectionManagerwill queue up all of the reset-connection messages from theConnectionReadersandConnectionWritersand report them to the client on demand.When a reset connection has been discovered via reset_connection_available()/get_reset_connection(), it is still the responsibility of the client to call
close_connection()on that connection to free up its resources.Inheritance diagram
-
QueuedConnectionManager(void)
-
bool get_reset_connection(PointerTo<Connection> &connection)
If a previous call to
reset_connection_available()returned true, this function will return information about the newly reset connection.Only connections which were externally reset are certain to appear in this list. Those which were explicitly closed via a call to
close_connection()may or may not be reported. Furthermore, it is the responsibility of the caller to subsequently callclose_connection()with any connection reported reset by this call. (There is no harm in callingclose_connection()more than once on a given socket.)The return value is true if a connection was successfully returned, or false if there was, in fact, no reset connection. (This may happen if there are multiple threads accessing the
QueuedConnectionManager).
-
bool reset_connection_available(void) const
Returns true if one of the readers/writers/listeners reported a connection reset recently. If so, the particular connection that has been reset can be extracted via
get_reset_connection().Only connections which were externally reset are certain to appear in this list. Those which were explicitly closed via a call to
close_connection()may or may not be reported. Furthermore, it is the responsibility of the caller to subsequently callclose_connection()with any connection reported reset by this call. (There is no harm in callingclose_connection()more than once on a given socket.)
-
QueuedConnectionManager(void)
