

Asynchronous Cooperative Flows › Asynchronous Processing with Generated Clients › Processing Options for an Asynchronous Request
Processing Options for an Asynchronous Request
When a DPC initiates an asynchronous cooperative flow, there are several options for retrieving the corresponding response. These options are specified as parameters when the request is initiated. The application component can choose the following options:
- Poll Response—in which the requesting application component can inquire if the response to a given outstanding request is available. After it is available, the response can be explicitly obtained by the application, thus completing the outstanding asynchronous request. Applications can implement either active or passive polling for a given response, where:
- Active polling requires the application to request that control be returned to the application, even if the response is not immediately available. The application must either re-invoke the non-blocking request (GET ASYNC RESPONSE) to get the response periodically until the response becomes available, or use the check response statement (CHECK ASYNC RESPONSE).
- Passive polling requires the application to request that the statement to get the response (GET ASYNC RESPONSE) should block until the response becomes available.
- Notify Event—This option is available only to windows clients, so is not available when performing server-to-server flows. The requesting application can request that an event handler be driven when the response to a given asynchronous request is available for processing. Because of the event action, the requesting application know that the response is available and can be obtained using the get response statement (GET ASYNC RESPONSE).
- No Response—The application can choose to only initiate a cooperative flow and not be concerned about receiving its corresponding response. The use of No Response frees the application from having to explicitly obtain or explicitly ignore the target server's response.
If the requesting application decides it no longer requires a response to an outstanding request, the response should be explicitly ignored for the asynchronous cooperative flow to be considered complete. This is important, because only the resources that are associated with completed requests can be returned to the system. A response that is queued, awaiting either a GET ASYNC RESPONSE or an IGNORE ASYNC RESPONSE statement, is known as a pending response. After the request has been obtained (or ignored), an asynchronous cooperative flow is considered complete.
Note: For detailed information about the set of asynchronous action language statements, see the Action Diagram User Guide.
Copyright © 2014 CA.
All rights reserved.
 
|
|