Issue 3426: Typed event service and disconnect (identical to issue 3156 Notif-service)
Issue 3427: Semantics of Event Service disconnect_push_consumer/supplier()
Issue 3426: Typed event service and disconnect (identical to issue 3156 Notif-service) (event-rtf)
Click here for this issue's archive.
Source: Triodia Technologies Pty Ltd (Mr. Michi Henning, michi(at)triodia.com)
Nature: Uncategorized Issue
Severity:
Summary:
For the untyped event service, a Disconnected exception is raised if push() or pull() are called by the appropriate connect operation wasn't called previously. What should happen if I use a typed event service?
see issue 3156 (Notification Service RTF) for discussion and resolution
The question concerns the disconnect_push_consumer() family of operations
(push and pull, consumer and supplier) on both the Event Svc side (proxy
suppliers and consumers) and application side (suppliers and consumers).
1) Is a proxy's disconnect_..._...() meant to be called by (any or all of)
- the corresponding application supplier/consumer?
- some other part of the application?
- any portion of the Event Svc implementation? If "yes" in this case,
is the connected application object also supposed to be invoked, to
notify it of the proxy's shutdown?
2) Is an application consumer/supplier's disconnect_..._...() meant to be
called by
- some other part of the application? If "yes" in this case, is the
application consumer/supplier then expected to invoke disconnect_()
on the corresponding proxy object?
- any portion of the Event Svc implementation? If "yes", under what
circumstances?
The specific issue at hand presumes the application object's disconnect_()
operation is to be invoked by the Event Svc. The question is when -- one
opinion is that a call to the proxy's disconnect_() results in the invoca-
tion of disconnect_() on the proxy's application object. The opposing o-
pinion is that the application object's disconnect_() is invoked only when
the application object is being disconnected by some means other than a
call to the proxy's disconnect_() (for example, if the event channel's
destroy() is called while application objects are still connected).
see issue 3114 (Notification Service RTF) for resolution and discussion