|
virtual UtlBoolean | handleMessage (OsMsg &rMsg) |
|
UtlBoolean | sendStunProbe (IStunSocket *pSocket, const UtlString &remoteAddress, int remotePort, int priority) |
|
UtlBoolean | enableStun (IStunSocket *pSocket, const UtlString &stunServer, int stunPort, const int stunOptions, int keepAlive) |
|
UtlBoolean | disableStun (IStunSocket *pSocket) |
|
UtlBoolean | enableTurn (IStunSocket *pSocket, const UtlString &turnServer, int iTurnPort, int keepAliveSecs, const UtlString &username, const UtlString &password) |
|
UtlBoolean | primeTurnReception (IStunSocket *pSocket, const char *szAddress, int iPort) |
|
UtlBoolean | setTurnDestination (IStunSocket *pSocket, const char *szAddress, int iPort) |
|
void | disableTurn (IStunSocket *pSocket) |
|
UtlBoolean | addCrLfKeepAlive (IStunSocket *pSocket, const UtlString &remoteIp, int remotePort, int keepAliveSecs, OsNatKeepaliveListener *pListener) |
|
UtlBoolean | removeCrLfKeepAlive (IStunSocket *pSocket, const UtlString &serverIp, int serverPort) |
|
UtlBoolean | addStunKeepAlive (IStunSocket *pSocket, const UtlString &remoteIp, int remotePort, int keepAliveSecs, OsNatKeepaliveListener *pListener) |
|
UtlBoolean | removeStunKeepAlive (IStunSocket *pSocket, const UtlString &serverIp, int serverPort) |
|
UtlBoolean | removeKeepAlives (IStunSocket *pSocket) |
|
UtlBoolean | removeStunProbes (IStunSocket *pSocket) |
|
void | synchronize () |
|
UtlBoolean | areProbesOutstanding (IStunSocket *pSocket, int priority) |
|
UtlBoolean | doesBindingExist (IStunSocket *pSocket, NAT_AGENT_BINDING_TYPE type, const UtlString &serverIp, int serverPort) |
|
OsTimer * | getTimer () |
|
UtlBoolean | findContactAddress (const UtlString &destHost, int destPort, UtlString *pContactHost, int *pContactPort, int iTimeoutMs=0) |
|
void | addExternalBinding (OsSocket *pSocket, UtlString remoteAddress, int remotePort, UtlString contactAddress, int contactPort) |
|
void | clearExternalBinding (OsSocket *pSocket, UtlString remoteAddress, int remotePort, bool bOnlyIfEmpty=false) |
|
UtlBoolean | findExternalBinding (const UtlString &destHost, int destPort, UtlString *pContactHost, int *pContactPort, int iTimeoutMs=0, UtlBoolean *pTimedOut=NULL) |
|
| OsServerTask (const UtlString &name="", void *pArg=NULL, const int maxRequestQMsgs=DEF_MAX_MSGS, const int priority=DEF_PRIO, const int options=DEF_OPTIONS, const int stackSize=DEF_STACKSIZE) |
| Main constructor for OsServerTask. More...
|
|
virtual | ~OsServerTask () |
|
virtual OsStatus | postMessage (const OsMsg &rMsg, const OsTime &rTimeout=OsTime::OS_INFINITY, UtlBoolean sentFromISR=FALSE) |
|
virtual void | requestShutdown (void) |
|
OsMsgQ * | getMessageQueue () |
|
|
virtual UtlBoolean | handleTimerEvent (NAT_AGENT_CONTEXT *pContext) |
|
virtual void | handleStunTimeout (NAT_AGENT_CONTEXT *pContext) |
|
virtual void | handleTurnTimeout (NAT_AGENT_CONTEXT *pContext) |
|
virtual UtlBoolean | handleCrLfKeepAlive (NAT_AGENT_CONTEXT *pContext) |
|
virtual UtlBoolean | handleStunKeepAlive (NAT_AGENT_CONTEXT *pContext) |
|
virtual UtlBoolean | handleStunMessage (NatMsg &rMsg) |
|
virtual UtlBoolean | handleTurnMessage (NatMsg &rMsg) |
|
virtual UtlBoolean | handleSynchronize (OsRpcMsg &rMsg) |
|
virtual UtlBoolean | sendMessage (StunMessage *pMsg, IStunSocket *pSocket, const UtlString &toAddress, unsigned short toPort, PacketType packetType=UNKNOWN_PACKET) |
|
NAT_AGENT_CONTEXT * | getBinding (IStunSocket *pSocket, NAT_AGENT_BINDING_TYPE type) |
|
NAT_AGENT_CONTEXT * | getBinding (NAT_AGENT_CONTEXT *pContext) |
|
NAT_AGENT_CONTEXT * | getBinding (STUN_TRANSACTION_ID *pId) |
|
void | destroyBinding (NAT_AGENT_CONTEXT *pBinding) |
|
void | releaseTimer (OsTimer *pTimer) |
|
UtlBoolean | sendStunRequest (NAT_AGENT_CONTEXT *pBinding) |
|
UtlBoolean | sendTurnRequest (NAT_AGENT_CONTEXT *pBinding) |
|
void | markStunFailure (NAT_AGENT_CONTEXT *pBinding) |
|
void | markStunSuccess (NAT_AGENT_CONTEXT *pBinding, const UtlString &mappedAddress, int mappedPort) |
|
void | markTurnFailure (NAT_AGENT_CONTEXT *pBinding) |
|
void | markTurnSuccess (NAT_AGENT_CONTEXT *pBinding, const UtlString &relayAddress, int relayPort) |
|
OsNatKeepaliveEvent | populateKeepaliveEvent (NAT_AGENT_CONTEXT *pContext) |
|
void | dumpContext (UtlString *pResults, NAT_AGENT_CONTEXT *pBinding) |
|
virtual OsStatus | receiveMessage (OsMsg *&rpMsg) |
|
virtual OsStatus | receiveMessage (OsMsg *&rpMsg, const OsTime &rTimeout) |
|
virtual int | run (void *pArg) |
|
The OsNatAgentTask is responsible for servicing all stun requests and and responses on behalf of the IStunSocket. This handles the stun requests/responses however relies on someone else to pump sockets.
Use cases:
1) Send a STUN request via a supplied IStunSocket 2) Process responses from a IStunSocket 3) Process server requests from a IStunSocket