1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-06-29 09:34:03 +08:00

dht: update on every received message

i made a separate function because we may want to update our
routing table based on "closer peers". maybe not-- these could
all be lies.
This commit is contained in:
Juan Batiz-Benet
2014-12-23 19:20:42 -08:00
parent 61cdef3570
commit cdb461d2a9

View File

@ -34,8 +34,9 @@ func (dht *IpfsDHT) handleNewMessage(s inet.Stream) {
log.Error("Error unmarshaling data")
return
}
// update the peer (on valid msgs only)
dht.Update(ctx, mPeer)
dht.updateFromMessage(ctx, mPeer, pmes)
log.Event(ctx, "foo", dht.self, mPeer, pmes)
@ -103,6 +104,9 @@ func (dht *IpfsDHT) sendRequest(ctx context.Context, p peer.ID, pmes *pb.Message
return nil, errors.New("no response to request")
}
// update the peer (on valid msgs only)
dht.updateFromMessage(ctx, p, rpmes)
dht.peerstore.RecordLatency(p, time.Since(start))
log.Event(ctx, "dhtReceivedMessage", dht.self, p, rpmes)
return rpmes, nil
@ -129,3 +133,8 @@ func (dht *IpfsDHT) sendMessage(ctx context.Context, p peer.ID, pmes *pb.Message
log.Debugf("%s done", dht.self)
return nil
}
func (dht *IpfsDHT) updateFromMessage(ctx context.Context, p peer.ID, mes *pb.Message) error {
dht.Update(ctx, p)
return nil
}