DSSX_Ordered

DSSX_Ordered

dssx

1998 12-06


CLASS

DSSX_Ordered - A DSS extended construct analogous to a stream


SYNOPSIS

This class provides a stream-like construct using DSS. Byte blocks are sent to and received from a DSS_Ordered instance on a first in first out (FIFO) basis. DSSX_Ordered may also be configured to 'bundle' byte blocks (in local heap) into larger messages before outing. This may be done to improve throughput in high volume scenarios. In order to do this an instance of DSSX_Ordered manages three bundle buffers in local memory store. These three buffers are the out buffer, the in buffer, and the read buffer.


The out buffer is used to build up a bundle of byte blocks until the byte threshold is exceeded. The byte threshold is dynamicly configurable through SetThreshold(). When the threshold is exceeded the bundle is sent (written to the space).


Both the in and read buffers are used to obtain byte blocks that have been sent. The In() function consumes byte blocks, or more precisely consumes bundles. If the receive buffer is empty when In() is called the receive buffer is filled by removing the next byte block bundle.


The Read() function does not consume bundles. When the read buffer is filled, the corresponding bundle is simply read and still exists in the space.


PARENTS


DSSX_Chunk public


CONSTRUCTOR


MEMBER FUNCTIONS