reSIProcate
SIP stack, Dialog Usage Manager and related libraries
Loading...
Searching...
No Matches
reTurn::TurnManager Class Reference

#include <TurnManager.hxx>

Public Member Functions

 TurnManager (asio::io_context &ioService, const ReTurnConfig &config)
 
 ~TurnManager ()
 
asio::io_context & getIOService ()
 
unsigned short allocateAnyPort (StunTuple::TransportType transport)
 
unsigned short allocateEvenPort (StunTuple::TransportType transport)
 
unsigned short allocateOddPort (StunTuple::TransportType transport)
 
unsigned short allocateEvenPortPair (StunTuple::TransportType transport)
 
bool allocatePort (StunTuple::TransportType transport, unsigned short port, bool reserved=false)
 
void deallocatePort (StunTuple::TransportType transport, unsigned short port)
 
const ReTurnConfig & getConfig ()
 
bool allocationQuotaReached (const resip::Data &username) const
 Allocations per user, over all transports: TurnAllocation adds and removes its own (MaxAllocationsPerUser)
 
void addAllocation (const resip::Data &username)
 
void removeAllocation (const resip::Data &username)
 
bool addConnection (const asio::ip::address &address)
 TCP and TLS connections per client IP address (MaxTcpConnectionsPerIp): addConnection returns false, counting nothing, if the address already has as many as allowed.
 
void removeConnection (const asio::ip::address &address)
 

Detailed Description

Definition at line 16 of file TurnManager.hxx.

Constructor & Destructor Documentation

◆ TurnManager()

reTurn::TurnManager::TurnManager ( asio::io_context &  ioService,
const ReTurnConfig &  config 
)
explicit

Definition at line 14 of file TurnManager.cxx.

◆ ~TurnManager()

reTurn::TurnManager::~TurnManager ( )

Definition at line 28 of file TurnManager.cxx.

Member Function Documentation

◆ addAllocation()

void reTurn::TurnManager::addAllocation ( const resip::Data &  username)

Definition at line 45 of file TurnManager.cxx.

◆ addConnection()

bool reTurn::TurnManager::addConnection ( const asio::ip::address &  address)

TCP and TLS connections per client IP address (MaxTcpConnectionsPerIp): addConnection returns false, counting nothing, if the address already has as many as allowed.

Definition at line 61 of file TurnManager.cxx.

◆ allocateAnyPort()

unsigned short reTurn::TurnManager::allocateAnyPort ( StunTuple::TransportType  transport)

Definition at line 99 of file TurnManager.cxx.

◆ allocateEvenPort()

unsigned short reTurn::TurnManager::allocateEvenPort ( StunTuple::TransportType  transport)

Definition at line 114 of file TurnManager.cxx.

◆ allocateEvenPortPair()

unsigned short reTurn::TurnManager::allocateEvenPortPair ( StunTuple::TransportType  transport)

Definition at line 155 of file TurnManager.cxx.

◆ allocateOddPort()

unsigned short reTurn::TurnManager::allocateOddPort ( StunTuple::TransportType  transport)

Definition at line 135 of file TurnManager.cxx.

◆ allocatePort()

bool reTurn::TurnManager::allocatePort ( StunTuple::TransportType  transport,
unsigned short  port,
bool  reserved = false 
)

Definition at line 178 of file TurnManager.cxx.

◆ allocationQuotaReached()

bool reTurn::TurnManager::allocationQuotaReached ( const resip::Data &  username) const

Allocations per user, over all transports: TurnAllocation adds and removes its own (MaxAllocationsPerUser)

Definition at line 34 of file TurnManager.cxx.

◆ deallocatePort()

void reTurn::TurnManager::deallocatePort ( StunTuple::TransportType  transport,
unsigned short  port 
)

Definition at line 204 of file TurnManager.cxx.

◆ getConfig()

const ReTurnConfig & reTurn::TurnManager::getConfig ( )
inline

Definition at line 31 of file TurnManager.hxx.

◆ getIOService()

asio::io_context & reTurn::TurnManager::getIOService ( )
inline

Definition at line 22 of file TurnManager.hxx.

◆ removeAllocation()

void reTurn::TurnManager::removeAllocation ( const resip::Data &  username)

Definition at line 51 of file TurnManager.cxx.

◆ removeConnection()

void reTurn::TurnManager::removeConnection ( const asio::ip::address &  address)

Definition at line 82 of file TurnManager.cxx.


The documentation for this class was generated from the following files: