1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-06-29 17:36:38 +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") log.Error("Error unmarshaling data")
return return
} }
// update the peer (on valid msgs only) // update the peer (on valid msgs only)
dht.Update(ctx, mPeer) dht.updateFromMessage(ctx, mPeer, pmes)
log.Event(ctx, "foo", dht.self, 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") 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)) dht.peerstore.RecordLatency(p, time.Since(start))
log.Event(ctx, "dhtReceivedMessage", dht.self, p, rpmes) log.Event(ctx, "dhtReceivedMessage", dht.self, p, rpmes)
return rpmes, nil 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) log.Debugf("%s done", dht.self)
return nil return nil
} }
func (dht *IpfsDHT) updateFromMessage(ctx context.Context, p peer.ID, mes *pb.Message) error {
dht.Update(ctx, p)
return nil
}