Package org.jcsp.util.ints
By default, channels are zero-buffered and fully synchronised: both a reader and a writer have to be ready for a communication to proceed. Whoever gets to the communication point first has to wait for the other party.
This package provides a variety of classes conforming
to the ChannelDataStoreInt
interface.
These classes can be used as plug-ins to the static
Channel
manufacturing methods to customise their 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 Summary Interface Description ChannelDataStoreInt This is the interface for integer channel plug-ins that define their buffering characteristics. -
Class Summary 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 Summary 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.