Try OpenEdge Now
skip to main content
Application Migration and Development Guide
Application Development with PAS for OpenEdge : PAS for OpenEdge and Client Interaction : Understanding synchronous and asynchronous requests : Asynchronous request queuing
Asynchronous request queuing
To allow a client to submit a sequence of asynchronous requests over the same session-managed or session-free connection, OpenEdge maintains a queuing system to manage such requests between the client and the PAS for OpenEdge instance. OpenEdge handles multiple asynchronous requests in this queuing system differently, depending on the application model:
*Session-managed connections — The PAS for OpenEdge instance can execute only one asynchronous request at a time over a single client connection. So, results from session-managed asynchronous requests are returned to the client in the order they are sent.
*Session-free connections — The PAS for OpenEdge instance can handle multiple asynchronous requests from the same client in parallel. So, results from session-free asynchronous requests are returned to the client in no predictable order.
Therefore, you just write your application to account for the difference in how results are returned for each application model.
Regardless of the application model, the asynchronous request queuing system is the same, and includes three queues:
*One send queue per application connection, for queuing asynchronous requests to the PAS for OpenEdge instance.
*One response queue per client connection, for queuing the results of each asynchronous request.
*The client event queue on the client for handling all ABL events, including user-interface and other events, such as PROCEDURE-COMPLETE. This event queue handles the PROCEDURE-COMPLETE event for all PAS for OpenEdge connections on a client.