Query whether a background CORBA operation has completed or not.
Usage
getRequestStatus(requestName, requestNumber=0, block=F)
Arguments
requestName
|
the name of the group in which the
background/deferred request has been stored. This is
the same as the value for the .deferred argument
used in the .Corba call generating the
request.
|
requestNumber
|
The index of the request
in the list of requests stored under the name
requestName. This uses 1-based counting.
|
block
|
logical indicating whether we should wait
until the call has returned (or completed with an error)
or just query the current status and immediately return
|
Description
This allows us to determine if a remote background
call has terminated. We can optionally wait for it to complete
or return immediately and continue on with local computations,
periodically returning.Details
The requests are stored in an internal C++
table and will not persist across sessions.Value
a vector of the same length as the
argument requestNumber
in which each element indicates whether that request
has completed (TRUE) or not (FALSE).Note
In the future, it would be good to add
an error status.Author(s)
Duncan Temple LangReferences
http://www.omegahat.org/CORBASee Also
getRequestValue,
getRequestServer,
deferredRequestList,
removeRequest, .CorbaExamples
.Corba("server", "test", .deferred="name")
while(getRequestStatus("name",1) == 0)
cat("Still waiting\n")