From e4e021085bff0252ea9296901d10e9b8a97c5aa6 Mon Sep 17 00:00:00 2001 From: Juan Batiz-Benet <juan@benet.ai> Date: Tue, 16 Sep 2014 06:18:26 -0700 Subject: [PATCH] add Peerstore to dht --- core/core.go | 2 +- routing/dht/dht.go | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/core/core.go b/core/core.go index f8f2ed2b..8543ff0e 100644 --- a/core/core.go +++ b/core/core.go @@ -103,7 +103,7 @@ func NewIpfsNode(cfg *config.Config, online bool) (*IpfsNode, error) { return nil, err } - route = dht.NewDHT(local, net, dhts, d) + route = dht.NewDHT(local, peerstore, net, dhts, d) dhts.Handler = route // wire the handler to the service. // TODO(brian): pass a context to DHT for its async operations diff --git a/routing/dht/dht.go b/routing/dht/dht.go index 756c1803..8e26241b 100644 --- a/routing/dht/dht.go +++ b/routing/dht/dht.go @@ -36,6 +36,9 @@ type IpfsDHT struct { // Local peer (yourself) self *peer.Peer + // Other peers + peerstore peer.Peerstore + // Local data datastore ds.Datastore dslock sync.Mutex @@ -53,12 +56,13 @@ type IpfsDHT struct { } // NewDHT creates a new DHT object with the given peer as the 'local' host -func NewDHT(p *peer.Peer, net inet.Network, sender inet.Sender, dstore ds.Datastore) *IpfsDHT { +func NewDHT(p *peer.Peer, ps peer.Peerstore, net inet.Network, sender inet.Sender, dstore ds.Datastore) *IpfsDHT { dht := new(IpfsDHT) dht.network = net dht.sender = sender dht.datastore = dstore dht.self = p + dht.peerstore = ps dht.providers = NewProviderManager(p.ID) dht.shutdown = make(chan struct{}) -- GitLab