ClientObserver
ClientObserver
#include <icy/turn/client/client.h>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 | Called whenever the client's state machine transitions to a new state. |
void | onRelayDataReceived | 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
void onClientStateChange(Client & client, ClientState & state, const ClientState & oldState)Called whenever the client's state machine transitions to a new state.
Parameters
clientThe client that changed state.stateThe new state.oldStateThe previous state.
onRelayDataReceived
void onRelayDataReceived(Client & client, const char * data, size_t size, const net::Address & peerAddress)Called when relayed data is received from a peer via a Data Indication.
Parameters
clientThe owning client.dataPointer to the received payload bytes.sizeNumber of bytes indata.peerAddressSource address of the remote peer.
onAllocationFailed
virtual inline
virtual inline void onAllocationFailed(Client & client, int errorCode, const std::string & reason)Called when the server rejects an Allocate request with an error.
Parameters
clientThe owning client.errorCodeSTUN error code (e.g. 401, 438).reasonHuman-readable error reason string.
onAllocationDeleted
virtual inline
virtual inline void onAllocationDeleted(Client & client, const stun::Transaction & transaction)Called when the server confirms deletion of the allocation.
Parameters
clientThe owning client.transactionThe completed Refresh transaction (lifetime == 0).
onAllocationPermissionsCreated
virtual inline
virtual inline void onAllocationPermissionsCreated(Client & client, const PermissionList & permissions)Called after a CreatePermission request succeeds.
Parameters
clientThe owning client.permissionsThe full list of active permissions after this update.
onTransactionResponse
virtual inline
virtual inline void onTransactionResponse(Client & client, const stun::Transaction & transaction)All received transaction responses will be routed here after local processing so the observer can easily implement extra functionality.
Parameters
clientThe owning client.transactionThe completed transaction (request + response accessible).
onTimer
virtual inline
virtual inline void onTimer(Client & client)Fires after the client's internal timer callback. Handy for performing extra async cleanup tasks.
Parameters
clientThe owning client.
