Legacy Issue Number: 3938
Source: Open Networks Engineering ( Jean-Christophe Dubois)
a component wants to publish an event. So, it calls
Components::Notification::Event::create_channel(). The container contact the
(remote) Notification service, create a dedicated channel, connect to it and
return an EventConsumerBase to be used by the component to push any event to
the channel. Each time the push() method is called on the EventConsumerBase
it will create a structured_event and push it to the notification channel.
Now, another component (in another container/memory space/system) wants to
receive these events. So it calls Components::Event::subscribe() on the
first component passing a reference to an EventConsumerBase. The component
internally calls Components::Notification::Event::subscribe() passing the
remote EventConsumerBase reference. So now the container has to create a
(local) strutured_push_consumer and connect it to the channel it has
created. By doing this any event that it send to the channel will be bounced
back to it so that it can then push them to the (remote) EventConsumerBase
that have subscribed to the publish port.
This scenario doesn't seem right to me because the notification service is
then useless as all events are bounced back to the publisher. The container
could just call the push() method on each registered EventConsumerBase.
What seems to be really needed is a way to pass the reference to the
NotificationAdmin back to the second component so that the second component
can then subscribe through its own container to the Notification channel.
Another possiblity would be that the subscribe call accept a (remote)
strutured_push_consumer as parameter instead of the EventConsumerBase.
The last solution is that the publisher port is not designed to work with
the notification service but on its own.
I am certaimly missing something!!!!!
Could you explain how it is supposed to work?
Reported: CORBA 2.4 — Thu, 5 Oct 2000 04:00 GMT
Disposition: Resolved — CORBA 2.6.1
rejected, see above
Updated: Fri, 6 Mar 2015 20:58 GMT
CORBA26 — Intent of Components::Events::(un)subscribe to bypass the notif. service ?
- Key: CORBA26-40
- OMG Task Force: Core RTF