Issue 4181: The Directory::list operation is underspecified (ftamftp-ftf) Source: DSTC (Mr. Ted McFadden, mcfadden@dstc.edu.au) Nature: Uncategorized Issue Severity: Summary: The parameters of the Directory::list method are underspecified which makes interoperability a problem. (We just went through this with the NamingContext::list operation in the Naming RTF/FTF.) A more rigorous definition of list (borrowed from Section 3.3.8 of the INS spec formal/00-08-07) is: void list (in unsigned long how_many, out FileList fl, out FileIterator fi); list returns the Files contained in a Directory in the parameter fl. The fl parameter is a sequence where each element is a FileWrapper. The how_many parameter determines the maximum number of Files to return in the parameter fl, with any remaining bindings to be accessed through the returned FileIterator fi. - A non-zero value of how_many guarantees that fl contains at most how_many elements. The implementation is free to return fewer than the number of Files requested by how_many. However, for a non-zero value of how_many, it may not return a fl sequence with zero elements unless the Directory contains no Files. - If how_many is set to zero, the client is requesting to use only the FileIterator fi to access the Files and list returns a zero length sequence in fl. - The parameter fi returns a reference to an iterator object. - If the fi parameter returns a non-nil reference, this indicates that the call to list may not have returned all of the bindings in the Directory and that the remaining Files (if any) must be retrieved using the iterator. This applies for all values of how_many. - If the fi parameter returns a nil reference, this indicates that the fl parameter contains all of the Files in the Directory. This applies for all values of how_many. Action Requested: Make description of list operation cover these interoperability points. Resolution: see above Revised Text: Section 3.1.5 Directory Interface the description of the list operation. Section 3.1.6 DirEn-tryIterator. Actions taken: January 30, 2001: received issue Discussion: Resolution The Directory::list operation has been made unambiguous. The IDL has been changed so that it now simply returns a DirEntryIterator. (The original spec also failed to describe the iterator.). The DirEntryIterator is a “recoverable iterator” interface that allows recovery and continuation if a client or server tries to send/receive too many entries in a single operation. End of Annotations:===== Date: Tue, 30 Jan 2001 22:51:43 +1000 From: Ted McFadden To: issues@omg.org, ftamftp-ftf@omg.org Cc: tmcf@ooc.com.au Subject: ftam/ftp issue: Directory::list operation how_many Message-ID: <20010130225143.D16495@ooc.com.au> Reply-To: Ted McFadden Mail-Followup-To: issues@omg.org, ftamftp-ftf@omg.org Mime-Version: 1.0 Received: from errigal.ooc.com.au (IDENT:root@errigal.ooc.com.au [10.1.1.5]) by janus.ooc.com.au (8.9.3/8.9.3) with ESMTP id AAA08466 for ; Wed, 31 Jan 2001 00:55:08 +1000 Received: (from tmcf@localhost) by errigal.ooc.com.au (8.9.3/8.9.3) id AAA16833 for tmcf@ooc.com.au; Wed, 31 Jan 2001 00:55:07 +1000 Received: from errigal.ooc.com.au (IDENT:root@errigal.ooc.com.au [10.1.1.5]) by janus.ooc.com.au (8.9.3/8.9.3) with ESMTP id WAA07990 for ; Tue, 30 Jan 2001 22:51:43 +1000 Received: (from tmcf@localhost) by errigal.ooc.com.au (8.9.3/8.9.3) id WAA16640 for tmcf@ooc.com.au; Tue, 30 Jan 2001 22:51:43 +1000 X-Mailer: Mutt 1.0i Content-Type: text/plain; charset=us-ascii X-UIDL: To: Stephen Egan Cc: ftamftp-ftf@omg.org, Burger Alan , Bo_Andrin_ , "Louis-Francois Pau E-Mail\"" , "Terry Turner E-Mail\"" Subject: Re: ftamftp-ftf issues Message-ID: <20010207164024.F24790@ooc.com.au> References: <376BF7DF9F03D3118E510008C7DBA932036DD8@MCHH251E> <20010206204819.43756.qmail@web9401.mail.yahoo.com> Mime-Version: 1.0 X-Mailer: Mutt 1.0i In-Reply-To: <20010206204819.43756.qmail@web9401.mail.yahoo.com>; from ftam_ftp@yahoo.com on Tue, Feb 06, 2001 at 12:48:19PM -0800 Content-Type: text/plain; charset=us-ascii X-UIDL: -A%!!$*=!!N3C!!5T/!! On Tue, Feb 06, 2001 at 12:48:19PM -0800, Stephen Egan wrote: > Hi, > There are a couple of points that I would like to make > on the issues raised. Hi Stephen, Thanks for commenting on these issues. I've cc'd the ftamftp-ftf on this to keep the OMG archive going. My responses are below. I would appreciate comments from others on the ftf. I still have some concerns about how different vendor's implementations will interoperate. > > #4181: This may be an implementation problem, but > when using OrbixWeb and VisiBroker with Java, > returning a null pointer as an "out" parameter within > a Holder object causes applications to crash. This > might affect returning a null (nil) reference as the > "fi" parameter as described in the last paragraph of > this issue. > I don't think there's an issue here. The text lifted from the Naming Service is not referring to the java language mapping Holder class, but the object reference for the FileIterator. In a Java implementation, the FileIteratorHolder returned from the list operation must be non-null, but its member "value" can be null.