[omniORB] how to add a liiiitle bit verification to oneway functions

Bryon Roche broche@omeda.com
Tue Jul 16 18:38:02 2002


--=-GeJjcjMcryXbJCSamRsM
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

On Tue, 2002-07-16 at 09:25, Andrey Koubychev wrote:

    Hello developers,
    
          I understand that oneway is not reliable way of calling
          functions. But I have following situation with omniOrb 3.0.4:
          If server is suddenly disconnected, and client execute oneway
          call, 1st call always succeeds, on 2nd call client gets an
          exception. Is it possible (maybe with some hack) to have exception at
          the first time WITH ONEWAY functions.

Unfortunately, that's why they aren't reliable.  With TCP (the transport
underlying standard IIOP transport), you can fail to know know your
connection has died immediately if your timeout and send window is large
enough.

You could drop the TCP send window to less than the size of an IIOP
transaction, but I bet that would entail a not-minor performance
penalty.  You may be better off just going back to a two-way call, or
put some sort of call verification elsewhere in your workflow if that
isn't practical.
-- 
Blore's Razor:
        Given a choice between two theories, take the one which is
funnier.
**
Penguin Farmer
Bryon Roche <kain@kain.org>, Omeda Communications <broche@omeda.com>

--=-GeJjcjMcryXbJCSamRsM
Content-Type: text/html; charset=utf-8

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/1.0.2">
</HEAD>
<BODY>
On Tue, 2002-07-16 at 09:25, Andrey Koubychev wrote:
    <BLOCKQUOTE>
<PRE><FONT COLOR="#737373"><FONT SIZE="3"><I>Hello developers,</FONT></FONT></I>
<FONT COLOR="#737373"><FONT SIZE="3"><I></FONT></FONT></I>
<FONT COLOR="#737373"><FONT SIZE="3"><I>      I understand that oneway is not reliable way of calling</FONT></FONT></I>
<FONT COLOR="#737373"><FONT SIZE="3"><I>      functions. But I have following situation with omniOrb 3.0.4:</FONT></FONT></I>
<FONT COLOR="#737373"><FONT SIZE="3"><I>      If server is suddenly disconnected, and client execute oneway</FONT></FONT></I>
<FONT COLOR="#737373"><FONT SIZE="3"><I>      call, 1st call always succeeds, on 2nd call client gets an</FONT></FONT></I>
<FONT COLOR="#737373"><FONT SIZE="3"><I>      exception. Is it possible (maybe with some hack) to have exception at</FONT></FONT></I>
<FONT COLOR="#737373"><FONT SIZE="3"><I>      the first time WITH ONEWAY functions.</FONT></FONT></I></PRE>
    </BLOCKQUOTE>
<FONT SIZE="3">Unfortunately, that's why they aren't reliable.&nbsp; With TCP (the transport underlying standard IIOP transport), you can fail to know know your connection has died immediately if your timeout and send window is large enough.</FONT>
<BR>
<FONT SIZE="3"></FONT>
<BR>
<FONT SIZE="3">You could drop the TCP send window to less than the size of an IIOP transaction, but I bet that would entail a not-minor performance penalty.&nbsp; You may be better off just going back to a two-way call, or put some sort of call verification elsewhere in your workflow if that isn't practical.</FONT>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%">
<TR>
<TD>
<PRE>-- 
Blore's Razor:
        Given a choice between two theories, take the one which is funnier.
**
Penguin Farmer
Bryon Roche &lt;<A HREF="mailto:kain@kain.org">kain@kain.org</A>&gt;, Omeda Communications &lt;<A HREF="mailto:broche@omeda.com">broche@omeda.com</A>&gt;</PRE>
</TD>
</TR>
</TABLE>

</BODY>
</HTML>

--=-GeJjcjMcryXbJCSamRsM--