[cap-talk] Tahoe visibly solving a problem with capabilities? (was: Re:Demonstration and engagement (was: If not God))

Monty Zukowski monty at codetransform.com
Tue Apr 15 13:47:20 CDT 2008

On Wed, Apr 9, 2008 at 4:26 PM, Jed Donnelley <jed at nersc.gov> wrote:
>  I say "close" because they haven't distinguished
>  between read-only and "deep read-only".  For Tahoe
>  it seems that (currently) the only read-only is
>  "deep read-only".  Because of that I believe that
>  I can't send you a read-only capability to a directory
>  that contains some read-write files that I'd like
>  to work on with you (there are other problems).

I'm trying to think how to best model this.  Perhaps in terms of
methods?  For simplicity I've left out file & folder names and their
methods.  I've also left out the parameters.

Creation facet:
ReadWriteFile dir.createFile()
ReadWriteDirectory dir.createDirectory()

Read-Only facet:
ReadOnlyFileList dir.readOnlyFiles() -> Data file.readContents()
ReadOnlyDirList dir.readOnlyDirs()

ReadWriteFile facet:
ReadWriteFileList dir.readWriteFiles()  -> void
file.writeFileContents(), Data file.readContents()
ReadWriteDirList dir.readWriteDirs() // dirs returned embody ReadWriteFile facet

ReadWriteDir facet:
ReadWriteCreateDirList dir.readWriteCreateDirs() //dirs returned
embody Creation, ReadWriteFile & ReadWriteDir Facets

So specific to your comment, you want the ability to pass around a
ReadWriteFile facet of a directory, which basically means only you can
create new files and directories, but others can list and modify the
files in that directory and subdirectories.

Of course you could get by with just passing the caps to the
read-write files individually; it just puts the burden on you to
update the list when new files are added.


More information about the cap-talk mailing list