From bc4e7aad70eadbf44e29b6b917f70cf15933600e Mon Sep 17 00:00:00 2001
From: Brian Warner <warner@allmydata.com>
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