Home
TURN module (rfc5766)

TCPConnectionPair

Paired TCP connections forming a single TURN relay pipe between a client and a peer.

TCPConnectionPair

#include <icy/turn/server/tcpconnectionpair.h>
class TCPConnectionPair

Defined in src/turn/include/icy/turn/server/tcpconnectionpair.h:35

Inherits: RefCounted< TCPConnectionPair >

Paired TCP connections forming a single TURN relay pipe between a client and a peer. Lifetime managed by IntrusivePtr; the owning TCPAllocation holds the Ptr in its pair map.

List of all members

NameKindOwner
allocationvariableDeclared here
clientvariableDeclared here
peervariableDeclared here
earlyPeerDatavariableDeclared here
connectionIDvariableDeclared here
isDataConnectionvariableDeclared here
pendingDeletevariableDeclared here
timeoutvariableDeclared here
transactionIDvariableDeclared here
TCPConnectionPairfunctionDeclared here
~TCPConnectionPairfunctionDeclared here
doPeerConnectfunctionDeclared here
makeDataConnectionfunctionDeclared here
setPeerSocketfunctionDeclared here
setClientSocketfunctionDeclared here
onPeerConnectSuccessfunctionDeclared here
onPeerConnectErrorfunctionDeclared here
onClientDataReceivedfunctionDeclared here
onPeerDataReceivedfunctionDeclared here
onConnectionClosedfunctionDeclared here
startTimeoutfunctionDeclared here
requestDeletionfunctionDeclared here
expiredfunctionDeclared here
PtrtypedefDeclared here
TCPConnectionPairfunctionDeclared here
operator=functionDeclared here
TCPConnectionPairfunctionDeclared here
operator=functionDeclared here
RefCountedfunctionInherited from RefCounted
RefCountedfunctionInherited from RefCounted
operator=functionInherited from RefCounted
addReffunctionInherited from RefCounted
releaseReffunctionInherited from RefCounted
refCountfunctionInherited from RefCounted
~RefCountedfunctionInherited from RefCounted
_refCountvariableInherited from RefCounted

Inherited from RefCounted

KindNameDescription
functionRefCountedDefaulted constructor.
functionRefCounted inline noexcept
functionoperator= inline noexcept
functionaddRef const inline noexceptIncrements the reference count. Called by IntrusivePtr on acquisition.
functionreleaseRef const inline noexceptDecrements the reference count.
functionrefCount const inline noexceptReturns the current reference count.
function~RefCountedDefaulted destructor.
variable_refCount

Public Attributes

ReturnNameDescription
TCPAllocation &allocation
net::SocketEmitterclient
net::SocketEmitterpeer
BufferearlyPeerData
uint32_tconnectionID
boolisDataConnection
boolpendingDelete
Timeouttimeout
stun::TransactionIDtransactionID

allocation

TCPAllocation & allocation

Defined in src/turn/include/icy/turn/server/tcpconnectionpair.h:67


client

net::SocketEmitter client

Defined in src/turn/include/icy/turn/server/tcpconnectionpair.h:69


peer

net::SocketEmitter peer

Defined in src/turn/include/icy/turn/server/tcpconnectionpair.h:70


earlyPeerData

Buffer earlyPeerData

Defined in src/turn/include/icy/turn/server/tcpconnectionpair.h:72


connectionID

uint32_t connectionID

Defined in src/turn/include/icy/turn/server/tcpconnectionpair.h:73


isDataConnection

bool isDataConnection

Defined in src/turn/include/icy/turn/server/tcpconnectionpair.h:74


pendingDelete

bool pendingDelete = false

Defined in src/turn/include/icy/turn/server/tcpconnectionpair.h:75


timeout

Timeout timeout

Defined in src/turn/include/icy/turn/server/tcpconnectionpair.h:76


transactionID

stun::TransactionID transactionID

Defined in src/turn/include/icy/turn/server/tcpconnectionpair.h:77

Public Methods

ReturnNameDescription
TCPConnectionPairConstructs a pair with a randomly assigned connection ID. The caller must add the pair to the allocation's pair map.
booldoPeerConnect
boolmakeDataConnection
voidsetPeerSocket
voidsetClientSocket
boolonPeerConnectSuccess
boolonPeerConnectError
boolonClientDataReceived
boolonPeerDataReceived
boolonConnectionClosed
voidstartTimeout
voidrequestDeletion
boolexpired const

TCPConnectionPair

TCPConnectionPair(TCPAllocation & allocation)

Defined in src/turn/include/icy/turn/server/tcpconnectionpair.h:43

Constructs a pair with a randomly assigned connection ID. The caller must add the pair to the allocation's pair map.

Parameters


doPeerConnect

bool doPeerConnect(const net::Address & peerAddr)

Defined in src/turn/include/icy/turn/server/tcpconnectionpair.h:46


makeDataConnection

bool makeDataConnection()

Defined in src/turn/include/icy/turn/server/tcpconnectionpair.h:47


setPeerSocket

void setPeerSocket(const net::TCPSocket::Ptr & socket)

Defined in src/turn/include/icy/turn/server/tcpconnectionpair.h:49


setClientSocket

void setClientSocket(const net::TCPSocket::Ptr & socket)

Defined in src/turn/include/icy/turn/server/tcpconnectionpair.h:50


onPeerConnectSuccess

bool onPeerConnectSuccess(net::Socket & socket)

Defined in src/turn/include/icy/turn/server/tcpconnectionpair.h:52


onPeerConnectError

bool onPeerConnectError(net::Socket & socket, const Error & error)

Defined in src/turn/include/icy/turn/server/tcpconnectionpair.h:53


onClientDataReceived

bool onClientDataReceived(net::Socket & socket, const MutableBuffer & buffer, const net::Address & peerAddress)

Defined in src/turn/include/icy/turn/server/tcpconnectionpair.h:55


onPeerDataReceived

bool onPeerDataReceived(net::Socket & socket, const MutableBuffer & buffer, const net::Address & peerAddress)

Defined in src/turn/include/icy/turn/server/tcpconnectionpair.h:57


onConnectionClosed

bool onConnectionClosed(net::Socket & socket)

Defined in src/turn/include/icy/turn/server/tcpconnectionpair.h:60


startTimeout

void startTimeout()

Defined in src/turn/include/icy/turn/server/tcpconnectionpair.h:62


requestDeletion

void requestDeletion()

Defined in src/turn/include/icy/turn/server/tcpconnectionpair.h:63


expired

const

bool expired() const

Defined in src/turn/include/icy/turn/server/tcpconnectionpair.h:65

Public Types

NameDescription
Ptr

Ptr

using Ptr = IntrusivePtr< TCPConnectionPair >

Defined in src/turn/include/icy/turn/server/tcpconnectionpair.h:38

Private Methods

ReturnNameDescription
TCPConnectionPairDeleted constructor.
TCPConnectionPairDeleted constructor.

TCPConnectionPair

TCPConnectionPair(const TCPConnectionPair &) = delete

Defined in src/turn/include/icy/turn/server/tcpconnectionpair.h:80

Deleted constructor.


TCPConnectionPair

TCPConnectionPair(TCPConnectionPair &&) = delete

Defined in src/turn/include/icy/turn/server/tcpconnectionpair.h:82

Deleted constructor.