Archived

This forum has been archived. Please start a new discussion on GitHub.

oneway invocation Ice vs CORBA

Hi,

I am trying to understand the difference in the way Ice and CORBA implement oneway invocations.

In the Ice 3.2.1 manual (section 4.21 - page 162-163), it says that CORBA implements oneway invocations using TCP/IP and explains how this is inefficient. And that Ice offers UDP protocol as well.

On the faq at http://www.zeroc.com/faq/onewaysLost.html it says that Ice also implements one way invocations using TCP/IP.

I don't understand how it avoids the problems that affect CORBA in its use of TCP/IP for the invocations?

Many thanks!
Iman

Comments

  • matthew
    matthew NL, Canada
    This focus of that section of the manual is really the idea of having oneway at the interface level, something which we consider very dubious for the reasons outlined in that section.

    With respect to blocking, as of Ice 3.2.1 tcp oneway invocations can also block. See http://www.zeroc.com/faq/onewaysBlock.html for details.

    Starting with Ice 3.3 we remove this limitation for both twoway and oneway invocations. Sending the both oneway and two invocations asynchronously guarantees never to block the caller.
  • Many thanks for the explanation and the pointers!