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