mirror of
https://github.com/ipfs/kubo.git
synced 2025-07-02 03:28:25 +08:00
refac(gcr/s,c) use PeerRoutingInfo
This commit is contained in:
@ -80,9 +80,16 @@ func (c *Client) GetValue(ctx context.Context, k u.Key) ([]byte, error) {
|
||||
|
||||
func (c *Client) Provide(ctx context.Context, k u.Key) error {
|
||||
msg := pb.NewMessage(pb.Message_ADD_PROVIDER, string(k), 0)
|
||||
// TODO wrap this to hide the dialer and the local/remote peers
|
||||
msg.ProviderPeers = pb.PeerInfosToPBPeers(c.dialer, []peer.PeerInfo{peer.PeerInfo{ID: c.local}}) // FIXME how is connectedness defined for the local node
|
||||
return c.proxy.SendMessage(ctx, msg) // TODO wrap to hide remote
|
||||
// FIXME how is connectedness defined for the local node
|
||||
pri := []pb.PeerRoutingInfo{
|
||||
pb.PeerRoutingInfo{
|
||||
PeerInfo: peer.PeerInfo{
|
||||
ID: c.local,
|
||||
},
|
||||
},
|
||||
}
|
||||
msg.ProviderPeers = pb.PeerRoutingInfosToPBPeers(pri)
|
||||
return c.proxy.SendMessage(ctx, msg) // TODO wrap to hide remote
|
||||
}
|
||||
|
||||
func (c *Client) FindPeer(ctx context.Context, id peer.ID) (peer.PeerInfo, error) {
|
||||
|
@ -84,7 +84,13 @@ func (s *Server) handleMessage(
|
||||
|
||||
case dhtpb.Message_FIND_NODE:
|
||||
p := s.peerstore.PeerInfo(peer.ID(req.GetKey()))
|
||||
response.CloserPeers = dhtpb.PeerInfosToPBPeers(s.dialer, []peer.PeerInfo{p})
|
||||
pri := []dhtpb.PeerRoutingInfo{
|
||||
dhtpb.PeerRoutingInfo{
|
||||
PeerInfo: p,
|
||||
// Connectedness: TODO
|
||||
},
|
||||
}
|
||||
response.CloserPeers = dhtpb.PeerRoutingInfosToPBPeers(pri)
|
||||
return p.ID, response
|
||||
|
||||
case dhtpb.Message_ADD_PROVIDER:
|
||||
@ -116,7 +122,13 @@ func (s *Server) handleMessage(
|
||||
dskey := util.Key(req.GetKey()).DsKey()
|
||||
exists, err := s.datastore.Has(dskey)
|
||||
if err == nil && exists {
|
||||
response.ProviderPeers = append(response.ProviderPeers, dhtpb.PeerInfosToPBPeers(s.dialer, []peer.PeerInfo{peer.PeerInfo{ID: s.local}})...)
|
||||
pri := []dhtpb.PeerRoutingInfo{
|
||||
dhtpb.PeerRoutingInfo{
|
||||
// Connectedness: TODO how is connectedness defined for the local node
|
||||
PeerInfo: peer.PeerInfo{ID: s.local},
|
||||
},
|
||||
}
|
||||
response.ProviderPeers = append(response.ProviderPeers, dhtpb.PeerRoutingInfosToPBPeers(pri)...)
|
||||
}
|
||||
// FIXME(btc) is this how we want to persist this data?
|
||||
pkey := datastore.KeyWithNamespaces([]string{"routing", "providers", req.GetKey()})
|
||||
|
Reference in New Issue
Block a user