I wrote:
> Src:tcp/129.116.44.244:4865 htl:5 depth:25 id:1f6d7522f9041601 
> type:InsertRequest In
> Dst:tcp/198.11.16.81:19114 htl:4 depth:26 id:1f6d7522f9041601 
> type:InsertRequest Out
> Dst:tcp/129.116.44.244:4865 htl:26 depth:0 id:1f6d7522f9041601 
> type:QueryRestarted Out
> Src:tcp/140.239.65.102:-15633 htl:6 depth:23 id:1f6d7522f9041601 
> type:InsertRequest In
> Dst:tcp/140.239.65.102:19114 htl:3 depth:26 id:1f6d7522f9041601 
> type:InsertRequest Out
> Dst:tcp/140.239.65.102:-15633 htl:5 depth:0 id:1f6d7522f9041601 
> type:RequestFailed Out
> Dst:tcp/129.116.44.244:4865 htl:26 depth:0 id:1f6d7522f9041601 
> type:QueryRestarted Out
> Src:tcp/140.239.65.102:19114 htl:2 depth:0 id:1f6d7522f9041601 
> type:RequestFailed In
> Dst:tcp/208.35.70.25:19114 htl:2 depth:26 id:1f6d7522f9041601 
> type:InsertRequest Out
> Dst:tcp/216.121.191.70:800 htl:1 depth:26 id:1f6d7522f9041601 
> type:InsertRequest Out
> Dst:tcp/129.116.44.244:4865 htl:26 depth:0 id:1f6d7522f9041601 
> type:QueryRestarted Out
> Dst:tcp/129.116.44.244:4865 htl:26 depth:0 id:1f6d7522f9041601 
> type:InsertReply Out
> Src:tcp/208.35.70.25:19114 htl:1 depth:0 id:1f6d7522f9041601 
> type:RequestFailed In
> Dst:tcp/129.116.44.244:4865 htl:26 depth:0 id:1f6d7522f9041601 
> type:InsertReply Out
> Src:tcp/129.116.44.244:4865 htl:25 depth:1 id:1f6d7522f9041601 
> type:InsertReply In
> Dst:tcp/129.116.44.244:4865 htl:24 depth:2 id:1f6d7522f9041601 
> type:InsertReply Out
> Src:tcp/129.116.44.244:4865 htl:23 depth:3 id:1f6d7522f9041601 
> type:InsertReply In
> Dst:tcp/129.116.44.244:4865 htl:22 depth:4 id:1f6d7522f9041601 
> type:InsertReply Out
> Src:tcp/129.116.44.244:4865 htl:21 depth:5 id:1f6d7522f9041601 
> type:InsertReply In
> Dst:tcp/129.116.44.244:4865 htl:20 depth:6 id:1f6d7522f9041601 
> type:InsertReply Out
> Src:tcp/129.116.44.244:4865 htl:19 depth:7 id:1f6d7522f9041601 
> type:InsertReply In
> Dst:tcp/129.116.44.244:4865 htl:18 depth:8 id:1f6d7522f9041601 
> type:InsertReply Out

The problem here and in the other example I gave is that I sent two
InsertReplies for the same message.  The first one causes the node I sent
it to to reverse the direction of forwarding, because it thinks the next
message it will receive will be the DataInsert message.  Hence when I
send the second InsertReply it forwards it directly back to me, I echo
it back, and we get stuck in a loop.

I think we need to change the state when we send an InsertReply back,
not to send any other messages back.  Ideally we would also terminate any
efforts we are making to search.  (We seem to accept an InsertReply from
a node we have given up on, so we may have gone on to search other nodes.)

I don't understand the current structure well enough to see how to do
this.

Hal

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

Reply via email to