The C++ framework for developing highly scalable, high performance servers on Windows platforms.

TDatagramSocketConnectionManager Class Template Reference
[Datagram SocketsConnection managers]

Inheritance diagram for TDatagramSocketConnectionManager:
Collaboration diagram for TDatagramSocketConnectionManager:

List of all members.


Detailed Description

template<class Base>
class JetByteTools::Socket::TDatagramSocketConnectionManager< Base >

A connection manager for datagram sockets.

Public Types

typedef unsigned long DataLength

Public Member Functions

 TDatagramSocketConnectionManager (IDatagramSocketConnectionManagerCallback &callback, JetByteTools::IO::IIOPool &pool, IAllocateDatagramSockets &socketAllocator, JetByteTools::IO::IAllocateBuffers &allocator, ILimitConnections &connectionLimiter=CConnectionLimiter::NoLimitLimiter)
 Construct a connection manager with the supplied callback interface, I/O pool, and allocators.
 TDatagramSocketConnectionManager (const TDatagramSocketConnectionManager &rhs)
virtual ~TDatagramSocketConnectionManager ()
TDatagramSocketConnectionManageroperator= (const TDatagramSocketConnectionManager &rhs)
CSmartDatagramSocket Bind (const IFullAddress &address, SocketBufferSize recvBufferSize=DefaultSocketBufferSize, SocketBufferSize sendBufferSize=DefaultSocketBufferSize)
 Creates a datagram socket and binds it to the supplied address.
CSmartDatagramSocket TryBind (const IFullAddress &address, SocketBufferSize recvBufferSize=DefaultSocketBufferSize, SocketBufferSize sendBufferSize=DefaultSocketBufferSize)
 Attempts to create a datagram socket and bind it to the supplied address.
void SendTo (const IFullAddress &address, const char *pData, DataLength dataLength)
 Creates a datagram socket and issues a SendTo() of the data to the supplied address. Note that the socket is not bound to a local address until the SendTo() takes place which is why you don't get a socket returned to you from this call.
void SendTo (const IFullAddress &address, const BYTE *pData, DataLength dataLength)
 Creates a datagram socket and issues a SendTo() of the data to the supplied address. Note that the socket is not bound to a local address until the SendTo() takes place which is why you don't get a socket returned to you from this call.
void SendTo (const IFullAddress &address, JetByteTools::IO::CSmartBuffer &buffer)
 Creates a datagram socket and issues a SendTo() of the data to the supplied address. Note that the socket is not bound to a local address until the SendTo() takes place which is why you don't get a socket returned to you from this call.
bool TrySendTo (const IFullAddress &address, const char *pData, DataLength dataLength)
 Creates a datagram socket and issues a SendTo() of the data to the supplied address. Note that the socket is not bound to a local address until the SendTo() takes place which is why you don't get a socket returned to you from this call.
bool TrySendTo (const IFullAddress &address, const BYTE *pData, DataLength dataLength)
 Creates a datagram socket and issues a SendTo() of the data to the supplied address. Note that the socket is not bound to a local address until the SendTo() takes place which is why you don't get a socket returned to you from this call.
bool TrySendTo (const IFullAddress &address, JetByteTools::IO::CSmartBuffer &buffer)
 Creates a datagram socket and issues a SendTo() of the data to the supplied address. Note that the socket is not bound to a local address until the SendTo() takes place which is why you don't get a socket returned to you from this call.
CSmartDatagramSocket Connect (const IFullAddress &address, const void *pUserData=nullptr, SocketBufferSize recvBufferSize=DefaultSocketBufferSize, SocketBufferSize sendBufferSize=DefaultSocketBufferSize)
 Connects, synchronously, to the specified address and returns a smart pointer to the resulting datagram socket. Throws exceptions on failure to connect, the resulting datagram socket is always connected and valid. Passes the user data pointer through to IDatagramSocketConnectionManagerCallback::OnPreOutgoingConnect() before returning. Calls IDatagramSocketConnectionManagerCallback::OnConnectionEstablished(), before returning, if the connection is successful.
CSmartDatagramSocket ConnectNoThrow (const IFullAddress &address, const void *pUserData=nullptr, SocketBufferSize recvBufferSize=DefaultSocketBufferSize, SocketBufferSize sendBufferSize=DefaultSocketBufferSize)
 Connects, synchronously, to the specified address and returns a smart pointer to the resulting datagram socket. Does not throw exceptions, the smart datagram pointer will be null if the connection attempt fails; call CSmartDatagramSocket::Get() to determine this. Passes the user data pointer through to IDatagramSocketConnectionManagerCallback::OnPreOutgoingConnect() before returning. Calls IDatagramSocketConnectionManagerCallback::OnOutgoingConnectionFailed(), before returning, if the connection fails and IDatagramSocketConnectionManagerCallback::OnConnectionEstablished(), before returning, if the connection is successful.
DWORD AbortAllConnections ()
 Aborts all active sockets that are managed by the supplied manager and returns the number of active sockets that were aborted.
virtual void BeginShutdown ()
 Starts the shutdown process and returns immediately.
virtual void WaitForShutdownToComplete ()
 Initiates a shutdown (if one isn't already in progresss) and then waits for it to complete. Does not return until the shutdown has completed.
virtual bool WaitForShutdownToComplete (Milliseconds timeout)
 Initiates a shutdown (if one isn't already in progresss) and then waits for the supplied number of milliseconds for it to complete. Returns true if the shutdown completed successfully before the timeout expired and false if it didn't.
virtual void ForceShutdown ()
 Force a shutdown to occur, this is DANGEROUS to use as it can result in a shutdown of this object, and its potential destruction, whilst there are sockets alive that may call back into this object. Use with care!

Protected Member Functions

CSmartDatagramSocket Connect (const IFullAddress &address, const void *pUserData, const void *pFilterData, SocketBufferSize recvBufferSize, SocketBufferSize sendBufferSize)
CSmartDatagramSocket ConnectNoThrow (const IFullAddress &address, const void *pUserData, const void *pFilterData, SocketBufferSize recvBufferSize, SocketBufferSize sendBufferSize)
SOCKET CreateSocket (const IAddressType &addressType, SocketBufferSize recvBufferSize=DefaultSocketBufferSize, SocketBufferSize sendBufferSize=DefaultSocketBufferSize)
void OnConnectionReset (IDatagramSocketEx &socket, DWORD lastError)
void OnConnectionClosed (IDatagramSocketEx &socket, ConnectionClosureReason reason)
void RequestRead (IDatagramSocketEx &socket, JetByteTools::IO::CSmartBuffer &buffer) override
void RequestRecvFrom (IDatagramSocketEx &socket, JetByteTools::IO::CSmartBuffer &buffer) override
void RequestWrite (IDatagramSocketEx &socket, JetByteTools::IO::CSmartBuffer &buffer) override
void RequestSendTo (IDatagramSocketEx &socket, const IAddress &address, JetByteTools::IO::CSmartBuffer &buffer) override
void RequestCancelIO (IDatagramSocketEx &socket) override
virtual
CSmartDatagramSocketEx 
AllocateSocket (SOCKET theSocket)
void HandleOperation (IDatagramSocketEx &socket, JetByteTools::IO::CSmartBuffer &buffer, DWORD ioSize, DWORD lastError) override
DWORD AbortAllConnections (ConnectionClosureReason reason)
bool ShutdownIsInProgress () const
virtual void Start ()
void EnsureCanConnectNow ()
bool CheckCanConnectNow ()
void AssociateDevice (SOCKET s, JetByteTools::IO::IHandler &handler) const
JetByteTools::IO::CSmartBuffer AllocateBuffer () override
JetByteTools::IO::CSmartBuffer AllocateBuffer (JetByteTools::IO::IPoolBuffers &pool) override
JetByteTools::IO::CSmartBuffer AllocateCustomSizedBuffer (JetByteTools::IO::IBuffer::BufferSize bufferSize) override
void IncrementActiveConnections ()
void DecrementActiveConnections ()
virtual void ReleaseSocket (IPoolableSocket &socket, bool wasUserSocket) override
virtual void ShutdownComplete ()
void SetBufferSize (SOCKET s, SocketBufferSize bufferSize, int optionName) const
bool ConnectEx (SOCKET s, const struct sockaddr FAR *name, int namelen, PVOID lpSendBuffer, DWORD dwSendDataLength, LPDWORD lpdwBytesSent, LPOVERLAPPED lpOverlapped) const
 Loads, if necessary and available, and then calls ConnectEx(). If the function isn't available then an exception is thrown.
bool LoadConnectEx (SOCKET s) const
 Attempts to load ConnectEx() via a call to WSAIoctl(). Returns true if successful.
bool AcceptEx (SOCKET listenSocket, SOCKET acceptSocket, PVOID pOutputBuffer, DWORD receiveDataLength, DWORD localAddressLength, DWORD remoteAddressLength, LPDWORD bytesReceived, LPOVERLAPPED pOverlapped) const
 Loads, if necessary and available, and then calls AcceptEx(). If the function isn't available then an exception is thrown.
bool LoadAcceptEx (SOCKET s) const
 Attempts to load AcceptEx() via a call to WSAIoctl(). Returns true if successful.
void GetAcceptExSockaddrs (PVOID pOutputBuffer, DWORD receiveDataLength, DWORD localAddressLength, DWORD remoteAddressLength, LPSOCKADDR *pLocalSockaddr, LPINT pLocalSockaddrLength, LPSOCKADDR *pRemoteSockaddr, LPINT pRemoteSockaddrLength) const
 Loads, if necessary and available, and then calls GetAcceptExSockaddrs(). If the function isn't available then an exception is thrown.
bool LoadGetAcceptExSockaddrs (SOCKET s) const
 Attempts to load GetAcceptExSockaddrs() via a call to WSAIoctl(). Returns true if successful.
bool DisconnectEx (SOCKET s, LPOVERLAPPED pOverlapped, DWORD flags) const
 Loads, if necessary and available, and then calls DisconnectEx(). If the function isn't available then an exception is thrown.
bool LoadDisconnectEx (SOCKET s) const
 Attempts to load DisconnectEx() via a call to WSAIoctl(). Returns true if successful.
bool TransmitFile (SOCKET s, HANDLE fileToTransmit, DWORD numberOfBytesToWrite, DWORD numberOfBytesPerSend, LPOVERLAPPED lOverlapped, LPTRANSMIT_FILE_BUFFERS lTransmitBuffers, DWORD flags) const
 Loads, if necessary and available, and then calls TransmitFile(). If the function isn't available then an exception is thrown.
bool LoadTransmitFile (SOCKET s) const
 Attempts to load TransmitFile() via a call to WSAIoctl(). Returns true if successful.
bool DisconnectSocketForReuse (SOCKET s) const
 Attempts to disconnect a socket for reuse first by attempting to call DisconnectEx() and then by attempting to call TransmitFile() in 'disconnect for reuse mode' see http://msdn2.microsoft.com/en-us/library/ms740565.aspx for details. If neither option is available then an exception is thrown.
bool CanDisconnectSocketForReuse (SOCKET s) const
 Returns true if either DisconnectEx() or TransmitFile() can be a call to WSAIoctl().
int WSARecvMsg (SOCKET s, LPWSAMSG lpMsg, LPDWORD lpdwNumberOfBytesRecvd, LPWSAOVERLAPPED lpOverlapped, LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine) const
 Loads, if necessary and available, and then calls WSARecvMsg(). If the function isn't available then an exception is thrown.
bool LoadWSARecvMsg (SOCKET s) const
 Attempts to load WSARecvMsg() via a call to WSAIoctl(). Returns true if successful.
void EnableDispatchOnThisThread (bool enable)

Static Protected Member Functions

static bool ShouldDispatchOnThisThread ()
static bool ShouldDispatchForThisSocket (const void *pSocket)
static const void * EnableDispatchForThisSocket (const void *pSocket)
static void DisableDispatchForThisSocket (const void *pSocket)

Protected Attributes

JetByteTools::IO::IIOPoolm_pool
SocketAllocator & m_socketAllocator
ILimitConnectionsm_connectionLimiter
JetByteTools::Core::CManualResetEvent m_noActiveConnectionsEvent
JetByteTools::Core::CAtomicCounter m_activeConnections
const bool m_canEnableSkipCompletionPortOnSuccess

Member Typedef Documentation

typedef unsigned long DataLength [inherited]


Constructor & Destructor Documentation

Construct a connection manager with the supplied callback interface, I/O pool, and allocators.

~TDatagramSocketConnectionManager (  )  [inline, virtual]


Member Function Documentation

CSmartDatagramSocket Bind ( const IFullAddress address,
SocketBufferSize  recvBufferSize = DefaultSocketBufferSize,
SocketBufferSize  sendBufferSize = DefaultSocketBufferSize 
) [inline]

Creates a datagram socket and binds it to the supplied address.

CSmartDatagramSocket TryBind ( const IFullAddress address,
SocketBufferSize  recvBufferSize = DefaultSocketBufferSize,
SocketBufferSize  sendBufferSize = DefaultSocketBufferSize 
) [inline]

Attempts to create a datagram socket and bind it to the supplied address.

void SendTo ( const IFullAddress address,
const char *  pData,
DataLength  dataLength 
)

Creates a datagram socket and issues a SendTo() of the data to the supplied address. Note that the socket is not bound to a local address until the SendTo() takes place which is why you don't get a socket returned to you from this call.

void SendTo ( const IFullAddress address,
const BYTE pData,
DataLength  dataLength 
)

Creates a datagram socket and issues a SendTo() of the data to the supplied address. Note that the socket is not bound to a local address until the SendTo() takes place which is why you don't get a socket returned to you from this call.

void SendTo ( const IFullAddress address,
JetByteTools::IO::CSmartBuffer buffer 
) [inline]

Creates a datagram socket and issues a SendTo() of the data to the supplied address. Note that the socket is not bound to a local address until the SendTo() takes place which is why you don't get a socket returned to you from this call.

bool TrySendTo ( const IFullAddress address,
const char *  pData,
DataLength  dataLength 
)

Creates a datagram socket and issues a SendTo() of the data to the supplied address. Note that the socket is not bound to a local address until the SendTo() takes place which is why you don't get a socket returned to you from this call.

bool TrySendTo ( const IFullAddress address,
const BYTE pData,
DataLength  dataLength 
)

Creates a datagram socket and issues a SendTo() of the data to the supplied address. Note that the socket is not bound to a local address until the SendTo() takes place which is why you don't get a socket returned to you from this call.

bool TrySendTo ( const IFullAddress address,
JetByteTools::IO::CSmartBuffer buffer 
) [inline]

Creates a datagram socket and issues a SendTo() of the data to the supplied address. Note that the socket is not bound to a local address until the SendTo() takes place which is why you don't get a socket returned to you from this call.

CSmartDatagramSocket Connect ( const IFullAddress address,
const void *  pUserData = nullptr,
SocketBufferSize  recvBufferSize = DefaultSocketBufferSize,
SocketBufferSize  sendBufferSize = DefaultSocketBufferSize 
) [inline]

Connects, synchronously, to the specified address and returns a smart pointer to the resulting datagram socket. Throws exceptions on failure to connect, the resulting datagram socket is always connected and valid. Passes the user data pointer through to IDatagramSocketConnectionManagerCallback::OnPreOutgoingConnect() before returning. Calls IDatagramSocketConnectionManagerCallback::OnConnectionEstablished(), before returning, if the connection is successful.

CSmartDatagramSocket ConnectNoThrow ( const IFullAddress address,
const void *  pUserData = nullptr,
SocketBufferSize  recvBufferSize = DefaultSocketBufferSize,
SocketBufferSize  sendBufferSize = DefaultSocketBufferSize 
) [inline]

Connects, synchronously, to the specified address and returns a smart pointer to the resulting datagram socket. Does not throw exceptions, the smart datagram pointer will be null if the connection attempt fails; call CSmartDatagramSocket::Get() to determine this. Passes the user data pointer through to IDatagramSocketConnectionManagerCallback::OnPreOutgoingConnect() before returning. Calls IDatagramSocketConnectionManagerCallback::OnOutgoingConnectionFailed(), before returning, if the connection fails and IDatagramSocketConnectionManagerCallback::OnConnectionEstablished(), before returning, if the connection is successful.

CSmartDatagramSocket Connect ( const IFullAddress address,
const void *  pUserData,
const void *  pFilterData,
SocketBufferSize  recvBufferSize,
SocketBufferSize  sendBufferSize 
) [inline, protected]

CSmartDatagramSocket ConnectNoThrow ( const IFullAddress address,
const void *  pUserData,
const void *  pFilterData,
SocketBufferSize  recvBufferSize,
SocketBufferSize  sendBufferSize 
) [inline, protected]

SOCKET CreateSocket ( const IAddressType addressType,
SocketBufferSize  recvBufferSize = DefaultSocketBufferSize,
SocketBufferSize  sendBufferSize = DefaultSocketBufferSize 
) [inline, protected]

void OnConnectionReset ( IDatagramSocketEx socket,
DWORD  lastError 
) [inline, protected]

void OnConnectionClosed ( IDatagramSocketEx socket,
ConnectionClosureReason  reason 
) [inline, protected]

void RequestRead ( IDatagramSocketEx socket,
JetByteTools::IO::CSmartBuffer buffer 
) [inline, override, protected]

void RequestRecvFrom ( IDatagramSocketEx socket,
JetByteTools::IO::CSmartBuffer buffer 
) [inline, override, protected]

void RequestWrite ( IDatagramSocketEx socket,
JetByteTools::IO::CSmartBuffer buffer 
) [inline, override, protected]

void RequestSendTo ( IDatagramSocketEx socket,
const IAddress address,
JetByteTools::IO::CSmartBuffer buffer 
) [inline, override, protected]

void RequestCancelIO ( IDatagramSocketEx socket  )  [inline, override, protected]

CSmartDatagramSocketEx AllocateSocket ( SOCKET  theSocket  )  [inline, protected, virtual]

void HandleOperation ( IDatagramSocketEx socket,
JetByteTools::IO::CSmartBuffer buffer,
DWORD  ioSize,
DWORD  lastError 
) [inline, override, protected]

DWORD AbortAllConnections (  )  [inline, inherited]

Aborts all active sockets that are managed by the supplied manager and returns the number of active sockets that were aborted.

DWORD AbortAllConnections ( ConnectionClosureReason  reason  )  [inline, protected, inherited]

void BeginShutdown (  )  [inline, virtual, inherited]

void WaitForShutdownToComplete (  )  [inline, virtual, inherited]

Initiates a shutdown (if one isn't already in progresss) and then waits for it to complete. Does not return until the shutdown has completed.

Reimplemented in TDatagramSocketServer, and TStreamSocketServerEx< TStreamSocketConnectionManager< CFilteringStreamSocketConnectionManagerBase > >.

bool WaitForShutdownToComplete ( Milliseconds  timeout  )  [inline, virtual, inherited]

Initiates a shutdown (if one isn't already in progresss) and then waits for the supplied number of milliseconds for it to complete. Returns true if the shutdown completed successfully before the timeout expired and false if it didn't.

Reimplemented in TDatagramSocketServer, and TStreamSocketServerEx< TStreamSocketConnectionManager< CFilteringStreamSocketConnectionManagerBase > >.

void ForceShutdown (  )  [inline, virtual, inherited]

Force a shutdown to occur, this is DANGEROUS to use as it can result in a shutdown of this object, and its potential destruction, whilst there are sockets alive that may call back into this object. Use with care!

Reimplemented in TDatagramSocketServer, and TStreamSocketServerEx< TStreamSocketConnectionManager< CFilteringStreamSocketConnectionManagerBase > >.

bool ShutdownIsInProgress (  )  const [inline, protected, inherited]

void Start (  )  [inline, protected, virtual, inherited]

void EnsureCanConnectNow (  )  [inline, protected, inherited]

bool CheckCanConnectNow (  )  [inline, protected, inherited]

void AssociateDevice ( SOCKET  s,
JetByteTools::IO::IHandler handler 
) const [inline, protected, inherited]

JetByteTools::IO::CSmartBuffer AllocateBuffer (  )  [inline, override, protected, inherited]

JetByteTools::IO::CSmartBuffer AllocateBuffer ( JetByteTools::IO::IPoolBuffers pool  )  [inline, override, protected, inherited]

JetByteTools::IO::CSmartBuffer AllocateCustomSizedBuffer ( JetByteTools::IO::IBuffer::BufferSize  bufferSize  )  [inline, override, protected, inherited]

void IncrementActiveConnections (  )  [inline, protected, inherited]

void DecrementActiveConnections (  )  [inline, protected, inherited]

void ReleaseSocket ( IPoolableSocket socket,
bool  wasUserSocket 
) [inline, override, protected, virtual, inherited]

void ShutdownComplete (  )  [inline, protected, virtual, inherited]

void SetBufferSize ( SOCKET  s,
SocketBufferSize  bufferSize,
int  optionName 
) const [inline, protected, inherited]

bool ConnectEx ( SOCKET  s,
const struct sockaddr FAR *  name,
int  namelen,
PVOID  lpSendBuffer,
DWORD  dwSendDataLength,
LPDWORD  lpdwBytesSent,
LPOVERLAPPED  lpOverlapped 
) const [inherited]

Loads, if necessary and available, and then calls ConnectEx(). If the function isn't available then an exception is thrown.

bool LoadConnectEx ( SOCKET  s  )  const [inherited]

Attempts to load ConnectEx() via a call to WSAIoctl(). Returns true if successful.

bool AcceptEx ( SOCKET  listenSocket,
SOCKET  acceptSocket,
PVOID  pOutputBuffer,
DWORD  receiveDataLength,
DWORD  localAddressLength,
DWORD  remoteAddressLength,
LPDWORD  bytesReceived,
LPOVERLAPPED  pOverlapped 
) const [inherited]

Loads, if necessary and available, and then calls AcceptEx(). If the function isn't available then an exception is thrown.

bool LoadAcceptEx ( SOCKET  s  )  const [inherited]

Attempts to load AcceptEx() via a call to WSAIoctl(). Returns true if successful.

void GetAcceptExSockaddrs ( PVOID  pOutputBuffer,
DWORD  receiveDataLength,
DWORD  localAddressLength,
DWORD  remoteAddressLength,
LPSOCKADDR *  pLocalSockaddr,
LPINT  pLocalSockaddrLength,
LPSOCKADDR *  pRemoteSockaddr,
LPINT  pRemoteSockaddrLength 
) const [inherited]

Loads, if necessary and available, and then calls GetAcceptExSockaddrs(). If the function isn't available then an exception is thrown.

bool LoadGetAcceptExSockaddrs ( SOCKET  s  )  const [inherited]

Attempts to load GetAcceptExSockaddrs() via a call to WSAIoctl(). Returns true if successful.

bool DisconnectEx ( SOCKET  s,
LPOVERLAPPED  pOverlapped,
DWORD  flags 
) const [inherited]

Loads, if necessary and available, and then calls DisconnectEx(). If the function isn't available then an exception is thrown.

bool LoadDisconnectEx ( SOCKET  s  )  const [inherited]

Attempts to load DisconnectEx() via a call to WSAIoctl(). Returns true if successful.

bool TransmitFile ( SOCKET  s,
HANDLE  fileToTransmit,
DWORD  numberOfBytesToWrite,
DWORD  numberOfBytesPerSend,
LPOVERLAPPED  lOverlapped,
LPTRANSMIT_FILE_BUFFERS  lTransmitBuffers,
DWORD  flags 
) const [inherited]

Loads, if necessary and available, and then calls TransmitFile(). If the function isn't available then an exception is thrown.

bool LoadTransmitFile ( SOCKET  s  )  const [inherited]

Attempts to load TransmitFile() via a call to WSAIoctl(). Returns true if successful.

bool DisconnectSocketForReuse ( SOCKET  s  )  const [inherited]

Attempts to disconnect a socket for reuse first by attempting to call DisconnectEx() and then by attempting to call TransmitFile() in 'disconnect for reuse mode' see http://msdn2.microsoft.com/en-us/library/ms740565.aspx for details. If neither option is available then an exception is thrown.

bool CanDisconnectSocketForReuse ( SOCKET  s  )  const [inherited]

Returns true if either DisconnectEx() or TransmitFile() can be a call to WSAIoctl().

int WSARecvMsg ( SOCKET  s,
LPWSAMSG  lpMsg,
LPDWORD  lpdwNumberOfBytesRecvd,
LPWSAOVERLAPPED  lpOverlapped,
LPWSAOVERLAPPED_COMPLETION_ROUTINE  lpCompletionRoutine 
) const [inherited]

Loads, if necessary and available, and then calls WSARecvMsg(). If the function isn't available then an exception is thrown.

bool LoadWSARecvMsg ( SOCKET  s  )  const [inherited]

Attempts to load WSARecvMsg() via a call to WSAIoctl(). Returns true if successful.

bool ShouldDispatchOnThisThread (  )  [static, inherited]

bool ShouldDispatchForThisSocket ( const void *  pSocket  )  [static, inherited]

void EnableDispatchOnThisThread ( bool  enable  )  [inherited]

const void * EnableDispatchForThisSocket ( const void *  pSocket  )  [static, inherited]

void DisableDispatchForThisSocket ( const void *  pSocket  )  [static, inherited]


Member Data Documentation

JetByteTools::IO::IIOPool& m_pool [protected, inherited]

SocketAllocator& m_socketAllocator [protected, inherited]

ILimitConnections& m_connectionLimiter [protected, inherited]

const bool m_canEnableSkipCompletionPortOnSuccess [protected, inherited]


Generated on Sun Sep 12 19:10:07 2021 for The Server Framework - v7.4 by doxygen 1.5.3