refac(gcr/s,c) use PeerRoutingInfo
Brian Tiger Chow committed
Jan 30, 2015 at 08:19 UTC
c98964679114737e8ec40ce599d20ca63455de6b
2 files changed
+24
-5
routing/grandcentral/client.go
+10
-3
@@ -80,9 +80,16 @@ func (c *Client) GetValue(ctx context.Context, k u.Key) ([]byte, error) {
80
81
func (c *Client) Provide(ctx context.Context, k u.Key) error {
82
msg := pb.NewMessage(pb.Message_ADD_PROVIDER, string(k), 0)
83
- // TODO wrap this to hide the dialer and the local/remote peers
84
- msg.ProviderPeers = pb.PeerInfosToPBPeers(c.dialer, []peer.PeerInfo{peer.PeerInfo{ID: c.local}}) // FIXME how is connectedness defined for the local node
85
- return c.proxy.SendMessage(ctx, msg) // TODO wrap to hide remote
83
+ // FIXME how is connectedness defined for the local node
84
+ pri := []pb.PeerRoutingInfo{
85
+ pb.PeerRoutingInfo{
86
+ PeerInfo: peer.PeerInfo{
87
+ ID: c.local,
88
+ },
89
+ },
90
+ }
91
+ msg.ProviderPeers = pb.PeerRoutingInfosToPBPeers(pri)
92
+ return c.proxy.SendMessage(ctx, msg) // TODO wrap to hide remote
93
}
94
95
func (c *Client) FindPeer(ctx context.Context, id peer.ID) (peer.PeerInfo, error) {
routing/grandcentral/server.go
+14
-2
@@ -84,7 +84,13 @@ func (s *Server) handleMessage(
84
85
case dhtpb.Message_FIND_NODE:
86
p := s.peerstore.PeerInfo(peer.ID(req.GetKey()))
87
- response.CloserPeers = dhtpb.PeerInfosToPBPeers(s.dialer, []peer.PeerInfo{p})
87
+ pri := []dhtpb.PeerRoutingInfo{
88
+ dhtpb.PeerRoutingInfo{
89
+ PeerInfo: p,
90
+ // Connectedness: TODO
91
+ },
92
+ }
93
+ response.CloserPeers = dhtpb.PeerRoutingInfosToPBPeers(pri)
94
return p.ID, response
95
96
case dhtpb.Message_ADD_PROVIDER:
@@ -116,7 +122,13 @@ func (s *Server) handleMessage(
122
dskey := util.Key(req.GetKey()).DsKey()
123
exists, err := s.datastore.Has(dskey)
124
if err == nil && exists {
119
- response.ProviderPeers = append(response.ProviderPeers, dhtpb.PeerInfosToPBPeers(s.dialer, []peer.PeerInfo{peer.PeerInfo{ID: s.local}})...)
125
+ pri := []dhtpb.PeerRoutingInfo{
126
+ dhtpb.PeerRoutingInfo{
127
+ // Connectedness: TODO how is connectedness defined for the local node
128
+ PeerInfo: peer.PeerInfo{ID: s.local},
129
+ },
130
+ }
131
+ response.ProviderPeers = append(response.ProviderPeers, dhtpb.PeerRoutingInfosToPBPeers(pri)...)
132
}
133
// FIXME(btc) is this how we want to persist this data?
134
pkey := datastore.KeyWithNamespaces([]string{"routing", "providers", req.GetKey()})