Selector.h File Reference

#include <SFML/Config.h>
#include <SFML/Network/SocketTCP.h>
#include <SFML/Network/SocketUDP.h>

Go to the source code of this file.


Typedefs

typedef sfSelectorTCP sfSelectorTCP
 sfSelectorTCP and sfSelectorUDP allow reading from multiple sockets without blocking.
typedef sfSelectorUDP sfSelectorUDP

Functions

CSFML_API sfSelectorTCPsfSelectorTCP_Create ()
 Create a new selector.
CSFML_API sfSelectorUDPsfSelectorUDP_Create ()
CSFML_API void sfSelectorTCP_Destroy (sfSelectorTCP *Selector)
 Destroy an existing selector.
CSFML_API void sfSelectorUDP_Destroy (sfSelectorUDP *Selector)
CSFML_API void sfSelectorTCP_Add (sfSelectorTCP *Selector, sfSocketTCP *Socket)
 Add a socket to watch to a selector.
CSFML_API void sfSelectorUDP_Add (sfSelectorUDP *Selector, sfSocketUDP *Socket)
CSFML_API void sfSelectorTCP_Remove (sfSelectorTCP *Selector, sfSocketTCP *Socket)
 Remove a socket from a selector.
CSFML_API void sfSelectorUDP_Remove (sfSelectorUDP *Selector, sfSocketUDP *Socket)
CSFML_API void sfSelectorTCP_Clear (sfSelectorTCP *Selector)
 Remove all sockets from a selector.
CSFML_API void sfSelectorUDP_Clear (sfSelectorUDP *Selector)
CSFML_API size_t sfSelectorTCP_GetSocketsReady (sfSelectorTCP *Selector, sfSocketTCP **Sockets, float Timeout)
 Retrieve all the sockets of a selector which are ready for reading or writing.
CSFML_API size_t sfSelectorUDP_GetSocketsReady (sfSelectorUDP *Selector, sfSocketUDP **Sockets, float Timeout)

Typedef Documentation

typedef struct sfSelectorTCP sfSelectorTCP

sfSelectorTCP and sfSelectorUDP allow reading from multiple sockets without blocking.

It's a kind of multiplexer

Definition at line 40 of file Selector.h.

typedef struct sfSelectorUDP sfSelectorUDP

Definition at line 41 of file Selector.h.


Function Documentation

CSFML_API void sfSelectorTCP_Add ( sfSelectorTCP Selector,
sfSocketTCP Socket 
)

Add a socket to watch to a selector.

Parameters:
Selector : Selector to add the socket to
Socket : Socket to add

CSFML_API void sfSelectorTCP_Clear ( sfSelectorTCP Selector  ) 

Remove all sockets from a selector.

Parameters:
Selector : Selector to remove the socket from

CSFML_API sfSelectorTCP* sfSelectorTCP_Create (  ) 

Create a new selector.

Returns:
A new sfSelector object

CSFML_API void sfSelectorTCP_Destroy ( sfSelectorTCP Selector  ) 

Destroy an existing selector.

Parameters:
Selector : Selector to delete

CSFML_API size_t sfSelectorTCP_GetSocketsReady ( sfSelectorTCP Selector,
sfSocketTCP **  Sockets,
float  Timeout 
)

Retrieve all the sockets of a selector which are ready for reading or writing.

This functions will return either when at least one socket is ready, or when given time is out

Parameters:
Selector : Selector to check
Sockets : Pointer to an array of sockets to fill (must have enough memory allocated)
Timeout : Maximum time to wait, in seconds
Returns:
Number of sockets ready

CSFML_API void sfSelectorTCP_Remove ( sfSelectorTCP Selector,
sfSocketTCP Socket 
)

Remove a socket from a selector.

Parameters:
Selector : Selector to remove the socket from
Socket : Socket to remove

CSFML_API void sfSelectorUDP_Add ( sfSelectorUDP Selector,
sfSocketUDP Socket 
)

CSFML_API void sfSelectorUDP_Clear ( sfSelectorUDP Selector  ) 

CSFML_API sfSelectorUDP* sfSelectorUDP_Create (  ) 

CSFML_API void sfSelectorUDP_Destroy ( sfSelectorUDP Selector  ) 

CSFML_API size_t sfSelectorUDP_GetSocketsReady ( sfSelectorUDP Selector,
sfSocketUDP **  Sockets,
float  Timeout 
)

CSFML_API void sfSelectorUDP_Remove ( sfSelectorUDP Selector,
sfSocketUDP Socket 
)