Collage
1.6.0
High-performance C++ library for developing object-oriented distributed applications.
|
Handles events on a set of connections. More...
#include <connectionSet.h>
Public Types | |
enum | Event { EVENT_NONE = 0, EVENT_CONNECT, EVENT_DISCONNECT, EVENT_DATA, EVENT_TIMEOUT, EVENT_INTERRUPT, EVENT_ERROR, EVENT_SELECT_ERROR, EVENT_INVALID_HANDLE, EVENT_ALL } |
< Event types for select() More... | |
Public Member Functions | |
CO_API | ConnectionSet () |
Create a new connection set. More... | |
CO_API | ~ConnectionSet () |
Destruct this connection set. More... | |
Managing connections | |
CO_API void | addConnection (ConnectionPtr connection) |
Add the connection to this set. More... | |
CO_API bool | removeConnection (ConnectionPtr connection) |
Remove the connection from this set. More... | |
CO_API size_t | getSize () const |
CO_API bool | isEmpty () const |
CO_API const Connections & | getConnections () const |
Performing a selection | |
CO_API Event | select (const uint32_t timeout=LB_TIMEOUT_INDEFINITE) |
Select a Connection which is ready for I/O. More... | |
CO_API void | interrupt () |
Interrupt the current or next select call. More... | |
CO_API int | getError () const |
CO_API ConnectionPtr | getConnection () |
void | setDirty () |
Handles events on a set of connections.
Definition at line 33 of file connectionSet.h.
< Event types for select()
Enumerator | |
---|---|
EVENT_NONE |
No event has occurred. |
EVENT_CONNECT |
A new connection. |
EVENT_DISCONNECT |
A disconnect. |
EVENT_DATA |
Data can be read. |
EVENT_TIMEOUT |
The selection request timed out. |
EVENT_INTERRUPT |
ConnectionSet::interrupt was called. |
EVENT_ERROR |
A connection signaled an error. |
EVENT_SELECT_ERROR |
An error occurred during select() |
EVENT_INVALID_HANDLE |
A connection is not select'able. |
Definition at line 36 of file connectionSet.h.
CO_API co::ConnectionSet::ConnectionSet | ( | ) |
Create a new connection set.
CO_API co::ConnectionSet::~ConnectionSet | ( | ) |
Destruct this connection set.
CO_API void co::ConnectionSet::addConnection | ( | ConnectionPtr | connection | ) |
Add the connection to this set.
Thread-safe.
CO_API ConnectionPtr co::ConnectionSet::getConnection | ( | ) |
CO_API int co::ConnectionSet::getError | ( | ) | const |
CO_API size_t co::ConnectionSet::getSize | ( | ) | const |
CO_API void co::ConnectionSet::interrupt | ( | ) |
Interrupt the current or next select call.
CO_API bool co::ConnectionSet::isEmpty | ( | ) | const |
CO_API bool co::ConnectionSet::removeConnection | ( | ConnectionPtr | connection | ) |
Remove the connection from this set.
Thread-safe.
CO_API Event co::ConnectionSet::select | ( | const uint32_t | timeout = LB_TIMEOUT_INDEFINITE | ) |
Select a Connection which is ready for I/O.
Depending on the event, the error number and connection are set.
timeout | the timeout to wait for an event in milliseconds, or LB_TIMEOUT_INDEFINITE if the call should block forever. |