Queued component interface passing provides a way for a queued component
to convey results of processing a client program's method invocations
made asynchronously via a queue. A queued component recorder for a
"processing" queued component operates to marshal-by-value a method
invocation parameter that is reference to another queued component
recorder for another "results" queued component into a data stream of
recorded method invocations, which is then submitted as a message to a
queue associated with the processing queued component. On receipt of the
message from the queue, a queued component player for the processing
queued component unmarshals the reference to the other queued component
recorder and passes this reference to the processing queued component.
The processing queued component uses the passed reference to invoke
methods of the results queued component through its message queue, which
conveys the processing queued component's results.