|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
A Source implements the side of an event queue where QueueElements are dequeued operations only.
The interface design is heavily influenced by Matt Welsh's SandStorm server, his demonstration of the SEDA architecture. We have deviated where we felt the design differences where better.
Method Summary | |
java.lang.Object |
dequeue()
Dequeues the next element, or null if there is
nothing left on the queue or in case of a timeout while
attempting to obtain the mutex |
java.lang.Object[] |
dequeue(int num)
Dequeues at most num available elements. |
java.lang.Object[] |
dequeueAll()
Dequeues all available elements. |
void |
setTimeout(long millis)
Sets the timeout on a blocking Source. |
int |
size()
Returns the number of elements waiting in this Source. |
Method Detail |
public void setTimeout(long millis)
1
will force all dequeue
operations to block for up to that
number of milliseconds waiting for new elements. Values below
1
will turn off blocking for Source. This is intentional
because a Source should never block indefinitely.
millis
- Number of milliseconds to blockpublic java.lang.Object dequeue()
null
if there is
nothing left on the queue or in case of a timeout while
attempting to obtain the mutex
public java.lang.Object[] dequeueAll()
public java.lang.Object[] dequeue(int num)
num
available elements. Returns a
zero-sized array in case of a timeout while attempting to
obtain the mutex or if there is nothing left on the Source.
num
- The maximum number of elements to dequeue
num
elements from the
Sourcepublic int size()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |