Overview | Package | Class | Tree | Deprecated | Index | Help
| ContactCenters V. 0.9.9.
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES

## Package umontreal.iro.lecuyer.contactcenters.queue

Manages waiting queues for storing contacts not being served immediately.

See:
Description

Interface Summary
WaitingQueueListener | Represents a waiting-queue listener which can be notified about events concerning waiting queues.

Class Summary
ContactPatienceTimeGenerator | Value generator for the patience time of contacts.
DequeueEvent | Represents an event happening when a contact leaves a waiting queue without being explicitly removed.
DequeueEventComparator | Default comparator used to sort dequeue events in a priority queue.
EnqueueEvent | Represents a simulation event that will put a queued contact back in its original waiting queue.
PriorityWaitingQueue | Extends the `WaitingQueue` class for a priority waiting queue.
QueueSizeStat | Computes statistics for a specific waiting queue.
QueueSizeStatMeasureMatrix | Queue size statistical collector implementing `MeasureMatrix`.
QueueWaitingQueue | Represents a waiting queue using a Java `Queue` implementation as a data structure.
StandardWaitingQueue | Extends the `WaitingQueue` class for a standard waiting queue, without priority.
WaitingQueue | Represents a waiting queue where contacts are added if they cannot be served immediately.
WaitingQueueSet | Represents a group of waiting queues for which it is possible to get the total size.
WaitingQueueState | Represents the state of a waiting queue.

## Package umontreal.iro.lecuyer.contactcenters.queue Description

Manages waiting queues for storing contacts not being served immediately. A waiting queue represents a data structure organizing waiting contacts while supporting abandonment. Three types of data structures are available for waiting queues, each implemented in concrete subclasses of `WaitingQueue`: a list, a sorted set, or a heap.

The `StandardWaitingQueue` uses a `List` for First In First Out (FIFO) or Last In First Out (LIFO) queues. Queued contacts are ordered based on their arrival times, and can be easily enumerated. When the number of priorities is finite and small, priority queues can be implemented efficiently by combining several standard waiting queues.

General priority queues are implemented by `QueueWaitingQueue`, which uses a heap implemented by the `Queue` interface. By default, contacts are ordered using their arrival times and their priorities, but the user may supply its own `Comparator` to change this order. Heaps are very efficient for inserting new contacts or removing the first contact, but queued contacts are not enumerated in any particular order.

The most generic waiting queue, `PriorityWaitingQueue`, uses a `SortedSet` to store contacts. As with the heap-based queue, the user can supply its own `Comparator` to order contacts. Contacts are also enumerated in the order defined by the comparator used. However, the operations on the sorted set are slower than the operations on a list or a heap.

This package also provides support classes to obtain maximal queue times and to compute the integral of the queue size over simulation time.

Overview | Package | Class | Tree | Deprecated | Index | Help
| ContactCenters V. 0.9.9.
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES

To submit a bug or ask questions, send an e-mail to Richard Simard.