CConnectionMaintainingStreamSocketConnectionFilter Class Reference
[Filtering]

Inheritance diagram for CConnectionMaintainingStreamSocketConnectionFilter:

Inheritance graph
[legend]
Collaboration diagram for CConnectionMaintainingStreamSocketConnectionFilter:

Collaboration graph
[legend]

List of all members.


Detailed Description

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().


Public Types

enum  { DefaultTCPBufferSize = 0 }
typedef unsigned int TCPBufferSize

Public Member Functions

 CConnectionMaintainingStreamSocketConnectionFilter (IAcceptStreamSocketConnectionFilters &filterManager, ICreateStreamSocketConnections &connectionCreator, JetByteTools::Win32::IProvideUserData &userDataProvider, JetByteTools::Win32::IQueueTimers &timerQueue, const JetByteTools::Milliseconds reconnectAfter)
 Installs the connection filter on all connections made by the supplied connection manager.
 ~CConnectionMaintainingStreamSocketConnectionFilter ()
virtual void MaintainConnections (const IFullAddress &address, const Milliseconds reconnectTimeout)
 Sets the connection retry timeout for connections to the supplied address to the supplied value.
virtual void CancelConnectionRetries (const IAddress &address, const bool shutDownExistingConnections=false)
 Cancels connection reties attempts to the supplied address for all connections that are maintained by this connection manager.
virtual void CancelAllConnectionRetries ()
 Cancels connection reties for all connections that are maintained by this connection manager.
virtual
CSmartStreamSocket 
Connect (const IFullAddress &address, const void *pUserData=0, const TCPBufferSize recvBufferSize=DefaultTCPBufferSize, const TCPBufferSize sendBufferSize=DefaultTCPBufferSize)
virtual
CSmartStreamSocket 
ConnectNoThrow (const IFullAddress &address, const void *pUserData=0, const TCPBufferSize recvBufferSize=DefaultTCPBufferSize, const TCPBufferSize sendBufferSize=DefaultTCPBufferSize) throw ()
virtual
CSmartStreamSocket 
AsyncConnect (const IFullAddress &address, const void *pUserData=0, const TCPBufferSize recvBufferSize=DefaultTCPBufferSize, const TCPBufferSize sendBufferSize=DefaultTCPBufferSize)
virtual
CSmartStreamSocket 
AsyncConnectNoThrow (const IFullAddress &address, const void *pUserData=0, const TCPBufferSize recvBufferSize=DefaultTCPBufferSize, const TCPBufferSize sendBufferSize=DefaultTCPBufferSize) throw ()
virtual
CSmartStreamSocket 
ConnectAsyncIfAvailable (const IFullAddress &address, const void *pUserData=0, const TCPBufferSize recvBufferSize=DefaultTCPBufferSize, const TCPBufferSize sendBufferSize=DefaultTCPBufferSize)
virtual
CSmartStreamSocket 
ConnectAsyncIfAvailableNoThrow (const IFullAddress &address, const void *pUserData=0, const TCPBufferSize recvBufferSize=DefaultTCPBufferSize, const TCPBufferSize sendBufferSize=DefaultTCPBufferSize) throw ()
virtual bool AsyncConnectAvailable (const IAddressType &addressType) const
 Returns true if the platform supports asynchronous connections for this address type.
virtual void AbortAllConnections ()
 Aborts all connections that are managed by this connection manager.
virtual
CSmartStreamSocket 
Connect (const IFullAddress &address, const void *pUserData=0, const TCPBufferSize recvBufferSize=DefaultTCPBufferSize, const TCPBufferSize sendBufferSize=DefaultTCPBufferSize)=0
 Connects, synchronously, to the specified address and returns a smart pointer to the resulting stream socket. Throws exceptions on failure to connect, the resulting stream socket is always connected and valid. Passes the user data pointer through to IStreamSocketConnectionManagerCallback::OnPreOutgoingConnect() before returning. Sets send and recv buffer sizes before connection if values other than 0 are supplied; note that this WILL affect the TCP window size. Calls IStreamSocketConnectionManagerCallback::OnConnectionEstablished(), before returning, if the connection is successful.
virtual
CSmartStreamSocket 
ConnectNoThrow (const IFullAddress &address, const void *pUserData=0, const TCPBufferSize recvBufferSize=DefaultTCPBufferSize, const TCPBufferSize sendBufferSize=DefaultTCPBufferSize)=0 throw ()
 Connects, synchronously, to the specified address and returns a smart pointer to the resulting stream socket. Does not throw exceptions, the smart stream pointer will be null if the connection attempt fails; call CSmartStreamSocket::Get() to determine this. Passes the user data pointer through to IStreamSocketConnectionManagerCallback::OnPreOutgoingConnect() before returning. Sets send and recv buffer sizes before connection if values other than 0 are supplied; note that this WILL affect the TCP window size. Calls IStreamSocketConnectionManagerCallback::OnOutgoingConnectionFailed(), before returning, if the connection fails and IStreamSocketConnectionManagerCallback::OnConnectionEstablished(), before returning, if the connection is successful.
virtual
CSmartStreamSocket 
AsyncConnect (const IFullAddress &address, const void *pUserData=0, const TCPBufferSize recvBufferSize=DefaultTCPBufferSize, const TCPBufferSize sendBufferSize=DefaultTCPBufferSize)=0
 Connects, asynchronously, to the specified address and returns a smart pointer to the resulting stream socket. Throws exceptions on some failures to connect. The smart stream pointer is not connected until the IStreamSocketConnectionManagerCallback::OnConnectionEstablished() has been called and this may be before or after the function returns to the caller. Sets send and recv buffer sizes before connection if values other than 0 are supplied; note that this WILL affect the TCP window size. Passes the user data pointer through to IStreamSocketConnectionManagerCallback::OnPreOutgoingConnect() before returning. Calls IStreamSocketConnectionManagerCallback::OnOutgoingConnectionFailed(), either before or after returning, if the connection fails and IStreamSocketConnectionManagerCallback::OnConnectionEstablished(), either before or after returning, if the connection is successful.
virtual
CSmartStreamSocket 
AsyncConnectNoThrow (const IFullAddress &address, const void *pUserData=0, const TCPBufferSize recvBufferSize=DefaultTCPBufferSize, const TCPBufferSize sendBufferSize=DefaultTCPBufferSize)=0 throw ()
 Connects, asynchronously, to the specified address and returns a smart pointer to the resulting stream socket. Does not throw exceptions, the smart stream pointer will be null if the connection attempt fails; call CSmartStreamSocket::Get() to determine this. Passes the user data pointer through to IStreamSocketConnectionManagerCallback::OnPreOutgoingConnect() before returning. Sets send and recv buffer sizes before connection if values other than 0 are supplied; note that this WILL affect the TCP window size. Calls IStreamSocketConnectionManagerCallback::OnOutgoingConnectionFailed(), either before or after returning, if the connection fails and IStreamSocketConnectionManagerCallback::OnConnectionEstablished(), either before or after returning, if the connection is successful.
virtual
CSmartStreamSocket 
ConnectAsyncIfAvailable (const IFullAddress &address, const void *pUserData=0, const TCPBufferSize recvBufferSize=DefaultTCPBufferSize, const TCPBufferSize sendBufferSize=DefaultTCPBufferSize)=0
 If the platform supports asynchronous connections for this address type then acts as an AsyncConnect() else acts as a ConnectNoThrow().
virtual
CSmartStreamSocket 
ConnectAsyncIfAvailableNoThrow (const IFullAddress &address, const void *pUserData=0, const TCPBufferSize recvBufferSize=DefaultTCPBufferSize, const TCPBufferSize sendBufferSize=DefaultTCPBufferSize)=0 throw ()
 If the platform supports asynchronous connections for this address type then acts as an AsyncConnectNoThrow() else acts as a ConnectNoThrow().


Member Typedef Documentation

typedef unsigned int TCPBufferSize [inherited]


Member Enumeration Documentation

anonymous enum [inherited]

Enumerator:
DefaultTCPBufferSize 


Constructor & Destructor Documentation

CConnectionMaintainingStreamSocketConnectionFilter ( IAcceptStreamSocketConnectionFilters filterManager,
ICreateStreamSocketConnections connectionCreator,
JetByteTools::Win32::IProvideUserData userDataProvider,
JetByteTools::Win32::IQueueTimers timerQueue,
const JetByteTools::Milliseconds  reconnectAfter 
)

Installs the connection filter on all connections made by the supplied connection manager.

~CConnectionMaintainingStreamSocketConnectionFilter (  ) 


Member Function Documentation

void MaintainConnections ( const IFullAddress address,
const Milliseconds  reconnectTimeout 
) [virtual]

Sets the connection retry timeout for connections to the supplied address to the supplied value.

Implements IMaintainStreamSocketConnections.

void CancelConnectionRetries ( const IAddress address,
const bool  shutDownExistingConnections = false 
) [virtual]

Cancels connection reties attempts to the supplied address for all connections that are maintained by this connection manager.

Implements IMaintainStreamSocketConnections.

void CancelAllConnectionRetries (  )  [virtual]

Cancels connection reties for all connections that are maintained by this connection manager.

Implements IMaintainStreamSocketConnections.

CSmartStreamSocket Connect ( const IFullAddress address,
const void *  pUserData = 0,
const TCPBufferSize  recvBufferSize = DefaultTCPBufferSize,
const TCPBufferSize  sendBufferSize = DefaultTCPBufferSize 
) [virtual]

CSmartStreamSocket ConnectNoThrow ( const IFullAddress address,
const void *  pUserData = 0,
const TCPBufferSize  recvBufferSize = DefaultTCPBufferSize,
const TCPBufferSize  sendBufferSize = DefaultTCPBufferSize 
) throw () [virtual]

CSmartStreamSocket AsyncConnect ( const IFullAddress address,
const void *  pUserData = 0,
const TCPBufferSize  recvBufferSize = DefaultTCPBufferSize,
const TCPBufferSize  sendBufferSize = DefaultTCPBufferSize 
) [virtual]

CSmartStreamSocket AsyncConnectNoThrow ( const IFullAddress address,
const void *  pUserData = 0,
const TCPBufferSize  recvBufferSize = DefaultTCPBufferSize,
const TCPBufferSize  sendBufferSize = DefaultTCPBufferSize 
) throw () [virtual]

CSmartStreamSocket ConnectAsyncIfAvailable ( const IFullAddress address,
const void *  pUserData = 0,
const TCPBufferSize  recvBufferSize = DefaultTCPBufferSize,
const TCPBufferSize  sendBufferSize = DefaultTCPBufferSize 
) [virtual]

CSmartStreamSocket ConnectAsyncIfAvailableNoThrow ( const IFullAddress address,
const void *  pUserData = 0,
const TCPBufferSize  recvBufferSize = DefaultTCPBufferSize,
const TCPBufferSize  sendBufferSize = DefaultTCPBufferSize 
) throw () [virtual]

bool AsyncConnectAvailable ( const IAddressType addressType  )  const [virtual]

Returns true if the platform supports asynchronous connections for this address type.

Implements ICreateStreamSocketConnections.

void AbortAllConnections (  )  [virtual]

Aborts all connections that are managed by this connection manager.

Implements ICreateStreamSocketConnections.

virtual CSmartStreamSocket Connect ( const IFullAddress address,
const void *  pUserData = 0,
const TCPBufferSize  recvBufferSize = DefaultTCPBufferSize,
const TCPBufferSize  sendBufferSize = DefaultTCPBufferSize 
) [pure virtual, inherited]

Connects, synchronously, to the specified address and returns a smart pointer to the resulting stream socket. Throws exceptions on failure to connect, the resulting stream socket is always connected and valid. Passes the user data pointer through to IStreamSocketConnectionManagerCallback::OnPreOutgoingConnect() before returning. Sets send and recv buffer sizes before connection if values other than 0 are supplied; note that this WILL affect the TCP window size. Calls IStreamSocketConnectionManagerCallback::OnConnectionEstablished(), before returning, if the connection is successful.

virtual CSmartStreamSocket ConnectNoThrow ( const IFullAddress address,
const void *  pUserData = 0,
const TCPBufferSize  recvBufferSize = DefaultTCPBufferSize,
const TCPBufferSize  sendBufferSize = DefaultTCPBufferSize 
) throw () [pure virtual, inherited]

Connects, synchronously, to the specified address and returns a smart pointer to the resulting stream socket. Does not throw exceptions, the smart stream pointer will be null if the connection attempt fails; call CSmartStreamSocket::Get() to determine this. Passes the user data pointer through to IStreamSocketConnectionManagerCallback::OnPreOutgoingConnect() before returning. Sets send and recv buffer sizes before connection if values other than 0 are supplied; note that this WILL affect the TCP window size. Calls IStreamSocketConnectionManagerCallback::OnOutgoingConnectionFailed(), before returning, if the connection fails and IStreamSocketConnectionManagerCallback::OnConnectionEstablished(), before returning, if the connection is successful.

virtual CSmartStreamSocket AsyncConnect ( const IFullAddress address,
const void *  pUserData = 0,
const TCPBufferSize  recvBufferSize = DefaultTCPBufferSize,
const TCPBufferSize  sendBufferSize = DefaultTCPBufferSize 
) [pure virtual, inherited]

Connects, asynchronously, to the specified address and returns a smart pointer to the resulting stream socket. Throws exceptions on some failures to connect. The smart stream pointer is not connected until the IStreamSocketConnectionManagerCallback::OnConnectionEstablished() has been called and this may be before or after the function returns to the caller. Sets send and recv buffer sizes before connection if values other than 0 are supplied; note that this WILL affect the TCP window size. Passes the user data pointer through to IStreamSocketConnectionManagerCallback::OnPreOutgoingConnect() before returning. Calls IStreamSocketConnectionManagerCallback::OnOutgoingConnectionFailed(), either before or after returning, if the connection fails and IStreamSocketConnectionManagerCallback::OnConnectionEstablished(), either before or after returning, if the connection is successful.

virtual CSmartStreamSocket AsyncConnectNoThrow ( const IFullAddress address,
const void *  pUserData = 0,
const TCPBufferSize  recvBufferSize = DefaultTCPBufferSize,
const TCPBufferSize  sendBufferSize = DefaultTCPBufferSize 
) throw () [pure virtual, inherited]

Connects, asynchronously, to the specified address and returns a smart pointer to the resulting stream socket. Does not throw exceptions, the smart stream pointer will be null if the connection attempt fails; call CSmartStreamSocket::Get() to determine this. Passes the user data pointer through to IStreamSocketConnectionManagerCallback::OnPreOutgoingConnect() before returning. Sets send and recv buffer sizes before connection if values other than 0 are supplied; note that this WILL affect the TCP window size. Calls IStreamSocketConnectionManagerCallback::OnOutgoingConnectionFailed(), either before or after returning, if the connection fails and IStreamSocketConnectionManagerCallback::OnConnectionEstablished(), either before or after returning, if the connection is successful.

virtual CSmartStreamSocket ConnectAsyncIfAvailable ( const IFullAddress address,
const void *  pUserData = 0,
const TCPBufferSize  recvBufferSize = DefaultTCPBufferSize,
const TCPBufferSize  sendBufferSize = DefaultTCPBufferSize 
) [pure virtual, inherited]

If the platform supports asynchronous connections for this address type then acts as an AsyncConnect() else acts as a ConnectNoThrow().

virtual CSmartStreamSocket ConnectAsyncIfAvailableNoThrow ( const IFullAddress address,
const void *  pUserData = 0,
const TCPBufferSize  recvBufferSize = DefaultTCPBufferSize,
const TCPBufferSize  sendBufferSize = DefaultTCPBufferSize 
) throw () [pure virtual, inherited]

If the platform supports asynchronous connections for this address type then acts as an AsyncConnectNoThrow() else acts as a ConnectNoThrow().


Generated on Mon Sep 7 14:09:20 2009 for JetByte Socket Tools - v6.1 by  doxygen 1.5.3