This would lead to more data being sent, and for the request to be slower,
without much benefit. If Freenet works correctly, the situation you decribe will
almost never occur, because if the second node on yours got v3 from
somewhere then its reference for the key would be to the node it got v3 from,
which is where he would send the request (it is possible but unlikely that that
node would have regressed a version).

It is easy to tell which node was the first with the latest data. Simply put a
flag in the MessageMemory that you had a newer version then all the nodes
before you on the Request. If you did, then the you turn the TimedOut into a
DataReply (if you get a TimedOut, you could get a DataReply with newer data), if
you didn't, then you pass out the TimedOut. 

On Mon, 08 May 2000, Theodore Hong wrote:
> Oskar Sandberg <md98-osa at nada.kth.se> wrote:
<snip> 
> How about this:
> 
> - the last node to see the Request (first node to see the TimedOut), i.e.
>   furthest from user) that has the correct version turns it into a
>   DataReply.
> 
> - it also sends the DataReply downstream as well (setting HTL as the Depth
>   from the TimedOut message), so that those nodes can get updated too.
> 
> For example:
> 
> user       v1       v3       v2      v1     v3     v1     v2
> Request-0->   -1->     -3->     -3->    -3->  -3->    -3->
>                                               <-3-    <-3-TimedOut
>        <---   <---     <---    <---DataReply  DataReply--->
> 
> 
> (maybe that TimedOut should actually be some type of Request instead?)
> theo
> 
> 
> _______________________________________________
> Freenet-dev mailing list
> Freenet-dev at lists.sourceforge.net
> http://lists.sourceforge.net/mailman/listinfo/freenet-dev
-- 

Oskar Sandberg

md98-osa at nada.kth.se

#!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj
$/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1
lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/((..)*)$/)

_______________________________________________
Freenet-dev mailing list
Freenet-dev at lists.sourceforge.net
http://lists.sourceforge.net/mailman/listinfo/freenet-dev

Reply via email to