On Wed, Jun 18, 2008 at 6:27 PM, Matthew Toseland
<toad at amphibian.dyndns.org> wrote:
> On Wednesday 18 June 2008 06:49, Daniel Cheng wrote:
>> On Wed, Jun 18, 2008 at 6:17 AM,  <toad at freenetproject.org> wrote:
>> > Author: toad
>> > Date: 2008-06-17 22:17:59 +0000 (Tue, 17 Jun 2008)
>> > New Revision: 20419
>> >
>> [...]
>> > Added: branches/db4o/freenet/src/freenet/client/async/USKFetcherTag.java
>> > ===================================================================
>> > --- branches/db4o/freenet/src/freenet/client/async/USKFetcherTag.java
> (rev 0)
>> > +++ branches/db4o/freenet/src/freenet/client/async/USKFetcherTag.java
> 2008-06-17 22:17:59 UTC (rev 20419)
>> > @@ -0,0 +1,114 @@
>> > +package freenet.client.async;
>> > +
>> > +import com.db4o.ObjectContainer;
>> > +
>> > +import freenet.client.FetchContext;
>> > +import freenet.keys.USK;
>> > +import freenet.node.RequestClient;
>> > +
>> > +/**
>> > + * Not the actual fetcher. Just a tag associating a USK with the client
> that should be called when
>> > + * the fetch has been done. Can be included in persistent requests. On
> startup, all USK fetches are
>> > + * restarted, but this remains the same: the actual USKFetcher's are
> always transient.
>> > + * @author toad
>> > + */
>> > +class USKFetcherTag implements ClientGetState, USKFetcherCallback {
>> > +
>> > +       /** For persistence */
>> > +       public final long nodeDBHandle;
>> > +       /** The callback */
>> > +       public final USKFetcherCallback callback;
>> [...]
>> > +       transient USKFetcher fetcher;
>>
>> Mark "callback" as transient too?
>> Or does it matter?
>
> No, callback has to be persistent. The USKFetcher is recreated each startup,
> the callback is the link to the persistent request or insert that started it.
>

Let's see who implements USKFetcherCallback ...

: public class USKInserter implements .... USKFetcherCallback {
:  ....
:   private USKFetcher fetcher

So we are pulling USKFetcher in if we persist the whole graph.
How many level of depth do we persists ?

Reply via email to