Proposal:

We abolish double slashes.

When a container is first accessed, it is fully unpacked into cache,
including its .metadata. If the container does not include a .metadata,
we generate one. This allows users to do, for example,
[EMAIL PROTECTED]/freenet-20060718.tgz/lib/freenet-ext.jar without having to
insert a metadata redirect (there are of course size limits).

The cache is a set of ephemerally encrypted, padded files. The files,
including the metadata, are kept individually in an LRU.

A metadata manifest is a metadata document which is a map of names to
metadata documents. The latter can be container-internal redirects,
which refer to a file inside the container; they can be redirects to any
URI; they can be splitfiles, and particularly they can be manifests.

Any and all access to files, even archive manifests (aka containers)
occurs via metadata manifests. Metadata manifests are "directories".

So:

[EMAIL PROTECTED],blah/WhateverFlog/images/war/bomb.jpeg

=>
Fetch [EMAIL PROTECTED],blah/WhateverFlog
Is a splitfile, and a tar.bz2 manifest.
Need the metadata; not in cache; fetch the splitfile; unpack into cache.
Extract the metadata.
Find "images" - is a manifest.
Find "war" - is a manifest.
Find "bomb.jpeg" - is "images/war/bomb.jpeg" inside the tar.bz2, is
image/jpeg.
Extract it, return it to the user.
-- 
Matthew J Toseland - [EMAIL PROTECTED]
Freenet Project Official Codemonkey - http://freenetproject.org/
ICTHUS - Nothing is impossible. Our Boss says so.

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Devl mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to