Legacy Issue Number: 4180
Source: DSTC ( Ted McFadden)
The specification states that Directory::set_directory is used to allow
a client to "update or populate the contents of a Directory object." so
that it mirrors the true contents of a remote server.
However, at any point in time after the call to set_directory, the
Directory can get out of sync with the remote server it represents.
Even after a call to list() is made, either the returned sequence or
FileIterator can return stale results.
What I'm suggesting that the sync point is an implementation
detail. It may be appropriate for some implementations to sync on
every call to Directory::list or FileIterator::next_n.
If an implementation did nothing in response to set_directory could a
client tell? If not, must a client call set_directory before it can
call list or get_property_value("num_children")?
I ask these questions because neither the Naming or Trader services,
which have similar iterators, have any kind of set or refresh
operation to sync with their datastore.
I'm also a bit confused because in Chapter 4 Section 4.3.2, you do
not have to call set_directory on the root directory returned from
log_in(), but then you do on any subsequent directories.
The name set_directory indicates a kind of change working directory
operation as in an ftp or ftam client app but it doesn't seem to
apply in this situation.
Action Requested: If set_directory is required, spec must state when
it needs to be called in Chapter 3. If its not required, remove it and
state that it is up to the Directory implementation when it takes a
"snapshot" of the remote server.
Reported: FTAM 1.0b1 — Tue, 30 Jan 2001 05:00 GMT
Disposition: Resolved — FTAM 1.0
Removed the operation from the IDL. There is no concept of a “current directory”.
Updated: Sat, 7 Mar 2015 04:32 GMT