Order Queues
Each client adapter session uses an internal order queue. This order queue is used differently depending on the context. In a driver context, the order queue is used to store service orders created by a parser.
When a protocol message comes to a provcautil::Binder, the service orders currently attached to the protocol message are queued into a heap, which is exclusively allocated for this protocol message.
The policy controlling when queued service orders should be flushed, is controlled by the OrderQueueFactory::flushPolicy parameter and by the protocol message going though a provcautil::EndPoint.
Messages are pulled from order queues by the Fulfillment Provisioning flow controller and are output on the ports of the corresponding provca::ClientAdapter instance in the main Fulfillment Provisioning flow. In a responder context, the order queue might be used to store a protocol message while awaiting for an asynchronous response to be correlated with it.
Order queues are instantiated and configured via the provca::Config::orderQueueFactoryName which must refer to an existing instance of provca::OrderQueueFactory.
interface OrderQueueFactory { attribute string controllerName; attribute boolean makeCheckpoints; attribute FlushPolicy flushPolicy; };
It is recommended to not override the virtual createOrderQueue operation.