mirror of
https://github.com/ipfs/kubo.git
synced 2025-07-03 04:37:30 +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 {
|
func (c *Client) Provide(ctx context.Context, k u.Key) error {
|
||||||
msg := pb.NewMessage(pb.Message_ADD_PROVIDER, string(k), 0)
|
msg := pb.NewMessage(pb.Message_ADD_PROVIDER, string(k), 0)
|
||||||
// TODO wrap this to hide the dialer and the local/remote peers
|
// FIXME how is connectedness defined for the local node
|
||||||
msg.ProviderPeers = pb.PeerInfosToPBPeers(c.dialer, []peer.PeerInfo{peer.PeerInfo{ID: c.local}}) // FIXME how is connectedness defined for the local node
|
pri := []pb.PeerRoutingInfo{
|
||||||
return c.proxy.SendMessage(ctx, msg) // TODO wrap to hide remote
|
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) {
|
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:
|
case dhtpb.Message_FIND_NODE:
|
||||||
p := s.peerstore.PeerInfo(peer.ID(req.GetKey()))
|
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
|
return p.ID, response
|
||||||
|
|
||||||
case dhtpb.Message_ADD_PROVIDER:
|
case dhtpb.Message_ADD_PROVIDER:
|
||||||
@ -116,7 +122,13 @@ func (s *Server) handleMessage(
|
|||||||
dskey := util.Key(req.GetKey()).DsKey()
|
dskey := util.Key(req.GetKey()).DsKey()
|
||||||
exists, err := s.datastore.Has(dskey)
|
exists, err := s.datastore.Has(dskey)
|
||||||
if err == nil && exists {
|
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?
|
// FIXME(btc) is this how we want to persist this data?
|
||||||
pkey := datastore.KeyWithNamespaces([]string{"routing", "providers", req.GetKey()})
|
pkey := datastore.KeyWithNamespaces([]string{"routing", "providers", req.GetKey()})
|
||||||
|
Reference in New Issue
Block a user