ClientObserver
#include <icy/turn/client/client.h>
struct ClientObserverDefined in src/turn/include/icy/turn/client/client.h:69
- Subclassed by
TCPClientObserver
Abstract observer interface for TURN client events. Callers subclass this to receive allocation lifecycle and data relay callbacks.
Public Methods
| Return | Name | Description |
|---|---|---|
void | onClientStateChange virtual | Called whenever the client's state machine transitions to a new state. |
void | onRelayDataReceived virtual | Called when relayed data is received from a peer via a Data Indication. |
void | onAllocationFailed virtual inline | Called when the server rejects an Allocate request with an error. |
void | onAllocationDeleted virtual inline | Called when the server confirms deletion of the allocation. |
void | onAllocationPermissionsCreated virtual inline | Called after a CreatePermission request succeeds. |
void | onTransactionResponse virtual inline | All received transaction responses will be routed here after local processing so the observer can easily implement extra functionality. |
void | onTimer virtual inline | Fires after the client's internal timer callback. Handy for performing extra async cleanup tasks. |
onClientStateChange
virtual
virtual void onClientStateChange(Client & client, ClientState & state, const ClientState & oldState)Defined in src/turn/include/icy/turn/client/client.h:75
Called whenever the client's state machine transitions to a new state.
Parameters
| Parameter | Type | Description |
|---|---|---|
client | Client & | The client that changed state. |
state | ClientState & | The new state. |
oldState | const ClientState & | The previous state. |
onRelayDataReceived
virtual
virtual void onRelayDataReceived(Client & client, const char * data, size_t size, const net::Address & peerAddress)Defined in src/turn/include/icy/turn/client/client.h:82
Called when relayed data is received from a peer via a Data Indication.
Parameters
| Parameter | Type | Description |
|---|---|---|
client | Client & | The owning client. |
data | const char * | Pointer to the received payload bytes. |
size | size_t | Number of bytes in data. |
peerAddress | const net::Address & | Source address of the remote peer. |
onAllocationFailed
virtual inline
virtual inline void onAllocationFailed(Client & client, int errorCode, const std::string & reason)Defined in src/turn/include/icy/turn/client/client.h:88
Called when the server rejects an Allocate request with an error.
Parameters
| Parameter | Type | Description |
|---|---|---|
client | Client & | The owning client. |
errorCode | int | STUN error code (e.g. 401, 438). |
reason | const std::string & | Human-readable error reason string. |
onAllocationDeleted
virtual inline
virtual inline void onAllocationDeleted(Client & client, const stun::Transaction & transaction)Defined in src/turn/include/icy/turn/client/client.h:93
Called when the server confirms deletion of the allocation.
Parameters
| Parameter | Type | Description |
|---|---|---|
client | Client & | The owning client. |
transaction | const stun::Transaction & | The completed Refresh transaction (lifetime == 0). |
onAllocationPermissionsCreated
virtual inline
virtual inline void onAllocationPermissionsCreated(Client & client, const PermissionList & permissions)Defined in src/turn/include/icy/turn/client/client.h:98
Called after a CreatePermission request succeeds.
Parameters
| Parameter | Type | Description |
|---|---|---|
client | Client & | The owning client. |
permissions | const PermissionList & | The full list of active permissions after this update. |
onTransactionResponse
virtual inline
virtual inline void onTransactionResponse(Client & client, const stun::Transaction & transaction)Defined in src/turn/include/icy/turn/client/client.h:104
All received transaction responses will be routed here after local processing so the observer can easily implement extra functionality.
Parameters
| Parameter | Type | Description |
|---|---|---|
client | Client & | The owning client. |
transaction | const stun::Transaction & | The completed transaction (request + response accessible). |
onTimer
virtual inline
virtual inline void onTimer(Client & client)Defined in src/turn/include/icy/turn/client/client.h:109
Fires after the client's internal timer callback. Handy for performing extra async cleanup tasks.
Parameters
| Parameter | Type | Description |
|---|---|---|
client | Client & | The owning client. |
