提交 cdb461d2 作者: Juan Batiz-Benet

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.
上级 61cdef35
...@@ -34,8 +34,9 @@ func (dht *IpfsDHT) handleNewMessage(s inet.Stream) { ...@@ -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 ...@@ -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 ...@@ -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
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论