|
CSP for Java (JCSP) 1.1-rc4 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jcsp.util.OverWriteOldestBuffer
public class OverWriteOldestBuffer
This is used to create a buffered object channel that always accepts input, overwriting its oldest data if full.
Channel
(Channel.one2one(org.jcsp.util.ChannelDataStore)
etc.).
The getState method returns EMPTY or NONEMPTYFULL, but never FULL.
ZeroBuffer
,
Buffer
,
OverWritingBuffer
,
OverFlowingBuffer
,
InfiniteBuffer
,
Channel
,
Serialized FormField Summary |
---|
Fields inherited from interface org.jcsp.util.ChannelDataStore |
---|
EMPTY, FULL, NONEMPTYFULL |
Constructor Summary | |
---|---|
OverWriteOldestBuffer(int size)
Construct a new OverWriteOldestBuffer with the specified size. |
Method Summary | |
---|---|
Object |
clone()
Returns a new (and EMPTY) OverWriteOldestBuffer with the same creation parameters as this one. |
void |
endGet()
This ends an extended rendezvous by the reader. |
Object |
get()
Returns the oldest Object from the OverWriteOldestBuffer and removes it. |
int |
getState()
Returns the current state of the OverWriteOldestBuffer. |
void |
put(Object value)
Puts a new Object into the OverWriteOldestBuffer. |
void |
removeAll()
Deletes all items in the buffer, leaving it empty. |
Object |
startGet()
Begins an extended rendezvous by the reader. |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public OverWriteOldestBuffer(int size)
size
- the number of Objects the OverWriteOldestBuffer can store.
BufferSizeError
- if size is zero or negative. Note: no action
should be taken to try/catch this exception
- application code generating it is in error and needs correcting.Method Detail |
---|
public Object get()
Pre-condition: getState must not currently return EMPTY.
get
in interface ChannelDataStore
public Object startGet()
When a reader begins an extended rendezvous, the oldest value is returned from the buffer
(as it would be for a call to get()
). While an extended rendezvous is ongoing, the
writer may (repeatedly) write to the buffer, without ever blocking.
When the reader finishes an extended rendezvous, the following options are possible:
startGet
in interface ChannelDataStore
ChannelDataStore.endGet()
public void endGet()
endGet
in interface ChannelDataStore
startGet()
public void put(Object value)
If OverWriteOldestBuffer is full, the oldest item left unread in the buffer will be overwritten.
put
in interface ChannelDataStore
value
- the Object to put into the OverWriteOldestBufferpublic int getState()
getState
in interface ChannelDataStore
public Object clone()
Note: Only the size and structure of the OverWriteOldestBuffer is cloned, not any stored data.
clone
in interface ChannelDataStore
clone
in class Object
public void removeAll()
ChannelDataStore
removeAll
in interface ChannelDataStore
|
CSP for Java (JCSP) 1.1-rc4 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |