[omniORB] TRANSIENT_CallTimedout

Duncan Grisby duncan at grisby.org
Sun Nov 16 20:42:21 GMT 2003


On Monday 10 November, Daniel Greenblatt wrote:

> Let's say I've set a ORB-wide clientCallTimeoutPeriod of 2 seconds.
> If I make call on a remote object, where one of the input parameters is a
> data structure containing a fair bit of information, say a
> megabyte, and I get a TRANSIENT_CallTimedout error, do I have any
> guarantee as to whether or not the remote method started executing?

No.

> Do these timeouts start from when the call is made, and go until the call
> returns?

Yes. When the call starts, an absolute deadline time is calculated
based on the current time plus the timeout. If a call takes longer
than that, the call times out, regardless as to what stage in the call
has been reached.

>   If so, is there any way to tell whether the remote method
> starting executing already, or if the timeout triggered before execution
> could start?

I'm afraid not. It's basically impossible to do that, since there's no
way for the ORB to know whether the OS has finished sending the
request, even when it itself has finished sending.

Cheers,

Duncan.

-- 
 -- Duncan Grisby         --
  -- duncan at grisby.org     --
   -- http://www.grisby.org --



More information about the omniORB-list mailing list