Reservoir and Queue Behavior
The Reservoir (or OrderQueue) module stores all service orders until the FlowController assigned to it triggers the release of one or more of the held service orders. If the service orders are not prioritized, they are released in first-in, first-out order. If the service orders have different priorities, they are sorted into priority slots. The Reservoir or queue then escalates them according to the escalation frequency, which is configurable. It selects the next service order from the highest-priority slot. Orders with the same priority are released in first-in, first-out order.
A Reservoir or an OrderQueue is always controlled by a single FlowController module.
You can configure Reservoirs and OrderQueues to swap service orders out to disk when a specific number of orders is reached in the whole shared memory. This can help to conserve shared memory in configurations where reservoirs can contain a large number of orders. The orders are read back into memory before sending them downstream. You configure this feature using the flow controller's swapLevel attribute.
Reservoirs automatically checkpoint the incoming service orders (see also Checkpointing Service Orders). Therefore, it is never necessary to place a checkpoint module immediately before or after a Reservoir.
Type
prov::Reservoir
For more details about this module, refer to the component documentation.