Am Mittwoch, 29. April 2009 03:20:48 schrieb Matthew Toseland:
> On Tuesday 21 April 2009 15:16:55 saces at freenetproject.org wrote:
> > Author: saces
> > Date: 2009-04-21 14:16:55 +0000 (Tue, 21 Apr 2009)
> > New Revision: 27153
> >
> > Modified:
> > trunk/freenet/src/freenet/client/async/BaseManifestPutter.java
> > Log:
> > indent: add comments
> >
> > Modified: trunk/freenet/src/freenet/client/async/BaseManifestPutter.java
> > ===================================================================
> > --- trunk/freenet/src/freenet/client/async/BaseManifestPutter.java
>
> 2009-04-21 12:45:14 UTC (rev 27152)
>
> > +++ trunk/freenet/src/freenet/client/async/BaseManifestPutter.java
>
> 2009-04-21 14:16:55 UTC (rev 27153)
>
> > @@ -1,3 +1,6 @@
> > +/* This code is part of Freenet. It is distributed under the GNU General
> > + * Public License, version 2 (or at your option any later version). See
> > + * http://www.gnu.org/ for further details of the GPL. */
> > package freenet.client.async;
> >
> > import java.io.IOException;
> > @@ -30,6 +33,20 @@
> > import freenet.support.io.BucketTools;
> > import freenet.support.io.NativeThread;
> >
> > +/**
> > + * This class contains all the insert logic, but not any 'pack logic'.
> > + * The pack logic have to be implement in a subclass in makePutHandlers.
> > + * @see PlainManifestPutter and @see DefaultManifestPutter.
> > + *
> > + * Internal container redirect URIs:
> > + * The internal container URIs should be always redirects to CHKs, not
>
> just include the metadata into manifest only.
>
> > + * The (assumend) default behaviour is the reuse of containers between
>
> editions,
>
> > + * also ArchiveManger want to have a URI given, not Metadata.
> > + * This rule also makes site update code/logic much more easier.
>
> Okay, given that small files will always be inside a container, and given
> that we will implement DHKs, and internal URIs will then be DHKs i.e. they
> will not be dependant on a single block. If either of these conditions is
> false, then it makes sense to keep the top level inside the manifest.
Using the archive hash (sha256) as identifier for archive manager is an
alternative,
this would allow matadata inclusion (container insert with
reportMatadataOnly=true)
>
> > + *
> > + * container mode: the metadata are inside the root container (the final
>
> URI points to an archive)
>
> > + * freeform mode: the metadata are inserted separately.(the final URI
>
> points to a SimpleManifest)
>
> > + */
> > public abstract class BaseManifestPutter extends BaseClientPutter
>
> implements PutCompletionCallback {
>
> > private static volatile boolean logMINOR;