|
Collage
1.3.0
High-performance C++ library for developing object-oriented distributed applications.
|
Handles events on a set of connections. More...
#include <connectionSet.h>
Inheritance diagram for co::ConnectionSet:
Collaboration diagram for co::ConnectionSet: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. |