[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