add Peerstore to dht
Juan Batiz-Benet committed
Sep 16, 2014 at 06:18 UTC
e4e021085bff0252ea9296901d10e9b8a97c5aa6
2 files changed
+6
-2
core/core.go
+1
-1
@@ -103,7 +103,7 @@ func NewIpfsNode(cfg *config.Config, online bool) (*IpfsNode, error) {
103
return nil, err
104
}
105
106
- route = dht.NewDHT(local, net, dhts, d)
106
+ route = dht.NewDHT(local, peerstore, net, dhts, d)
107
dhts.Handler = route // wire the handler to the service.
108
109
// TODO(brian): pass a context to DHT for its async operations
routing/dht/dht.go
+5
-1
@@ -36,6 +36,9 @@ type IpfsDHT struct {
36
// Local peer (yourself)
37
self *peer.Peer
38
39
+ // Other peers
40
+ peerstore peer.Peerstore
41
+
42
// Local data
43
datastore ds.Datastore
44
dslock sync.Mutex
@@ -53,12 +56,13 @@ type IpfsDHT struct {
56
}
57
58
// NewDHT creates a new DHT object with the given peer as the 'local' host
56
-func NewDHT(p *peer.Peer, net inet.Network, sender inet.Sender, dstore ds.Datastore) *IpfsDHT {
59
+func NewDHT(p *peer.Peer, ps peer.Peerstore, net inet.Network, sender inet.Sender, dstore ds.Datastore) *IpfsDHT {
60
dht := new(IpfsDHT)
61
dht.network = net
62
dht.sender = sender
63
dht.datastore = dstore
64
dht.self = p
65
+ dht.peerstore = ps
66
67
dht.providers = NewProviderManager(p.ID)
68
dht.shutdown = make(chan struct{})