提交 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) {
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
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论