Collage  0.6.1
Public Member Functions | Public Types
co::ConnectionSet Class Reference

Handles events on a set of connections. More...

#include <connectionSet.h>

+ Inheritance diagram for co::ConnectionSet:
+ Collaboration diagram for co::ConnectionSet:

List of all members.

Public Member Functions

CO_API void addConnection (ConnectionPtr connection)
CO_API bool removeConnection (ConnectionPtr connection)
CO_API void clear ()
CO_API size_t getSize () const
CO_API bool isEmpty () const
CO_API const ConnectionsgetConnections () const
CO_API Event select (const uint32_t timeout=LB_TIMEOUT_INDEFINITE)
 Selects a Connection which is ready for I/O.
CO_API void interrupt ()
 Interrupt the current or next select call.
void setDirty ()
CO_API int getError () const
CO_API ConnectionPtr getConnection ()

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
}

Detailed Description

Handles events on a set of connections.

Definition at line 29 of file connectionSet.h.


Member Enumeration Documentation

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 32 of file connectionSet.h.


Member Function Documentation

CO_API Event co::ConnectionSet::select ( const uint32_t  timeout = LB_TIMEOUT_INDEFINITE)

Selects a Connection which is ready for I/O.

Depending on the event, the error number and connection are set.

Parameters:
timeoutthe timeout to wait for an event in milliseconds, or LB_TIMEOUT_INDEFINITE if the call should block forever.
Returns:
The event occured during selection.

The documentation for this class was generated from the following file:
Generated on Mon Nov 26 2012 14:41:44 for Collage 0.6.1 by  doxygen 1.7.6.1