It should be reasonably easy for me to add this functionality.  The code
is in kinda a mess right now, since I'm integrating it with HTML UI, but
I'll get to it in the next few days, most likely.

You will actully find that often, if you insert a file at HTL=25 on the
current node, it can be DNF at HTL=25 *on the same node* if you fetch
remotely ;).  This is what I learned from having verification code.  
(actully, CofE had already pointed this out to me ages ago, but
nonetheless it was surprising to see that it wasn't an exaggeration)

Reinserting even from the same node actully achieves the same
thing.  Consider this: 

The fishtools loop goes something like this -> try to retrieve file, if
failed, insert file and try and retrieve again, repeat.

On any given insert, it will fail to retrieve it about 50% of the
time.  But that's not the interesting part.

The interesting part is that The first day after I started running
fishland with this code base, I had to reinsert 90% of what I'd inserted
the previous day

A week later, it was down to around 50% of the files

At this point, I'm only reinserting about 130 files or so (of almost
500) per day.

This is all on my transient node on my system.  Ironically, it seems that
having a permanent node doesn't nessesarily make this better - when I was
trying to run the stream on your :8481 node, I was failing to verify about
75% of the time.  So it's not just communication between two nodes that's
the problem.

Of course, throwing 30 threads at it might not have helped me there
;).  But, paradoxically, throwing threads at freenet seems to be the only
way to make things work :-p.

        - fish

On Sat, 9 Nov 2002, Matthew Toseland wrote:

> Recently I inserted a file at HTL 20 into one of my nodes, and had it
> DNF on the other at HTL 25. For two different files. This worked in the
> past, with lower HTLs. Now, the interesting part is that I have three
> nodes, and it appears that hammering all the nodes other than the one I
> inserted the files into for all the files improves fetchability over
> time... maybe fishtools etc should include an option to fetch from extra
> nodes? The modified loop:
>
> Insert files.
> For each file:
>  if fetchable on all nodes, continue to next file
>  for each extra node, (in parallel?):
>   try to fetch at current HTL
>   if RNF, retry with same options
>   if DNF, and HTL < max HTL, increase HTL and retry
>  done
>  repeat
> done
>
> Eventually the files should become available... and the network will
> forge new links to make this happen. The only cost is time and load...


_______________________________________________
devl mailing list
devl at freenetproject.org
http://hawk.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to