[omniORB] Lost one-way calls

Guenther Grau Guenther.Grau@bk.bosch.de
Thu, 22 Apr 1999 18:41:32 +0200


"Zurek, Jan" wrote:
> "Oneway call is just like request-reply except that there is no reply from
> the other end. If the ORB detects the connection is broken when the request
> is being sent, it does the following:

This is not correct. According to the spec, oneway calls are NOT
relyable.

> If the broken connection is a cache connection, i.e. it has been used
> previously for other invocations, the ORB would quietly try to reconnect
> to the remote address space and retry the request again.
> 
> If the reconnect fails, it would throw a COMM_FAILURE. ..."
> 
> What is correct now? The caller of a one-way "function" should be able to
> recognize that the call could not be submitted and therefore the caller
> should be able to perform some action (e.g. throw an exception).

Well, regardless of the actual implementation of the ORB, and
regardless if it's possible to make one-way requests reliable
or not in this case, you must not rely on one-way calls to be
relyable, because the CORBA spec explicitly states they are
NOT relyable.

  Guenther