[omniORB] Re: Connection Handler

Armen Yampolsky ayampolsky@erols.com
Tue, 22 Dec 1998 14:50:26 -0500


Duncan,

My question did not insinuate that I believe an ORB should assume anything. I
am well aware of client re-connect abilities. This is why I tried to be very
specific in my question, stating that I am looking only for an event hook, and
that I wish to implement my own strict server implementation. Don't forget, we
are implementing applications according to inherited guidelines, based on the
particulars of some given system. Wouldn't you agree that it is I who knows
best what is and isn't "safe"?

According to what I inderstood from David and the list, my server needs to poll
clients (check for heartbeat) and clean up when the heartbeat is gone
(according to some rule -- hey, maybe we try a few additional poll cycles
before disposing). I wanted to avoid the excess overhead of the periodic client
ping, and simply know immediately when the client is gone. That's all. What's
wrong with that, considering that, internally, most ORB's (including omni) know
about it anyway?

Cheers,
-Armen


Duncan Grisby wrote:

> On Tuesday 22 December, David Riddoch wrote:
>
> > I'm afraid that we don't provide any such proprietary hooks in omniORB.
>
> [...]
>
> > On Tue, 22 Dec 1998, Armen Yampolsky wrote:
>
> > > In working with other ORB vendors, I had implemented an Evictor pattern,
> > > wherein a map was maintained by the server, tracking all connected
> > > clients and their respective objects. I had a handler for the
> > > (proprietary) connected and aborted events. If a client dropped
> > > unexpectedly, my server knew about it and cleaned up after it. Now I am
>
> In addition to what David says, watching TCP connections to tell when
> clients disconnect is not a sensible thing for any ORB to do. Clients
> are permitted to close TCP connections at any time, and then
> re-connect later. omniORB does this by default. It's not safe to
> assume that a client has gone away just because its TCP connection has
> closed.
>
> Cheers,
>
> Duncan.
>
> --
>  -- Duncan Grisby                        --
>   -- dpg1001@cam.ac.uk, DGrisby@orl.co.uk --
>    -- http://www.cl.cam.ac.uk/~dpg1001/    --

--
Armen Yampolsky
Axiom Software Labs
New York