CFlowControlStreamSocketConnectionFilter Class Reference
[Filtering]

Inheritance diagram for CFlowControlStreamSocketConnectionFilter:

Inheritance graph
[legend]
Collaboration diagram for CFlowControlStreamSocketConnectionFilter:

Collaboration graph
[legend]

List of all members.


Detailed Description

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.


Public Types

typedef long PendingWriteCount
typedef unsigned short BufferCount
typedef std::list
< JetByteTools::IO::IBuffer * > 
BufferList

Public Member Functions

 CFlowControlStreamSocketConnectionFilter (IAcceptStreamSocketConnectionFilters &filterManager, IAllocateSequencedStreamSockets &socketAllocator, const BufferCount maxBuffers, IProcessBufferList &listProcessor, const PendingWriteCount maxPendingWrites=1)
 Installs the connection filter on all connections made by the supplied connection manager.
 CFlowControlStreamSocketConnectionFilter (IMonitorStreamSocketFlowControl &monitor, IAcceptStreamSocketConnectionFilters &filterManager, IAllocateSequencedStreamSockets &socketAllocator, const BufferCount maxBuffers, IProcessBufferList &listProcessor, const PendingWriteCount maxPendingWrites=1)

Classes

class  IProcessBufferList


Member Typedef Documentation

typedef long PendingWriteCount

typedef unsigned short BufferCount

typedef std::list<JetByteTools::IO::IBuffer *> BufferList


Constructor & Destructor Documentation

CFlowControlStreamSocketConnectionFilter ( IAcceptStreamSocketConnectionFilters filterManager,
IAllocateSequencedStreamSockets socketAllocator,
const BufferCount  maxBuffers,
IProcessBufferList listProcessor,
const PendingWriteCount  maxPendingWrites = 1 
)

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

CFlowControlStreamSocketConnectionFilter ( IMonitorStreamSocketFlowControl monitor,
IAcceptStreamSocketConnectionFilters filterManager,
IAllocateSequencedStreamSockets socketAllocator,
const BufferCount  maxBuffers,
IProcessBufferList listProcessor,
const PendingWriteCount  maxPendingWrites = 1 
)


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