Chris Bitmead uid(x22068)
Tue, 06 May 1997 12:31:25 +1000

>We can tell this path object to give us the object, and we can let that object
>be GCed. Such an object will have a special GCing flag that makes the GC
>tell the storage manager to send it back to the path... let me give some examples:
>Imagine our path is constructed with a UNIX pathname, say a text file. It
>will use appropriate techniques to determine a type, in this case "string".
>When we ask for the actual object, it creates an object of class
>"string", and fills it in from the file.
>When it is finalised, the path object is told to close it down.
>It does this by storing the string back to the file.

This implys that things are stored back to disk in a non-deterministic
fashion. That implys that in the event of system failure you have got
no consistency of data whatsoever.

No, I think you have to do it properly and have a (commit) API.

>There is a class, "directory", which anything like a directory
>must be descended from. A path object referencing a directory
>or other group of paths, when told to retreive the object,
>will return some subclass of directory.
>Directories do things like return lists of the path objects
>they contain - but their most important task is to accept
>new objects.

Why call it a directory then? It's just a data structure, like
everything else in OOFS. It may be a list, hashtable, vector,
structure, queue, btree or whatever.