[omniORB] OmniORB behaviour with firewalls

Eric Dumas edumas@tumbleweed.com
Mon, 16 Aug 1999 08:49:14 -0700


According to Sai-Lai Lo:
> I suspect what the firewall does is just to drop the packets after 5 or 6
> minutes. What an odd firewall policy! As far as tcp is concern, it just
> see no ACK but not a disconnection. Until tcp finally timeout, which will
> be a long time, the ORB runtime will not see a disconnection.

	Agree. 

> It seems to me what is needed is a timeout value that can be set for
> a call to complete. If the value has been exceeded, the
> communication is considered a failure and COMM_FAILURE will be
> thrown. The timeout is the sum of the time to send out the request
> and the time for the reply to come back. It is not simple to choose
> an appropriate value for this timeout. Setting this value too high
> would not be particularly useful. Setting this value too low may
> upset some applications which are designed to wait patiently for the
> computation to finish on the server.

	An other way would be to test the connection is still
alived. A way to do that would be to switch the socket in non-blocking
mode and to perform a read()/recv() system call. If the other side is
no longer connected, we should get an ECONNRESET.

> The new connection management code in the post-2.8.0 releases
> already have the option to implement this. Perhaps I'll put this
> feature in before the 2.8.0 final. I'm almost ready to put out
> 2.8.0pre2. May be I'll add this feature to pre2 so as to give this a
> bit of time for testing.

	Ok. Thank you.
-- 
                        Éric Dumas (dumas@tumbleweed.com)
   Tumbleweed Communication, 700 Saginaw Drive, Redwood City, CA 94063, USA
               http://www.tumbleweed.com    Tel: +1 650-216-2030