20 #ifndef CO_CONNECTION_SET_H
21 #define CO_CONNECTION_SET_H
25 #include <lunchbox/thread.h>
29 namespace detail {
class ConnectionSet; }
90 CO_API
Event select(
const uint32_t timeout = LB_TIMEOUT_INDEFINITE );
112 detail::ConnectionSet*
const _impl;
118 Event _getSelectResult(
const uint32_t index );
119 LB_TS_VAR( _selectThread );
123 CO_API std::ostream& operator << ( std::ostream&,
const ConnectionSet& );
129 #endif // CO_CONNECTION_SET_H
The selection request timed out.
std::vector< ConnectionPtr > Connections
A vector of ConnectionPtr's.
CO_API bool isEmpty() const
CO_API int getError() const
CO_API void addConnection(ConnectionPtr connection)
Add the connection to this set.
CO_API void interrupt()
Interrupt the current or next select call.
CO_API ConnectionSet()
Create a new connection set.
CO_API bool removeConnection(ConnectionPtr connection)
Remove the connection from this set.
Event
< Event types for select()
An error occurred during select()
CO_API ConnectionPtr getConnection()
Handles events on a set of connections.
ConnectionSet::interrupt was called.
CO_API ~ConnectionSet()
Destruct this connection set.
A connection is not select'able.
CO_API Event select(const uint32_t timeout=LB_TIMEOUT_INDEFINITE)
Select a Connection which is ready for I/O.
A connection signaled an error.
CO_API size_t getSize() const
Remove all connections from this set.
lunchbox::RefPtr< Connection > ConnectionPtr
A reference pointer for Connection pointers.