@cryptotaxi247 / kubo / commits / 9e5b3b777

refactor(gcr/c) pass host.Host into GCR client

Brian Tiger Chow committed Jan 30, 2015 at 08:05 UTC 9e5b3b7773ec7638550ababb9a213d0f604c2d42
2 files changed +11 -4
core/corerouting/core.go
+5 -2
@@ -29,6 +29,9 @@ func GrandCentralServer(recordSource datastore.ThreadSafeDatastore) core.Routing
29 if node.Peerstore == nil {
30 return nil, errPeerstoreMissing
31 }
32 + if node.PeerHost == nil {
33 + return nil, errHostMissing
34 + }
35 if node.Identity == "" {
36 return nil, errIdentityMissing
37 }
@@ -41,7 +44,7 @@ func GrandCentralServer(recordSource datastore.ThreadSafeDatastore) core.Routing
44 Local: node.Identity,
45 }
46 node.PeerHost.SetStreamHandler(gcproxy.ProtocolGCR, proxy.HandleStream)
44 - return grandcentral.NewClient(proxy, node.Peerstore, node.Identity)
47 + return grandcentral.NewClient(proxy, node.PeerHost, node.Peerstore, node.Identity)
48 }
49 }
50
@@ -77,6 +80,6 @@ func GrandCentralClient(remotes ...peer.PeerInfo) core.RoutingOption {
80 }
81 proxy := gcproxy.Standard(node.PeerHost, ids)
82 node.PeerHost.SetStreamHandler(gcproxy.ProtocolGCR, proxy.HandleStream)
80 - return grandcentral.NewClient(proxy, node.Peerstore, node.Identity)
83 + return grandcentral.NewClient(proxy, node.PeerHost, node.Peerstore, node.Identity)
84 }
85 }
routing/grandcentral/client.go
+6 -2
@@ -6,6 +6,7 @@ import (
6
7 context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
8 proto "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/goprotobuf/proto"
9 + "github.com/jbenet/go-ipfs/p2p/host"
10 peer "github.com/jbenet/go-ipfs/p2p/peer"
11 routing "github.com/jbenet/go-ipfs/routing"
12 pb "github.com/jbenet/go-ipfs/routing/dht/pb"
@@ -18,17 +19,19 @@ import (
19 var log = eventlog.Logger("grandcentral")
20
21 type Client struct {
22 + peerhost host.Host
23 peerstore peer.Peerstore
24 proxy proxy.Proxy
25 local peer.ID
26 }
27
28 // TODO take in datastore/cache
27 -func NewClient(px proxy.Proxy, ps peer.Peerstore, local peer.ID) (*Client, error) {
29 +func NewClient(px proxy.Proxy, h host.Host, ps peer.Peerstore, local peer.ID) (*Client, error) {
30 return &Client{
31 proxy: px,
32 local: local,
33 peerstore: ps,
34 + peerhost: h,
35 }, nil
36 }
37
@@ -79,7 +82,8 @@ func (c *Client) Provide(ctx context.Context, k u.Key) error {
82 pri := []pb.PeerRoutingInfo{
83 pb.PeerRoutingInfo{
84 PeerInfo: peer.PeerInfo{
82 - ID: c.local,
85 + ID: c.local,
86 + Addrs: c.peerhost.Addrs(),
87 },
88 },
89 }