Public Types | |
typedef unsigned short | UserDataIndex |
Public Member Functions | |
virtual | ~IPoolableSocket () |
Instances of this interface can be deleted by their users. | |
virtual void | Attach (IPoolableSocketManager &manager, ISocketCallback &callback, SOCKET socket)=0 |
Attach the supplied socket manager interface, callback inteface and SOCKET to the pooled socket. | |
virtual bool | AbortConnectionIfManagedBy (const IPoolableSocketManager &manager, ConnectionClosureReason reason)=0 |
Close if the manager that is attached to this socket is the same as the one supplied. | |
virtual void | DumpIfManagedBy (const IPoolableSocketManager &manager) const =0 |
virtual bool | AddRefIfPossible ()=0 |
Attempt to obtain a reference from a socket that we currently don't own a reference to. This checks that the socket isn't currently in the middle of being destroyed and returns true if you now own a valid reference to the socket. Remember to call Release() on the socket if this function returns true. | |
virtual void | Release ()=0 |
Release a reference to the socket. | |
virtual void * | GetUserPointer (UserDataIndex index) const =0 |
Access the data stored at the specified index as a void pointer. | |
virtual void | SetUserPointer (UserDataIndex index, void *pData)=0 |
Update the data stored at the specified index as a void pointer. | |
virtual ULONG_PTR | GetUserData (UserDataIndex index) const =0 |
Access the data stored at the specified index as an unsigned long. | |
virtual void | SetUserData (UserDataIndex index, ULONG_PTR data)=0 |
Update the data stored at the specified index as an unsigned long. | |
Node * | Next () const |
Return the next node in the list. | |
void | Next (Node *pNext) |
Set the given node to be this nodes 'next node'. | |
void | RemoveFromList () |
If this node is currently in a list then it is removed. | |
bool | InList (const CNodeList &list) const |
Returns true if this node is currently in the specified list. | |
bool | InList () const |
Returns true if this node is currently in any list. | |
Static Public Attributes | |
static JETBYTE_CONSTEXPR UserDataIndex | InvalidUserDataIndex = 0xFFFF |
typedef unsigned short UserDataIndex [inherited] |
virtual ~IPoolableSocket | ( | ) | [virtual] |
Instances of this interface can be deleted by their users.
virtual void Attach | ( | IPoolableSocketManager & | manager, | |
ISocketCallback & | callback, | |||
SOCKET | socket | |||
) | [pure virtual] |
Attach the supplied socket manager interface, callback inteface and SOCKET to the pooled socket.
Implemented in TAsyncSocket< JetByteTools::Socket::IPoolableStreamSocket, JetByteTools::Socket::IStreamSocketConnectionManager, JetByteTools::Socket::IStreamSocketCallback >, TAsyncSocket< JetByteTools::Socket::TMulticastDatagramHelper< JetByteTools::Socket::IPoolableDatagramSocket >, JetByteTools::Socket::IDatagramSocketConnectionManager, JetByteTools::Socket::IDatagramSocketCallback >, and TAsyncSocket< JetByteTools::Socket::IPoolableDatagramServerSocket, JetByteTools::Socket::IDatagramServerSocketConnectionManager, JetByteTools::Socket::IDatagramServerSocketCallback >.
virtual bool AbortConnectionIfManagedBy | ( | const IPoolableSocketManager & | manager, | |
ConnectionClosureReason | reason | |||
) | [pure virtual] |
Close if the manager that is attached to this socket is the same as the one supplied.
Implemented in TAsyncSocket< JetByteTools::Socket::IPoolableStreamSocket, JetByteTools::Socket::IStreamSocketConnectionManager, JetByteTools::Socket::IStreamSocketCallback >, TAsyncSocket< JetByteTools::Socket::TMulticastDatagramHelper< JetByteTools::Socket::IPoolableDatagramSocket >, JetByteTools::Socket::IDatagramSocketConnectionManager, JetByteTools::Socket::IDatagramSocketCallback >, and TAsyncSocket< JetByteTools::Socket::IPoolableDatagramServerSocket, JetByteTools::Socket::IDatagramServerSocketConnectionManager, JetByteTools::Socket::IDatagramServerSocketCallback >.
virtual void DumpIfManagedBy | ( | const IPoolableSocketManager & | manager | ) | const [pure virtual] |
Implemented in TAsyncSocket< JetByteTools::Socket::IPoolableStreamSocket, JetByteTools::Socket::IStreamSocketConnectionManager, JetByteTools::Socket::IStreamSocketCallback >, TAsyncSocket< JetByteTools::Socket::TMulticastDatagramHelper< JetByteTools::Socket::IPoolableDatagramSocket >, JetByteTools::Socket::IDatagramSocketConnectionManager, JetByteTools::Socket::IDatagramSocketCallback >, and TAsyncSocket< JetByteTools::Socket::IPoolableDatagramServerSocket, JetByteTools::Socket::IDatagramServerSocketConnectionManager, JetByteTools::Socket::IDatagramServerSocketCallback >.
virtual bool AddRefIfPossible | ( | ) | [pure virtual] |
Attempt to obtain a reference from a socket that we currently don't own a reference to. This checks that the socket isn't currently in the middle of being destroyed and returns true if you now own a valid reference to the socket. Remember to call Release() on the socket if this function returns true.
Implemented in TAsyncSocket< JetByteTools::Socket::IPoolableStreamSocket, JetByteTools::Socket::IStreamSocketConnectionManager, JetByteTools::Socket::IStreamSocketCallback >, TAsyncSocket< JetByteTools::Socket::TMulticastDatagramHelper< JetByteTools::Socket::IPoolableDatagramSocket >, JetByteTools::Socket::IDatagramSocketConnectionManager, JetByteTools::Socket::IDatagramSocketCallback >, and TAsyncSocket< JetByteTools::Socket::IPoolableDatagramServerSocket, JetByteTools::Socket::IDatagramServerSocketConnectionManager, JetByteTools::Socket::IDatagramServerSocketCallback >.
virtual void Release | ( | ) | [pure virtual] |
Release a reference to the socket.
Implemented in TAsyncSocket< JetByteTools::Socket::IPoolableStreamSocket, JetByteTools::Socket::IStreamSocketConnectionManager, JetByteTools::Socket::IStreamSocketCallback >, TAsyncSocket< JetByteTools::Socket::TMulticastDatagramHelper< JetByteTools::Socket::IPoolableDatagramSocket >, JetByteTools::Socket::IDatagramSocketConnectionManager, JetByteTools::Socket::IDatagramSocketCallback >, and TAsyncSocket< JetByteTools::Socket::IPoolableDatagramServerSocket, JetByteTools::Socket::IDatagramServerSocketConnectionManager, JetByteTools::Socket::IDatagramServerSocketCallback >.
virtual void* GetUserPointer | ( | UserDataIndex | index | ) | const [pure virtual, inherited] |
Access the data stored at the specified index as a void pointer.
Implemented in TAsyncSocket< JetByteTools::Socket::IPoolableStreamSocket, JetByteTools::Socket::IStreamSocketConnectionManager, JetByteTools::Socket::IStreamSocketCallback >, TAsyncSocket< JetByteTools::Socket::TMulticastDatagramHelper< JetByteTools::Socket::IPoolableDatagramSocket >, JetByteTools::Socket::IDatagramSocketConnectionManager, JetByteTools::Socket::IDatagramSocketCallback >, and TAsyncSocket< JetByteTools::Socket::IPoolableDatagramServerSocket, JetByteTools::Socket::IDatagramServerSocketConnectionManager, JetByteTools::Socket::IDatagramServerSocketCallback >.
virtual void SetUserPointer | ( | UserDataIndex | index, | |
void * | pData | |||
) | [pure virtual, inherited] |
Update the data stored at the specified index as a void pointer.
Implemented in TAsyncSocket< JetByteTools::Socket::IPoolableStreamSocket, JetByteTools::Socket::IStreamSocketConnectionManager, JetByteTools::Socket::IStreamSocketCallback >, TAsyncSocket< JetByteTools::Socket::TMulticastDatagramHelper< JetByteTools::Socket::IPoolableDatagramSocket >, JetByteTools::Socket::IDatagramSocketConnectionManager, JetByteTools::Socket::IDatagramSocketCallback >, and TAsyncSocket< JetByteTools::Socket::IPoolableDatagramServerSocket, JetByteTools::Socket::IDatagramServerSocketConnectionManager, JetByteTools::Socket::IDatagramServerSocketCallback >.
virtual ULONG_PTR GetUserData | ( | UserDataIndex | index | ) | const [pure virtual, inherited] |
Access the data stored at the specified index as an unsigned long.
Implemented in TAsyncSocket< JetByteTools::Socket::IPoolableStreamSocket, JetByteTools::Socket::IStreamSocketConnectionManager, JetByteTools::Socket::IStreamSocketCallback >, TAsyncSocket< JetByteTools::Socket::TMulticastDatagramHelper< JetByteTools::Socket::IPoolableDatagramSocket >, JetByteTools::Socket::IDatagramSocketConnectionManager, JetByteTools::Socket::IDatagramSocketCallback >, and TAsyncSocket< JetByteTools::Socket::IPoolableDatagramServerSocket, JetByteTools::Socket::IDatagramServerSocketConnectionManager, JetByteTools::Socket::IDatagramServerSocketCallback >.
virtual void SetUserData | ( | UserDataIndex | index, | |
ULONG_PTR | data | |||
) | [pure virtual, inherited] |
Update the data stored at the specified index as an unsigned long.
Implemented in TAsyncSocket< JetByteTools::Socket::IPoolableStreamSocket, JetByteTools::Socket::IStreamSocketConnectionManager, JetByteTools::Socket::IStreamSocketCallback >, TAsyncSocket< JetByteTools::Socket::TMulticastDatagramHelper< JetByteTools::Socket::IPoolableDatagramSocket >, JetByteTools::Socket::IDatagramSocketConnectionManager, JetByteTools::Socket::IDatagramSocketCallback >, and TAsyncSocket< JetByteTools::Socket::IPoolableDatagramServerSocket, JetByteTools::Socket::IDatagramServerSocketConnectionManager, JetByteTools::Socket::IDatagramServerSocketCallback >.
CNodeList::Node * Next | ( | ) | const [inherited] |
Return the next node in the list.
void Next | ( | Node * | pNext | ) | [inherited] |
Set the given node to be this nodes 'next node'.
void RemoveFromList | ( | ) | [inherited] |
If this node is currently in a list then it is removed.
Returns true if this node is currently in the specified list.
bool InList | ( | ) | const [inherited] |
Returns true if this node is currently in any list.
JETBYTE_CONSTEXPR UserDataIndex InvalidUserDataIndex = 0xFFFF [static, inherited] |