[omniORB] Asynchronous calls
Gary D. Duzan
gdd0@gte.com
Wed, 09 Dec 1998 13:37:36 -0500
That it works is a side-effect of the fact that it uses IIOP as a
transport. In fact, it won't always work. If the server is busy, the
TCP buffer will fill up, and eventually the oneway call will block
while waiting for the TCP buffer to drain. CORBA doesn't really specify
whether oneway must be asynchronous or not, so some would argue that it
is mostly useless for portable code to use it. If you want to
guarantee asynchronous invocation, you'll have to implement your own
queueing/threading scheme. As a practical matter, if your code can
tolerate a block every once in a while and your server is well behaved,
it will probably work the way you want most of the time.
Gary Duzan
GTE Laboratories
In Message <Pine.LNX.3.95.981209175759.19179B-100000@craic.iol.ie> ,
Shane Dempsey <sdempsey@iol.ie> wrote:
=>That is my understanding of it anyway .
=>I use oneway calls in the same situations and it seems to work .
=>
=> ...shane D
=>
=>> Hello,
=>>
=>> I am trying to start working in the CORBA world, and swim around...
=>> Here is one of my questions: it sounds like being simple...
=>>
=>> I wonder if the "oneway" keyword really means that the stub function
=>> call will really be asynchronous, ie the call returns immediately
=>> without waiting for the network call to be processed (?). I do not need
=>> to be sure that the server received the message, but I need that the
=>> client would not be blocked in any way...
=>>
=>> Is that right ?
=>>
=>> Thanks to everybody.
=>>
=>> O. TURPIN
=>>
=>>
=>
=>