From bc4e7aad70eadbf44e29b6b917f70cf15933600e Mon Sep 17 00:00:00 2001 From: Brian Warner Date: Wed, 13 Dec 2006 20:37:00 -0700 Subject: [PATCH] record some WIP structure for filetable --- allmydata/filetable.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/allmydata/filetable.py b/allmydata/filetable.py index bb96b02a..b52c367d 100644 --- a/allmydata/filetable.py +++ b/allmydata/filetable.py @@ -107,3 +107,32 @@ class GlobalVirtualDrive(service.MultiService): def get_root(self): return self._root + +class Node: + pass + +class MutableFileNode(Node): + """I hold an SSK identifier for a mutable file. My 'contents' are + defined to be the most recent version of the SSK's payload that can + be found. This SSK identifier must be dereferenced to get the + contents.""" + pass +class ImmutableFileNode(Node): + """I hold a CHK identifier for an immutable file. I may have some + metadata as well: ctime, mtime, content-type, and filesize.""" + pass +class ImmutableDirectoryNode(Node): + """I hold a list of child nodes.""" + pass +class MutableDirectoryNode2(Node): + """I hold an SSK identifier for a mutable directory. When + dereferenced, I will have a list of child nodes.""" + pass + +# interesting feature ideas: +# pubsub for MutableDirectoryNode: get rapid notification of changes +# caused by someone else +# +# bind a local physical directory to the MutableDirectoryNode contents: +# each time the vdrive changes, update the local drive to match, and +# vice versa. -- 2.45.2