Package org.eclipse.ecf.core.sharedobject.util

## Interface IQueueDequeue

All Known Subinterfaces:
  `IQueue`

    public interface IQueueDequeue

### Method Summary

All Methods Instance Methods Abstract Methods
`Event` `blocking_dequeue​(int timeout_millis)` Dequeue a single Event.
`Event[]` `blocking_dequeue​(int timeout_millis, int num)` Dequeue a multiple Events.
`Event[]` `blocking_dequeue_all​(int timeout_millis)` Dequeue all Events currently on queue.
`Event` `dequeue()` Dequeue a single event.
`Event[]` `dequeue​(int num)` Dequeue several events in one operation.
`Event[]` `dequeue_all()` Dequeue all available Events.
`int` `size()` Provide the current size of the queue (the number of Events) currently on the queue.

### Method Detail

#### dequeue

    Event dequeue()

Dequeue a single event. Returns null if no Events available for dequeue

Returns:
  Event the Event dequeued. Null if queue is empty.

#### dequeue

    Event[] dequeue​(int num)

Dequeue several events in one operation. num events are dequeued.

Returns:
  Event[] the Events dequeue. Returns null if there are not sufficient events on queue to support dequeuing num events

#### dequeue_all

    Event[] dequeue_all()

Dequeue all available Events.

Returns:
  Event[] the events on this queue. Returns null if there are no events in queue

#### blocking_dequeue

    Event blocking_dequeue​(int timeout_millis)

Dequeue a single Event. Blocks until an Event is available for dequeue, or until timeout_millis have elapsed. If timeout_millis is -1, dequeue does not timeout.

Parameters:
  `timeout_millis` - the timeout for a dequeue in milliseconds.
Returns:
  Event removed from queue. Returns null if no events on queue.

#### blocking_dequeue

    Event[] blocking_dequeue​(int timeout_millis,
                             int num)

Dequeue a multiple Events. Blocks until num Events are available for dequeue, or until timeout_millis have elapsed. If timeout_millis is -1, dequeue does not timeout.

Parameters:
  `timeout_millis` - the timeout for a dequeue in milliseconds.
  `num` - the number of Events to dequeue
Returns:
  Event [] the num Events removed from queue

#### blocking_dequeue_all

    Event[] blocking_dequeue_all​(int timeout_millis)

Dequeue all Events currently on queue. Blocks until num Events are available for dequeue, or until timeout_millis have elapsed. If timeout_millis is -1, dequeue does not timeout.

Parameters:
  `timeout_millis` - the timeout for a dequeue in milliseconds.
Returns:
  Event [] the num Events removed from queue

#### size

    int size()

Provide the current size of the queue (the number of Events) currently on the queue.

Returns:
  size the int size of the queue