![]() |
Although there are only four concrete socket types; CStreamSocket, CSequencedStreamSocket, CDatagramSocket and CDatagramServerSocket, there are a multitude of interfaces that allow the framework and users of the framework to access the sockets in the most restricted way appropriate... Thus, code used inside the framework to filter data streams can access more functionality of a socket than code that simpy implements a callback interface. The main interfaces that you need to know about are IStreamSocket, IDatagramSocket and IDatagramServerSocket, everything else, as they say, is just implementation details.
Classes | |
class | CDatagramServerSocket |
A datagram socket that allows you to SendTo() any host but restricts who you can RecvFrom(), basically you can only recv data from the port that the associated server is listening on. More... | |
class | CDatagramSocket |
A datagram socket that allows you to RecvFrom() and SendTo() any host. More... | |
class | IAsyncSocket |
An interface to the functionality common to all asynchronous sockets. The "Try" functions add to the functions from JetByteTools::IO::IAsyncIOStream by adding versions that return false on failure rather than by throwing an exception. More... | |
class | IDatagramSendSocket |
class | IDatagramServerSocket |
This interface provides an equivalent interface to the one provided by IAsyncSocket for IDatagramSocket and IStreamSocket. It does not feature the ability to issue Read() calls as the sockets derived from this interface are purely disconnected, datagram, server sockets; i.e. they're how you send a datagram back to whoever sent you the datagram that has just arrived. IDatagramSocket supports a pseudo connected interface where you can issue Read() calls ... More... | |
class | IDatagramServerSocketCallback |
The socket server callback interface is composed from more specific interfaces using inheritance. This is purely to allow the framework to work in terms of the narrowest interface internally and does not affect the user of the code. This is, effectively, the first interface that the user would wish to implement. More... | |
class | IDatagramServerSocketEx |
A socket interface that adds functionality that is used internally by the socket server classe. More... | |
class | IDatagramSocket |
This interface adds datagram socket specific functionality to the IAsyncSocket interface. Note that instances of IDatagramSocket support a pseudo connected interface where you can issues Read() calls and RecvFrom() any address. IDatagramServerSocket presents a much more restricted interface intended for use from "pure" datagram servers. More... | |
class | IDatagramSocketCallback |
The connection manager and socket server callback interfaces are composed from more specific interfaces using inheritance. This is purely to allow the framework to work in terms of the narrowest interface internally and does not affect the user of the code. Effectively the first interface that the user would wish to implement is at the IXXXConnectionManagerCallback level and above. More... | |
class | IDatagramSocketEx |
A socket interface that adds functionality that is used internally by the connection manager and socket server classes. More... | |
class | IFilterableDatagramSocket |
An interface which adds functionality that is useful when filtering a connection. More... | |
class | IFilterableStreamSocket |
An interface which adds functionality that is useful when filtering a connection. More... | |
class | IPoolableDatagramServerSocket |
An interface that exists purely to tie together the poolable nature of a socket and the datagram server socket nature of a socket into a poolable datagram server socket. The CDatagramServerSocketAllocator object works in terms of this interface. More... | |
class | IPoolableDatagramSocket |
An interface that exists purely to tie together the poolable nature of a socket and the datagram socket nature of a socket into a poolable datagram socket. The CDatagramSocketAllocator object works in terms of this interface. More... | |
class | IPoolableSocket |
The IPoolableSocket interface provides the 'poolability' of the sockets. Poolable sockets are pooled using a CNodeList and so, for a socket to be pooled it must derive from CNodeList::Node. When a socket is used from the pool or released to the pool the allocator passes the socket's user data to the allocation monitor and so poolable sockets must support IIndexedOpaqueUserData. More... | |
class | IPoolableStreamSocket |
An interface that exists purely to tie together the poolable nature of a socket and the stream socket nature of a socket into a poolable stream socket. The CStreamSocketAllocator and CSequencedStreamSocketAllocator objects work in terms of this interface. More... | |
class | ISocketCallback |
The connection manager and socket server callback interfaces are composed from more specific interfaces using inheritance. This is purely to allow the framework to work in terms of the narrowest interface internally and does not affect the user of the code. Effectively the first interface that the user would wish to implement is at the IXXXConnectionManagerCallback level and above. More... | |
class | IStreamSocket |
This interface adds stream socket specific functionality to the IAsyncSocket interface. As you can see that isn't much. This is the interface that you will interact with to access socket functionality when you write a client or server as this is the interface to the socket connection that you are passed when callback events occur on a connection. More... | |
class | IStreamSocketCallback |
The connection manager and socket server callback interfaces are composed from more specific interfaces using inheritance. This is purely to allow the framework to work in terms of the narrowest interface internally and does not affect the user of the code. Effectively the first interface that the user would wish to implement is at the IXXXConnectionManagerCallback level and above. More... | |
class | IStreamSocketEx |
A socket interface that adds functionality that is used internally by the connection manager and socket server classes. More... | |
class | ISupportMulticast |
The interface used to support multicasting. More... | |
class | CSequencedStreamSocket |
A stream socket that supports read and write sequencing. More... | |
class | CStreamSocket |
A stream socket. Note that this socket does NOT support read and write sequencing. More... | |
class | TAsyncSocket |
A template class that provides most of the functionality that is shared between all socket types. More... |