CSP for Java
(JCSP) 1.0-rc4

jcsp.util.ints
Class ZeroBufferInt

java.lang.Object
  |
  +--jcsp.util.ints.ZeroBufferInt
All Implemented Interfaces:
ChannelDataStoreInt, Cloneable, Serializable

public class ZeroBufferInt
extends Object
implements ChannelDataStoreInt, Serializable

This is used to create a zero-buffered integer channel that never loses data.

Description

ZeroBufferInt is an implementation of ChannelDataStoreInt that yields the standard CSP semantics for a channel -- that is zero buffered with direct synchronisation between reader and writer. Unless specified otherwise, this is the default behaviour for channels. See the static create methods of One2OneChannelInt etc.

The getState method will return FULL if there is an output waiting on the channel and EMPTY if there is not.

Author:
P.D.Austin
See Also:
BufferInt, OverWriteOldestBufferInt, OverWritingBufferInt, OverFlowingBufferInt, InfiniteBufferInt, One2OneChannelInt, Any2OneChannelInt, One2AnyChannelInt, Any2AnyChannelInt, Serialized Form

Fields inherited from interface jcsp.util.ints.ChannelDataStoreInt
EMPTY, FULL, NONEMPTYFULL
 
Constructor Summary
ZeroBufferInt()
           
 
Method Summary
 Object clone()
          Returns a new (and EMPTY) ZeroBufferInt with the same creation parameters as this one.
 int get()
          Returns the int from the ZeroBufferInt.
 int getState()
          Returns the current state of the ZeroBufferInt.
 void put(int value)
          Puts a new int into the ZeroBufferInt.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ZeroBufferInt

public ZeroBufferInt()
Method Detail

get

public int get()
Returns the int from the ZeroBufferInt.

Pre-condition: getState must not currently return EMPTY.

Specified by:
get in interface ChannelDataStoreInt
Returns:
the int from the ZeroBufferInt

put

public void put(int value)
Puts a new int into the ZeroBufferInt.

Pre-condition: getState must not currently return FULL.

Specified by:
put in interface ChannelDataStoreInt
Parameters:
value - the int to put into the ZeroBufferInt

getState

public int getState()
Returns the current state of the ZeroBufferInt.
Specified by:
getState in interface ChannelDataStoreInt
Returns:
the current state of the ZeroBufferInt (EMPTY or FULL)

clone

public Object clone()
Returns a new (and EMPTY) ZeroBufferInt with the same creation parameters as this one.

Note: Only the size and structure of the ZeroBufferInt is cloned, not any stored data.

Specified by:
clone in interface ChannelDataStoreInt
Overrides:
clone in class Object
Returns:
the cloned instance of this ZeroBufferInt.

CSP for Java
(JCSP) 1.0-rc4

Submit a bug or feature to jcsp-team@ukc.ac.uk
Version 1.0-rc4 of the JCSP API Specification (Copyright 1997-2000 P.D.Austin and P.H.Welch - All Rights Reserved)
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.