This package provides a variety of classes conforming to the ChannelDataStore interface. These classes can be used as plug-ins to the static channel One2OneChannel.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 ChannelDataStore interface, but great care must be taken to specify its semantics. It should not normally be necessary to do this.
Interface | Description |
---|---|
ChannelDataStore | This is the interface for object channel plug-ins that define their buffering characteristics. |
Class | Description |
---|---|
Buffer | This is used to create a buffered object channel that never loses data. |
InfiniteBuffer | This is used to create a buffered object channel that always accepts and never loses any input. |
OverFlowingBuffer | This is used to create a buffered object channel that always accepts input, discarding its last entered data if full. |
OverWriteOldestBuffer | This is used to create a buffered object channel that always accepts input, overwriting its oldest data if full. |
OverWritingBuffer | This is used to create a buffered object channel that always accepts input, overwriting its last entered data if full. |
ZeroBuffer | This is used to create a zero-buffered object channel that never loses data. |
Error | Description |
---|---|
BufferSizeError | This is thrown if an attempt is made to create some variety of buffered channel with a zero or negative sized buffer. |