toad wrote: >> "failed (rnf)" means the search ran out of nodes before running of hops. >> However, this could be caused by timeouts, because if we time out >> waiting for a peer to accept the search we move on to another peer. > > Right. But the timeout is fixed on each hop, so very often the first > node will timeout by the time the later node times out.
IIRC the search timeout is longer than the accepted timeout, so once you've accepted the search it's possible to get several accepted timeouts from downstream peers before the upstream peer gets a search timeout from you. > The implemented algorithm is that we increase the rate of sending > requests if we complete without timing out ourselves, or receiving a > timeout notification from another node involved in the request (these > are propagated back to source). Cool, I think that matches what I've simulated. > By the way, did you try implementing the throttle with RTT, and > comparing to throttle without? Not yet but I will. Cheers, Michael