|
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 Form| Field 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 ChannelDataStorepublic 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 ChannelDataStoreChannelDataStore.endGet()public void endGet()
endGet in interface ChannelDataStorestartGet()public void put(Object value)
If OverWriteOldestBuffer is full, the oldest item left unread in the buffer will be overwritten.
put in interface ChannelDataStorevalue - the Object to put into the OverWriteOldestBufferpublic int getState()
getState in interface ChannelDataStorepublic Object clone()
Note: Only the size and structure of the OverWriteOldestBuffer is cloned, not any stored data.
clone in interface ChannelDataStoreclone in class Objectpublic 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 | ||||||||