The sequence diagram for forwarding records that match a specific criteria
is shown below. The last three messages from the ForwardingServerOperation
show the communication that occurs when the host returns a failed or timeout
response.

Flow of events - The forwarder application calls the ForwardingServerOperation, passing
in a String representation of a WHERE clause. The argument represents the
search criteria for querying the STORE table through the Store service.
- The ForwardingServerOperation retrieves the first query record from the
STORE table.
- The retrieved record, which is a hash table, is unformatted and mapped
to the context data elements.
- The forwarder uses the Common Communications service to send the host
request.
- Upon receipt of a successful host response, the forwarder unformats the
host response and updates the context before returning the host response to
the ForwardingServerOperation.
- When the ForwardingServerOperation receives a successful host response,
it deletes the record of the stored operation from the StoreService and commits
the stored operation. See subflow 6.1 below.
- The result of the retrieved, forwarded, and committed stored operation
is updated in the Electronic Journal table. See subflow 7.1 below.
- The ForwardingServerOperation retrieves the next record for forwarding.
The next record is one for which forwarding has not already been tried, but
has failed.
- Steps 3-8 are repeated until the last row of results has been processed.
Subflows
6.1 A failed or timeout host response message rolls back the store operation
in the STORE table.
7.1 The result of the retrieved, forwarded, and rolled-back
store operation is updated in the Electronic Journal table.