Classes | |
class | CAccumulationBuffer |
class | CAddress |
Essentially a smart pointer to a CAddressImpl instance. More... | |
class | CAddressImpl |
A reference counted wrapper around a SOCKADDR_STORAGE structure that knows how big the address that's stored is. More... | |
class | CAddressIPv4 |
An IPv4 address. More... | |
class | CAddressIPv6 |
An IPv6 address. More... | |
class | CAddressRenderer |
An implementation of IRenderAddresses. More... | |
class | CAddressType |
A generic implementation of the IAddressType interface. Should be suitable for all types of addresses, just supply the appropriate values to the constructor. More... | |
class | CAddressTypeIPv4 |
A implementation of the IAddressType interface for IPv4. More... | |
class | CAddressTypeIPv6 |
A implementation of the IAddressType interface for IPv6. More... | |
class | CAddressWrapper |
A facade that allows a SOCADDR * to be accessed via the IAddress interface. More... | |
class | CConnectionLimiter |
An implementation of ILimitConnections. More... | |
class | CConnectionMaintainingStreamSocketConnectionFilter |
A connection filter that will attempt to reconnect connections that are terminated after a configurable timeout. You can indicate that you want a connection to be maintained by calling MaintainConnections() and you can allow the connection to close and stay closed by calling CancelConnectionRetries(). More... | |
class | CDispatchRestrictor |
class | TConnectionManagerBase |
class | TDatagramFilteringHelper |
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 | CDatagramServerSocketAllocator |
A socket allocator that allocates datagram server sockets. Note that most of the work is down in CSocketAllocator. More... | |
class | CDatagramSocket |
A datagram socket that allows you to RecvFrom() and SendTo() any host. More... | |
class | CDatagramSocketAllocator |
A socket allocator that allocates datagram sockets. Note that most of the work is down in CSocketAllocator. More... | |
class | TDatagramSocketConnectionManager |
A connection manager for datagram sockets. More... | |
class | CDatagramSocketConnectionManagerBase |
A connection manager for datagram sockets. More... | |
class | CDatagramSocketConnectionManagerCallback |
An object that implements the CDatagramSocketConnectionManager callback interface and does nothing. You can derive from this class and override just the functions that you need to. More... | |
class | TDatagramSocketServer |
A socket server for datagram sockets. More... | |
class | CDatagramSocketServerBase |
A socket server for datagram sockets. More... | |
class | CDatagramSocketServerCallback |
An object that implements the CIDatagramSocketServer callback interface and does nothing. You can derive from this class and override just the functions that you need to. More... | |
class | CDebugLog |
class | CFilterDataBase |
class | CFilteringDatagramSocketConnectionManagerBase |
class | CFilteringStreamSocketConnectionManagerBase |
A connection manager for stream sockets. More... | |
class | CFlowControlDatagramSocketConnectionFilter |
class | CFlowControlDatagramSocketConnectionFilterData |
class | CFlowControlListProcessor |
A connection filter that will manage the flow of data on a connection so as to prevent uncontrolled resource usage if there is more data to send than the connection can manage. The filter monitors the rate at which writes that are issues on the connection are completing. If the rate is slower than the rate at which new writes are being issued on the connection then the filter begins to buffer the data in a list and will send it when the connection has capacity. If the list exceeds a predefined maximum amount of buffered data then the filter will either begin to discard data either in a FIFO or LIFO order or it will call a callback method that you supply and give you the list to deal with. More... | |
class | CFlowControlStreamSocketConnectionData |
class | CFlowControlStreamSocketConnectionFilter |
A connection filter that will manage the flow of data on a connection so as to prevent uncontrolled resource usage if there is more data to send than the connection can manage. The filter monitors the rate at which writes that are issues on the connection are completing. If the rate is slower than the rate at which new writes are being issued on the connection then the filter begins to buffer the data in a list and will send it when the connection has capacity. If the list exceeds a predefined maximum amount of buffered data then the filter will either begin to discard data either in a FIFO or LIFO order or it will call a callback method that you supply and give you the list to deal with. More... | |
class | CFullAddress |
A class that uses hard coded assumptions to fabricate "full addresses" from a SOCADDR structure and and is somewhat fragile in the face of new address family support. Essentially we guess the protocol, which isn't that hard. More... | |
class | CFullAddressWrapper |
A facade that allows a SOCADDR * to be accessed via the IFullAddress interface. Note that this has to use some hard coded assumptions to fill in the missing bits that aren't contained in a SOCADDR structure and so will be somewhat fragile in the face of new address family support. More... | |
class | IAcceptDatagramSocketConnectionFilters |
This interface works in conjunction with IFilterDatagramSocketConnections and allows datagram filters to be added to a class that can use them. More... | |
class | IAcceptStreamSocketConnectionFilters |
This interface works in conjunction with IFilterStreamSocketConnections and allows stream filters to be added to a class that can use them. More... | |
class | IAddress |
An interface that represents a Winsock address. This interface only deals with the data that's available from the underlying address; none of the 'meta-data' related to the address type is available; see IFullAddress for that stuff. More... | |
class | IAddressRef |
A reference counted IAddress. More... | |
class | IAddressType |
An interface that provides meta-data information about the type of a Winsock Address. More... | |
class | IAllocateDatagramServerSockets |
An interface for allocating IPoolableDatagramServerSocket. More... | |
class | IAllocateDatagramSockets |
An interface for allocating IPoolableDatagramSocket. More... | |
class | IAllocatePoolableSockets |
An interface for managing IPoolableSocket. More... | |
class | IAllocateSequencedStreamSockets |
An interface for allocating instances of IPoolableStreamSocket that support sequencing of reads and writes. Before you allocate the first socket you can request that the socket manage buffer sequencing counters for you by requesting a "sequnce id". This id can then be passed to IManageStreamSocketConnectionFilters::ReadCompleted() and IManageStreamSocketConnectionFilters::RequestWrite() calls to have the buffer sequenced using the specified sequnce id. Sockets allocated with this interface automatically support sequencing of the 'primary' byte stream. More... | |
class | IAllocateStreamSockets |
An interface for allocating instances of IPoolableStreamSocket. 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 | ICreateFilteredStreamSocketConnections |
An interface used to create outgoing stream socket connections. More... | |
class | ICreateStreamSocketConnections |
An interface used to create outgoing stream socket connections. 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 | IDatagramServerSocketConnectionManager |
An interface that is used to allow a socket to communicate with the connection manager that manages it. This interface is supplied to the socket in the call to Attach(). More... | |
class | IDatagramServerSocketConnectionManagerIO |
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 | IDatagramSocketConnectionManager |
An interface that is used to allow a socket to communicate with the connection manager that manages it. This interface is supplied to the socket in the call to Attach(). More... | |
class | IDatagramSocketConnectionManagerCallback |
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 | IDatagramSocketConnectionManagerIO |
class | IDatagramSocketEx |
A socket interface that adds functionality that is used internally by the connection manager and socket server classes. More... | |
class | IDatagramSocketServerCallback |
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 | 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 | IFilterData |
class | IFilterDatagramSocketConnections |
An interface for objects that wish to filter datagrams. An instance of this interface can be added to a CDatagramSocketConnectionManager as a filter by calling AddConnectionFilter(). Filters are called in order to process calls with requests being called from "top to bottom" and completions being called from "bottom to top". For example, if we call AddConnectionFilter() with filter A and then with filter B and then make a write request the data would be processed first by filter B and then by filter A (user -> B -> A -> wire). When a read completes the data is processed first by filter A and then by filter B (wire -> A -> B -> user). Each filter can manipulate the contents of the datagram flow and may or may not pass calls onto filters below it in the chain. Thus a filter can swallow requests from layers above it by not passing them on and can also generate requests of its own. A filter is initialised once by the connection manager before it is used and during this initialisation it is given a management interface that can be used to generate new read and write events. More... | |
class | IFilterStreamSocketConnections |
An interface for objects that wish to filter a byte stream. An instance of this interface can be added to a CStreamSocketConnectionManager as a filter by calling AddConnectionFilter(). Filters are called in order to process calls with requests being called from "top to bottom" and completions being called from "bottom to top". For example, if we call AddConnectionFilter() with filter A and then with filter B and then make a write request the data would be processed first by filter B and then by filter A (user -> B -> A -> wire). When a read completes the data is processed first by filter A and then by filter B (wire -> A -> B -> user). Each filter can manipulate the connection and data flow and may or may not pass calls onto filters below it in the chain. Thus a filter can swallow requests from layers above it by not passing them on and can also generate requests of its own. A filter is initialised once by the connection manager before it is used and during this initialisation it is given a management interface that can be used to generate new read and write events. More... | |
class | IFullAddress |
An interface that represents an IAddress which knows about its address type and that can create dynamically allocated copies of itself. More... | |
class | IICEConnection |
class | IICEConnectionCallback |
class | IICEConnectionManager |
class | IICEConnectionManagerCallback |
class | IICEControlledDTLSConnection |
class | IICEControlledDTLSConnectionCallback |
class | IICEControlledDTLSConnectionFactory |
class | IIPAddress |
An interface that represents an IP address which knows about its port. More... | |
class | ILimitConnections |
An interface to an object that manages the number of connections currently in progress and that can disallow any more connections being made. Call CanCreateConnection() when you wish to create a new connection and if it returns true then you can create your connection and call ReleaseConnection() when the connection terminates. If it returns false then you should not create your connection. More... | |
class | IMaintainStreamSocketConnections |
An interface used to create and maintain outgoing stream socket connections. More... | |
class | IManageDatagramSocketConnectionFilters |
This interface works in conjunction with IFilterDatagramSocketConnections to allow datagram filters to issue new read and write events. Any filter that either can swallow data buffers (by not passing on calls to the next filter in the chain) or that generates data buffers (passing data to the next filter in the chain when that data wasn't generated by a previous layer in the chain) should always use this interface to pass data buffers to the next layer in the chain. Failure to do so will affect any additional filter processing that may (or may not) be occurring. More... | |
class | IManageNamedServers |
class | IManageStreamSocketConnectionFilters |
This interface works in conjunction with IFilterStreamSocketConnections to allow stream filters to issue new read and write events. Any filter that either can swallow data buffers (by not passing on calls to the next filter in the chain) or that generates data buffers (passing data to the next filter in the chain when that data wasn't generated by a previous layer in the chain) should always use this interface to pass data buffers to the next layer in the chain. Failure to do so will affect any buffer sequencing that may (or may not) be occurring. A filter can specify that its own sequence counter is used by requesting one from the socket allocator and then by passing the sequence id to the relevant calls. If a filter only ever injects new data into a stream then it can use the socket's own sequence counter and calls to the methods that don't take an explicit sequence id. More... | |
class | IMonitorDatagramSocketFlowControl |
class | IMonitorICEControlledDTLSConnection |
class | IMonitorSocketAllocation |
An interface to allow a class to monitor the operation of a class that allocates sockets. The design of the interface assumes that sockets go through the following life-cycle: created, allocated, released, destroyed. Allocators that pool sockets can allow a socket to be created once and then allocated and released several times before being deleted. Incrementing a counter when OnSocketCreated() is called and decrementing it when OnSocketDestroyed() is called will give you a count of the number of sockets that are in existence at any one time. A corresponding counter that is incremented in OnSocketAttached() and decremented in OnSocketReleased() is called will give a count of the sockets that are currently in use. More... | |
class | IMonitorStreamSocketFlowControl |
An interface to allow a class to monitor the operation of a class that implements flow control for stream socket connections. The design of the interface assumes that only buffers that are affected by flow control are noted by the monitor. The effects of flow control on a buffer that is being sent on a connection are as follows: delayed, sent or discarded. A buffer that is delayed is being held for a while until it can be sent. A buffer that has been sent is a buffer that was previously delayed and that has now been written to the connection. A buffer that is discarded can either be a new buffer that is being discarded rather than delayed or an existing delayed buffer that will now never be sent. Incrementing a counter when OnBufferDelayed() is called and decrementing it when OnBufferSent() is called, OR when 'wasDelayed' is true and OnBufferDiscarded() is called will give you a count of buffers that are currently delayed. Incrementing a counter when OnBufferDiscarded() is called will give you a count of all the buffers that were discarded. You can use the 'id' value as a way of maintaining these counts on a per-connection basis. The Id that you return from a call to OnConnectionEstablished() will be passed with every call to the other monitor functions. Note that if all you require is a unique id per connection then you can simply cast the address of the supplied socket to a ConnectionId in OnConnectionEstablished() and return that. More... | |
class | INamedServerShutdownCallback |
class | CIORecursionLimiter |
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 | IPoolableSocketManager |
A convenience interface that acts as a common base class for SocketManagers simply so that the whole of the socket allocator common code doesn't need to be templatised. Typesafety is ensured by TSocketAllocator. 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 | IProvideSRTPKeyingMaterial |
class | IReleaseCreatedConnections |
class | IRenderAddresses |
An interface to an object that can take an instance of IAddress and produce a readable textual representation of that address. So, for example, it could takean IPv4 address and render it in standard dotted IP format xxx.xxx.xxx.xxx, etc. More... | |
class | IServerControl |
An interface to a 'server' that can be started, stopped and can be toggled between accepting connections or not. The life-cycle of an object that implements this interface is; start, accept connections, stop accepting connections, initiate shutdown, shutdown. The object may go from accepting to not accepting and back again any number of times after being started. The object may go from started to stopped and stopped to started any number of times. More... | |
class | IServerShutdownCallback |
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 | IStreamSocketConnectionManager |
An interface that is used to allow a socket to communicate with the connection manager that manages it. This interface is supplied to the socket in the call to Attach(). More... | |
class | IStreamSocketConnectionManagerCallback |
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 | IStreamSocketConnectionManagerIO |
class | IStreamSocketEx |
A socket interface that adds functionality that is used internally by the connection manager and socket server classes. More... | |
class | IStreamSocketServerCallback |
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 | IStreamSocketServerExCallback |
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 | ISupportMulticast |
The interface used to support multicasting. More... | |
class | IWritableAddress |
An interface which represents an address that can be written to and updated. A typical way that this interface would be used is like this: getsockname(socket, address.GetStorage(), address.GetSize()) . More... | |
class | IWritableAddressRef |
A reference counted IWritableAddress. More... | |
class | CUsesMSWinSockExtensions |
This class acts as a dynamic function loader for the MS Winsock extension functions via a WSAIoctl() call with SIO_GET_EXTENSION_FUNCTION_POINTER. The assumption is made that all sockets passed to this class will be from the same underlying provider (or, at the very least, all sockets passed to a particular extension function will be from the same provider). More... | |
class | TMulticastDatagramHelper |
A socket server for datagram sockets. More... | |
class | CNamedServerCollection |
A class that implements a collection of named instances of IServerControl and that allows you to control all of the instances as one and also manipulate individual instances by name. More... | |
class | CNullDatagramSocketConnectionFilter |
A connection filter that does nothing. You can use this as a base class for your own filter if you don't need to override all of the filter functionality. More... | |
class | CNullDatagramSocketFlowControlMonitor |
class | CNullNamedServerShutdownCallback |
class | CNullServerShutdownCallback |
class | CNullSocketAllocationMonitor |
An object that implements IMonitorSocketAllocation and does nothing. More... | |
class | CNullStreamSocketConnectionFilter |
A connection filter that does nothing. You can use this as a base class for your own filter if you don't need to override all of the filter functionality. More... | |
class | CNullStreamSocketFlowControlMonitor |
A stream socket flow control monitor that does nothing. You can use this. More... | |
class | CReadOnlyFilterData |
class | CReadSequencingStreamSocketConnectionFilter |
A connection filter that filters read completions and reorders the completions so that they occur in the order of the sequence numbers in their buffers. More... | |
class | CReadTimeoutDatagramSocketConnectionFilter |
A connection filter that filters supplied read timeout functionality. A call to SetReadTimeout() on a socket will set a timeout for every read operation or revc from operation that is issued on the socket. If the timeout expires then the TimerCallback::OnTimer() method of the callback that was passed to the call to SetReadTimeout() is called with the socket and user data. If you require different user data and/or timer callbacks for a particular timeout then you can call SetSingleReadTimeout() to specify this information. Normal usage is to call SetReadTimeout() when the connection is established and then, possibly, call SetSingleReadTimeout() when the 'default' timeout occurs on a socket to change the timeout parameters from this point on... Call CancelReadTimeout() to stop setting timeouts on all future reads (and to cancel any currently pending timeout) and CancelPendingTimeout() to just cancel any currently pending timeouts but to continue to set timeouts on all subsequent read operations. More... | |
class | CReadTimeoutStreamSocketConnectionFilter |
A connection filter that filters supplied read timeout functionality. A call to SetReadTimeout() on a socket will set a timeout for every read operation that is issued on the socket. If the timeout expires then the TimerCallback::OnTimer() method of the callback that was passed to the call to SetReadTimeout() is called with the socket and user data. If you require different user data and/or timer callbacks for a particular timeout then you can call SetSingleReadTimeout() to specify this information. Normal usage is to call SetReadTimeout() when the connection is established and then, possibly, call SetSingleReadTimeout() when the 'default' timeout occurs on a socket to change the timeout parameters from this point on... Call CancelReadTimeout() to stop setting timeouts on all future reads (and to cancel any currently pending timeout) and CancelPendingTimeout() to just cancel any currently pending timeouts but to continue to set timeouts on all subsequent read operations. More... | |
class | CSequencedStreamSocket |
A stream socket that supports read and write sequencing. More... | |
class | CSequencedStreamSocketAllocator |
A socket allocator that allocates instances of CSequencedStreamSocket Note that most of the work is down in CSocketAllocator. More... | |
class | CServerCollection |
A class that implements a collection of instances of IServerControl and that allows you to control all of the instances as one. More... | |
class | CSocket |
A slightly confused class that acts as both a scope based wrapper around a SOCKET and that also provides static member functions that enable you to call wrapped socket functions on a bare SOCKET. More... | |
class | CSocketAllocator |
A base class for socket allocation. There are several different types of socket that are used through the library. Most of the work involved in allocating sockets and managing a pool of sockets is the same for all types. The only things that change are the type of the socket that is being allocated and the way the socket is created. Derived classes provide this functionality. More... | |
class | CSocketClosedException |
An exception that can be thrown if you attempt an operation on a socket that is closed. More... | |
class | CStreamSocket |
A stream socket. Note that this socket does NOT support read and write sequencing. More... | |
class | CStreamSocketAllocator |
A socket allocator that allocates instances of CStreamSocket. Note that most of the work is down in CSocketAllocator. More... | |
class | CStreamSocketBroadcastableConnectionCollection |
class | CStreamSocketBroadcastableNamedConnectionCollection |
class | CStreamSocketConnectionCollection |
class | CStreamSocketConnectionFilterBase |
class | TStreamSocketConnectionManager |
A connection manager for stream sockets. More... | |
class | CStreamSocketConnectionManagerBase |
A connection manager for stream sockets. More... | |
class | CStreamSocketConnectionManagerCallback |
An object that implements the CStreamSocketConnectionManager callback interface and does nothing. You can derive from this class and override just the functions that you need to. More... | |
class | CStreamSocketNamedConnectionCollection |
class | TStreamSocketServer |
A socket server for stream sockets. Runs a thread to handle connection establishment using accept. More... | |
class | CStreamSocketServerCallback |
An object that implements the CStreamSocketServer callback interface and does nothing. You can derive from this class and override just the functions that you need to. More... | |
class | TStreamSocketServerEx |
A socket serer for stream sockets. Uses AcceptEx to handle connection establishment, does not run a thread for connection establishment. Can not handle 'accept and read' connection establishment. More... | |
class | CStreamSocketServerExCallback |
An object that implements the CStreamSocketServerEx callback interface and does nothing. You can derive from this class and override just the functions that you need to. More... | |
class | TAsyncSocket |
A template class that provides most of the functionality that is shared between all socket types. More... | |
class | CTCPListeningSocketCreator |
class | TSocketAllocator |
A template class that provides most of the socket allocation functionality that is shared between all socket types. More... | |
class | CUsesWinsock |
A simple object to support scope based Winsock initialisation and uninitialisation. Create an instance of this at the scope where you want Winsock to be available and it will be automatically uninitialised when the scope ends. More... | |
class | CWriteOnlyFilterData |
Namespaces | |
namespace | CAddressInfo |
namespace | CNetworkInterfaceAddresses |
namespace | Windows |
Typedefs | |
typedef unsigned char | ConsecutiveSocketOperations |
typedef TDatagramSocketConnectionManager < CDatagramSocketConnectionManagerBase > | CDatagramSocketConnectionManager |
typedef TDatagramSocketConnectionManager < CFilteringDatagramSocketConnectionManagerBase > | CFilteringDatagramSocketConnectionManager |
typedef TDatagramSocketServer < CDatagramSocketServerBase > | CDatagramSocketServer |
typedef TDatagramSocketServer < CFilteringDatagramSocketServerBase > | CFilteringDatagramSocketServer |
typedef TDatagramFilteringHelper < IDatagramSocketServerCallback, IDatagramServerSocketConnectionManagerIO, IDatagramServerSocketEx > | CFilteringDatagramSocketServerBase |
typedef JetByteTools::Core::TReferenceCountedSmartPointer < IICEConnection > | CSmartICEConnection |
typedef JetByteTools::Core::TReferenceCountedSmartPointer < IICEConnectionCallback > | CSmartICEConnectionCallback |
typedef JetByteTools::Core::TReferenceCountedSmartPointer < IICEControlledDTLSConnection > | CSmartICEControlledDTLSConnection |
typedef JetByteTools::Core::TReferenceCountedSmartPointer < IICEControlledDTLSConnectionCallback > | CSmartICEControlledDTLSConnectionCallback |
typedef unsigned short | ListenBacklog |
typedef unsigned char | PerSocketBufferPoolingLimit |
typedef DWORD | SequenceId |
typedef JetByteTools::Core::TReferenceCountedSmartPointer < IAddressRef > | CSmartAddress |
A smart pointer for an IAddressRef. | |
typedef JetByteTools::Core::TReferenceCountedSmartPointer < IWritableAddressRef > | CSmartWritableAddress |
A smart pointer for an IWritableAddressRef. | |
typedef JetByteTools::Core::TReferenceCountedSmartPointer < IDatagramServerSocket > | CSmartDatagramServerSocket |
A smart pointer for datagram sockets. | |
typedef JetByteTools::Core::TReferenceCountedSmartPointer < IDatagramServerSocketEx > | CSmartDatagramServerSocketEx |
A smart pointer for datagram sockets. | |
typedef JetByteTools::Core::TReferenceCountedSmartPointer < IDatagramSocket > | CSmartDatagramSocket |
A smart pointer for datagram sockets. | |
typedef JetByteTools::Core::TReferenceCountedSmartPointer < IDatagramSocketEx > | CSmartDatagramSocketEx |
A smart pointer for datagram sockets. | |
typedef JetByteTools::Core::TReferenceCountedSmartPointer < IStreamSocket > | CSmartStreamSocket |
A smart pointer for stream sockets. | |
typedef JetByteTools::Core::TReferenceCountedSmartPointer < IStreamSocketEx > | CSmartStreamSocketEx |
A smart pointer for stream sockets. | |
typedef unsigned int | SocketBufferSize |
typedef TStreamSocketConnectionManager < CStreamSocketConnectionManagerBase > | CStreamSocketConnectionManager |
typedef TStreamSocketConnectionManager < CFilteringStreamSocketConnectionManagerBase > | CFilteringStreamSocketConnectionManager |
typedef TStreamSocketServer < CStreamSocketConnectionManager > | CStreamSocketServer |
typedef TStreamSocketServer < CFilteringStreamSocketConnectionManager > | CFilteringStreamSocketServer |
typedef TStreamSocketServerEx < CStreamSocketConnectionManager > | CStreamSocketServerEx |
typedef TStreamSocketServerEx < CFilteringStreamSocketConnectionManager > | CFilteringStreamSocketServerEx |
Enumerations | |
enum | ConnectionClosureReason { UserAbort = 0x0001, AbortAll = 0x0002, ShutdownAbort = 0x0004, FatalErrorAbort = 0x0008, ConnectionAbortedMask = 0x000F, ConnectionReset = 0x0010, ConnectionTimeout = 0x0100, OrderlyClose = 0x1000 } |
An enumeration that details how a connections was closed. More... | |
enum | ConnectionDirection { NoConnection, ListeningConnection, InboundConnection, InboundConnectionInProgress, OutboundConnectionBound, OutboundConnectionInProgress, OutboundConnection } |
An enumeration to detail how a socket is connected. More... | |
enum | OutOfBandDataReadConfiguration { NoOutOfBandData = 0x00, InlineOutOfBandData = 0x01, AsyncOutOfBandData = 0x10, OutOfBandCloseNotifications = 0x20 } |
How we perform zero byte reads, if at all. More... | |
enum | ShutdownHow { ShutdownNeither = 0x0, ShutdownSend = 0x1, ShutdownReceive = 0x2, ShutdownBoth = 0x3 } |
An enumeration to detail how to shutdown a socket. More... | |
enum | { DefaultSocketBufferSize = 0 } |
enum | ZeroByteReadConfiguration { NoZeroByteRead, ZeroByteAsyncRead, ZeroByteSyncRead } |
How we perform zero byte reads, if at all. More... | |
Functions | |
m_ref (1) | |
static addrinfo * | GetAddressInfo (const _tstring &hostName=_T(""), const _tstring &serviceOrPort=_T(""), unsigned short family=PF_UNSPEC, int socketType=0, int protocol=0) |
class | JETBYTE_REQUIRES_NETWORK_INITIALISATION (CAddressInfo) |
A class that provides addressing information for the specified host. | |
static const sockaddr & | GetWildcard () |
bool | CanEnableSkipCompletionPortOnSuccess () |
_tstring | GetClosureReasonAsString (const ConnectionClosureReason reason) |
string | GetClosureReasonAsStringA (const ConnectionClosureReason reason) |
_tstring | GetConnectionDirectionAsString (const ConnectionDirection direction) |
string | GetConnectionDirectionAsStringA (const ConnectionDirection direction) |
static CFlowControlDatagramSocketConnectionFilterData::Percentage | ValidatePercentage (CFlowControlDatagramSocketConnectionFilterData::Percentage percentage) |
static const _tstring | s_filterName (_T("FLOW")) |
static CAddressType | GetAddressType (unsigned short addressFamily) |
static bool | LoadExtensionFunction (SOCKET s, GUID functionID, void **ppFunc) |
class | JETBYTE_REQUIRES_NETWORK_INITIALISATION (CNameInfo) |
A class that provides name lookup and formatting for specified addresses. | |
class | JETBYTE_REQUIRES_NETWORK_INITIALISATION (CNetworkInterfaceAddresses) |
template<typename C, typename S> | |
void | RethrowExceptionReportAndAbort (const JetByteTools::Core::_tstring &message, C &callback, S &socket, const bool rethrow=false) |
_tstring | GetShutdownHowAsString (const ShutdownHow how) |
string | GetShutdownHowAsStringA (const ShutdownHow how) |
static WSABUF * | GetWSABUFSpace (JetByteTools::IO::IIterateableBufferChain &buffers, JetByteTools::IO::CSmartBuffer &wsaBufBuffer) |
static WSABUF * | AllocateAndPopulateAlignedWSABUF (const IStreamSocketEx &socket, JetByteTools::IO::IIterateableBufferChain &buffersIn, DWORD &bufferCount, JetByteTools::IO::CBufferChain &buffersOut) |
Variables | |
static const CAddressType & | s_addressType = CAddressTypeIPv4::instance |
static const CAddressType & | s_addressType = CAddressTypeIPv6::instance |
static const int | s_protocols [] = { IPPROTO_TCP, IPPROTO_UDP, 0 } |
static CNullDatagramSocketFlowControlMonitor | s_monitor |
static CNullDatagramSocketFlowControlMonitor | s_monitor |
static CNullStreamSocketFlowControlMonitor | s_nullMonitor |
const ListenBacklog | ListenBacklogMax = 0xFFFF |
const ListenBacklog | ListenBacklogMax |
static CNullSocketAllocationMonitor | s_nullAllocationMonitor |
typedef TDatagramSocketConnectionManager<CDatagramSocketConnectionManagerBase> CDatagramSocketConnectionManager |
typedef TDatagramSocketConnectionManager<CFilteringDatagramSocketConnectionManagerBase> CFilteringDatagramSocketConnectionManager |
typedef TDatagramFilteringHelper< IDatagramSocketServerCallback, IDatagramServerSocketConnectionManagerIO, IDatagramServerSocketEx> CFilteringDatagramSocketServerBase |
typedef TStreamSocketConnectionManager<CFilteringStreamSocketConnectionManagerBase> CFilteringStreamSocketConnectionManager |
typedef TStreamSocketServerEx<CFilteringStreamSocketConnectionManager> CFilteringStreamSocketServerEx |
typedef unsigned char ConsecutiveSocketOperations |
typedef JetByteTools::Core::TReferenceCountedSmartPointer<IICEConnectionCallback> CSmartICEConnectionCallback |
typedef JetByteTools::Core::TReferenceCountedSmartPointer<IICEControlledDTLSConnection> CSmartICEControlledDTLSConnection |
typedef JetByteTools::Core::TReferenceCountedSmartPointer<IICEControlledDTLSConnectionCallback> CSmartICEControlledDTLSConnectionCallback |
typedef TStreamSocketConnectionManager<CStreamSocketConnectionManagerBase> CStreamSocketConnectionManager |
typedef unsigned short ListenBacklog |
typedef unsigned char PerSocketBufferPoolingLimit |
typedef DWORD SequenceId |
typedef unsigned int SocketBufferSize |
enum ConnectionDirection |
enum ShutdownHow |
static WSABUF* JetByteTools::Socket::AllocateAndPopulateAlignedWSABUF | ( | const IStreamSocketEx & | socket, | |
JetByteTools::IO::IIterateableBufferChain & | buffersIn, | |||
DWORD & | bufferCount, | |||
JetByteTools::IO::CBufferChain & | buffersOut | |||
) | [static] |
bool CanEnableSkipCompletionPortOnSuccess | ( | ) |
static addrinfo * GetAddressInfo | ( | const _tstring & | hostName = _T("") , |
|
const _tstring & | serviceOrPort = _T("") , |
|||
unsigned short | family = PF_UNSPEC , |
|||
int | socketType = 0 , |
|||
int | protocol = 0 | |||
) | [static] |
static CAddressType GetAddressType | ( | unsigned short | addressFamily | ) | [static] |
JetByteTools::Core::_tstring GetClosureReasonAsString | ( | const ConnectionClosureReason | reason | ) |
std::string GetClosureReasonAsStringA | ( | const ConnectionClosureReason | reason | ) |
JetByteTools::Core::_tstring GetConnectionDirectionAsString | ( | const ConnectionDirection | direction | ) |
std::string GetConnectionDirectionAsStringA | ( | const ConnectionDirection | direction | ) |
JetByteTools::Core::_tstring GetShutdownHowAsString | ( | const ShutdownHow | how | ) |
std::string GetShutdownHowAsStringA | ( | const ShutdownHow | how | ) |
static const sockaddr & GetWildcard | ( | ) | [static] |
static WSABUF* JetByteTools::Socket::GetWSABUFSpace | ( | JetByteTools::IO::IIterateableBufferChain & | buffers, | |
JetByteTools::IO::CSmartBuffer & | wsaBufBuffer | |||
) | [static] |
class JetByteTools::Socket::JETBYTE_REQUIRES_NETWORK_INITIALISATION | ( | CNetworkInterfaceAddresses | ) |
Construct an object for all available interfaces.
Construct an object for interfaces that support the specified address type.
An iterator to the first address that the host supports.
An iterator to one beyond the last address that the host supports. Use as with STL iterators to end check for the end of iteration.
JetByteTools::Socket::m_ref | ( | 1 | ) |
void JetByteTools::Socket::RethrowExceptionReportAndAbort | ( | const JetByteTools::Core::_tstring & | message, | |
C & | callback, | |||
S & | socket, | |||
const bool | rethrow = false | |||
) | [inline] |
static const _tstring JetByteTools::Socket::s_filterName | ( | _T("FLOW") | ) | [static] |
static CFlowControlDatagramSocketConnectionFilterData::Percentage ValidatePercentage | ( | CFlowControlDatagramSocketConnectionFilterData::Percentage | percentage | ) | [static] |
const ListenBacklog ListenBacklogMax = 0xFFFF |
const CAddressType& s_addressType = CAddressTypeIPv6::instance [static] |
const CAddressType& s_addressType = CAddressTypeIPv4::instance [static] |
const int s_protocols[] = { IPPROTO_TCP, IPPROTO_UDP, 0 } [static] |