[omniORB] OmniEvents

Paul Nader Paul.Nader@aals27.alcatel.com.au
Tue, 25 Jan 2000 12:04:36 +1100


Hi Ole,

Your understanding is correct. The problem is that the event channel can't
assume
that a client that dies without disconecting will not become active again
sometime
in the future. Hence, it can't just discard the ProxySupplier.

Regards, Paul


"Storm,Ole OLS" wrote:

> Hello omniORBers,
>
> We have been using the omniEvents 1.0.3 service for some months now and are
> quite happy with it.
>
> We have, however, a small problem explained here:
>
> The setup is as follows. The system has one supplier (S) and n consumers
> (C_i), that communicates through one common event channel (EC). The event
> channel is owned and constructed by an EventChannelFactory (ECF). The
> supplier, all consumers and the EventChannelFactory are separate processes.
> The supplier and consumers are of following kind:
>
> S: PushSupplier,
> C_i: PullConsumer, using try_pull() to poll for events
>
> When a consumer is started, it connects to the event channel, listens for
> events, and disconnects from the channel when terminated. However, if a
> client goes down, i.e. is not terminated 'nicely', it never gets
> disconnected from the eventchannel! Since event channels queue all events
> recieved until they are 'delivered' to consumers, the queue associated with
> the consumer that died, will start to grow in size continously. As a
> consequence, the EventChannelFactory-process will start to garbage whenever
> a client has a sudden death.
>
> Is there a way I can handle this problem within omniEvents 1.0.3???
>
> I have seen, that with omniEvents 2.0 it is now possible to set how many
> events are buffered by each ProxySupplier. I think, however, that this is
> only half a solution to this problem, since the EventChannelFactory process
> will garbage the size of the buffer for every consumer that dies.
> Am I right, or have I misunderstood something here?
>
> Best regards,
>
>         Ole.
>
> > Ole Storm, ols@kmd.dk
> > Udvikler, PUI
> > KMD A/S
> > Niels Bohrs Alle 185
> > 5220 Odense Sリ
> > Tlf  44 60 52 83
> >
> >
> >