Issue 3156: Typed event service and disconnect (notif_service-rtf) 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? Resolution: Revised Text: Append the following to the end of the final para on page 2-12: (Note that, if a consumer operation is declared oneway, there is no way for the caller to find out if the consumer is in the disconnected state because, for oneway calls, the servant cannot raise exceptions.) Append the following para at the end of section 2.5.1: If a TypedPushConsumer is in the disconnected state and a supplier attempts to deliver a typed event, the consumer shall raise a BAD_INV_ORDER exception. Append the following para at the end of section 2.5.2: If a TypedPullSupplier is in the disconnected state and a consumer attempts to retrieve a typed event, the supplier shall raise a BAD_INV_ORDER exception. Actions taken: December 21, 1999: received issue February 27, 2001: closed issue Discussion: Typed consumers and suppliers cannot be forced to offer a Disconnected exception, so a system exception must be used. End of Annotations:===== Date: Tue, 21 Dec 1999 11:08:15 +1000 (EST) From: Michi Henning To: issues@omg.org Subject: Typed event service and disconnect Message-ID: Organization: Object Oriented Concepts MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-UIDL: o5:e9@l"e9MC>e93+Ee9 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? The spec doesn't say :-( Cheers, Michi. Date: Wed, 15 Mar 2000 11:10:54 -0600 From: Bjarne Rasmussen Organization: PrismTech Corporation X-Mailer: Mozilla 4.7 [en] (WinNT; I) X-Accept-Language: en MIME-Version: 1.0 To: notif-service-rtf@omg.org CC: Paul Moxon , Steve Osselton Subject: Issue 3156 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii X-UIDL: )D0!! To: notif-service-rtf@omg.org Subject: Re: Issue 3156 In-Reply-To: <38CFC41E.E8EFEE0A@us.prismtechnologies.com> Message-ID: Organization: Object Oriented Concepts MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-UIDL: BL>!!k-%e9nJQd9YW_!! On Wed, 15 Mar 2000, Bjarne Rasmussen wrote: > Hi, > > Regarding issue 3156, we suggest that the typed "push" operations > (supplier side), and typed "pull" and "try_pull" operations > (consumer > side) should raise a BAD_INV_ORDER system exception if the proxy has > not > been connected. We find that it would be against the spirit of the > typed > event service if operations in a user defined interface were > required to > support the Disconnected exception. I agree -- it's not reasonable to expect me to add a Disconnected exception to all my operations. However, we seem to have an additional problem here: Page 4-19: These are the same restrictions as CORBA imposes on oneway operations, and for similar reasons: event communication is unidirectional, and does not directly support responses. The operations can be declared oneway, but need not be. The last sentence is problematical. If an operation is declared as oneway, the sender may set the response_expected field (for GIOP 1.0 and 1.1) to false, or set the response_flags field (for GIOP 1.2) to 0. In that case, it is impossible for the receiver to raise BAD_INV_ORDER (or any other exception, for that matter). I think that the statement in the spec that operations may be oneway is simply incorrect -- aparently, no-one thought of this issue. The only alternative I can see is that, if the operation is oneway, it is impossible for the caller to detect that the channel is not connected. So, either we remove the statement that operations can be oneway, or we state that, if operations are oneway, it may be impossible to detect when a call is made to an as yet unconnected proxy. Opinions? Cheers, Michi. -- Michi Henning +61 7 3891 5744 Object Oriented Concepts +61 4 1118 2700 (mobile) Suite 4, 904 Stanley St +61 7 3891 5009 (fax) East Brisbane 4169 michi@ooc.com.au AUSTRALIA http://www.ooc.com.au/staff/michi-henning.html