This package provides a variety of classes conforming to the ChannelDataStoreInt interface. These classes can be used as plug-ins to the static channel One2OneChannelInt.create<TT>create</TT> methods to customise its semantics. Classes are provided for blocking FIFO buffers, overwriting buffers (losing either the newest or oldest data) and infinite (within the realms of your virtual memory) buffers.
Users may write and use their own implementations of the ChannelDataStoreInt interface, but great care must be taken to specify its semantics. It should not normally be necessary to do this.
Interface | Description |
---|---|
ChannelDataStoreInt | This is the interface for integer channel plug-ins that define their buffering characteristics. |
Class | Description |
---|---|
BufferInt | This is used to create a buffered integer channel that never loses data. |
InfiniteBufferInt | This is used to create a buffered integer channel that always accepts and never loses any input. |
OverFlowingBufferInt | This is used to create a buffered integer channel that always accepts input, discarding its last entered data if full. |
OverWriteOldestBufferInt | This is used to create a buffered integer channel that always accepts input, overwriting its oldest data if full. |
OverWritingBufferInt | This is used to create a buffered integer channel that always accepts input, overwriting its last entered data if full. |
ZeroBufferInt | This is used to create a zero-buffered integer channel that never loses data. |
Error | Description |
---|---|
BufferIntSizeError | This is thrown if an attempt is made to create some variety of buffered channel with a zero or negative sized buffer. |