@cryptotaxi247 / kubo / commits / cdb461d2a

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.

Juan Batiz-Benet committed Dec 23, 2014 at 19:20 UTC cdb461d2a9f25f4390fb5c0c59c642b7ea72730a
1 file changed +10 -1
routing/dht/dht_net.go
+10 -1
@@ -34,8 +34,9 @@ func (dht *IpfsDHT) handleNewMessage(s inet.Stream) {
34 log.Error("Error unmarshaling data")
35 return
36 }
37 +
38 // update the peer (on valid msgs only)
38 - dht.Update(ctx, mPeer)
39 + dht.updateFromMessage(ctx, mPeer, pmes)
40
41 log.Event(ctx, "foo", dht.self, mPeer, pmes)
42
@@ -103,6 +104,9 @@ func (dht *IpfsDHT) sendRequest(ctx context.Context, p peer.ID, pmes *pb.Message
104 return nil, errors.New("no response to request")
105 }
106
107 + // update the peer (on valid msgs only)
108 + dht.updateFromMessage(ctx, p, rpmes)
109 +
110 dht.peerstore.RecordLatency(p, time.Since(start))
111 log.Event(ctx, "dhtReceivedMessage", dht.self, p, rpmes)
112 return rpmes, nil
@@ -129,3 +133,8 @@ func (dht *IpfsDHT) sendMessage(ctx context.Context, p peer.ID, pmes *pb.Message
133 log.Debugf("%s done", dht.self)
134 return nil
135 }
136 +
137 +func (dht *IpfsDHT) updateFromMessage(ctx context.Context, p peer.ID, mes *pb.Message) error {
138 + dht.Update(ctx, p)
139 + return nil
140 +}