[omniORB] oneway operations

jnye@micro-optics.com jnye@micro-optics.com
Mon, 5 Feb 2001 12:24:44 -0400


Hi All,

I was just wondering how omniORB implements oneway operations and how
reliable they are. I understand that the CORBA standard does not require any
reliability around oneway operations (an implementation may simply throw
away all oneway calls and still conform to the standard).

The description of what I was doing and what I observed:
I have set up a publish/subscribe system where events get sent to a
dispatcher and the dispatcher will forward them to all registered consumers
(similar to an event channel). All registered consumers contain an operation
called notify that takes a parameter of type Event (a struct with lots of
interesting goodies). This operation was originally coded as oneway. When
running both the publisher and the consumers on one machine, the consumers
received all events. When running them on separate machines, the consumers
did not receive any events. When the operation was changed to be a normal
operation, all consumers received all events.

If oneway is not very reliable in omniORB, this is perfectly fine and I will
change the notify operation to be a normal operation, but I was just
wondering how oneway operations are handled by omniORB and when do calls get
dropped? This is mostly an out-of-curiosity thing.

My systems: all Windows NT Workstation 4.0.

TIA,
Jason.