18 #ifndef STUN_TCP_SERVER_H 19 #define STUN_TCP_SERVER_H
void CloseAllConnections(StunThreadConnectionMap *pConnMap)
void CloseConnection(StunConnection *pConn)
HRESULT NotifyThreadViaPipe()
static const int c_sweepTimeoutSeconds
StunThreadConnectionMap _hashConnections2
TransportAddressSet _tsaListen
void ProcessConnectionEvent(int sock, uint32_t eventflags)
CRefCountedPtr< IStunAuth > _spAuth
bool _fListenSocketsOnEpoll
void SweepDeadConnections()
StunThreadConnectionMap * _pOldConnList
HRESULT WriteBytesForConnection(StunConnection *pConn)
boost::shared_ptr< RateLimiter > _spLimiter
#define ADDREF_AND_RELEASE_IMPL()
void CloseListenSockets()
StunConnection * AcceptConnection(CStunSocket *pListenSocket)
CStunSocket _socketListenArray[4]
FastHashDynamic< int, StunConnection * > StunThreadConnectionMap
StunThreadConnectionMap * _pNewConnList
static void * ThreadFunction(void *pThis)
StunThreadConnectionMap _hashConnections1
HRESULT SetListenSocketsOnEpoll(bool fEnable)
HRESULT ReceiveBytesForConnection(StunConnection *pConn)
CStunSocket * GetListenSocket(int sock)
HRESULT CreateListenSockets()
bool IsConnectionCountAtMax()
HRESULT Init(const TransportAddressSet &tsaListen, const TransportAddressSet &tsaHandler, IStunAuth *pAuth, int maxConnections, boost::shared_ptr< RateLimiter > &spLimiter)
CRefCountedPtr< IPolling > _spPolling
CConnectionPool _connectionpool
CRefCountedPtr< IStunAuth > _spAuth
bool RateCheck(const CSocketAddress &addr)