20 #ifndef CO_CONNECTION_SET_H
21 #define CO_CONNECTION_SET_H
25 #include <lunchbox/thread.h>
26 #include <boost/noncopyable.hpp>
30 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 Event _parseSelect(
const uint32_t index );
120 LB_TS_VAR( _selectThread );
124 CO_API std::ostream& operator << ( std::ostream&,
const ConnectionSet& );
130 #endif // CO_CONNECTION_SET_H
Defines export visibility macros for library Collage.
CO_API ~ConnectionSet()
Destruct this connection set.
std::vector< ConnectionPtr > Connections
A vector of ConnectionPtr's.
Event
< Event types for select()
CO_API int getError() const
ConnectionSet::interrupt was called.
CO_API size_t getSize() const
CO_API bool isEmpty() const
The selection request timed out.
A connection is not select'able.
CO_API void interrupt()
Interrupt the current or next select call.
CO_API ConnectionPtr getConnection()
CO_API bool removeConnection(ConnectionPtr connection)
Remove the connection from this set.
An error occurred during select()
A connection signaled an error.
CO_API Event select(const uint32_t timeout=LB_TIMEOUT_INDEFINITE)
Select a Connection which is ready for I/O.
CO_API void addConnection(ConnectionPtr connection)
Add the connection to this set.
CO_API ConnectionSet()
Create a new connection set.
Handles events on a set of connections.
lunchbox::RefPtr< Connection > ConnectionPtr
A reference pointer for Connection pointers.