aboutsummaryrefslogtreecommitdiffstats
path: root/swarm/network
diff options
context:
space:
mode:
authorJanos Guljas <janos@resenje.org>2017-12-13 17:23:11 +0800
committerJanos Guljas <janos@resenje.org>2017-12-13 17:40:39 +0800
commit19982f946735948478b6b7e7706f1b615f171d0d (patch)
treecbacbdb6f9e6e731c2ebc17bad74e875f4d8ea8b /swarm/network
parent1dc19de5da64962a98a37bbc7b93a3895d2eb6e6 (diff)
parent32516c768ec09e2a71cab5983d2c8b8ae5d92fc7 (diff)
downloaddexon-19982f946735948478b6b7e7706f1b615f171d0d.tar
dexon-19982f946735948478b6b7e7706f1b615f171d0d.tar.gz
dexon-19982f946735948478b6b7e7706f1b615f171d0d.tar.bz2
dexon-19982f946735948478b6b7e7706f1b615f171d0d.tar.lz
dexon-19982f946735948478b6b7e7706f1b615f171d0d.tar.xz
dexon-19982f946735948478b6b7e7706f1b615f171d0d.tar.zst
dexon-19982f946735948478b6b7e7706f1b615f171d0d.zip
swarm, cmd/swarm: Merge branch 'master' into multiple-ens-endpoints
Merge with changes that implement config file PR #15548. Field *EnsApi string* in swarm/api.Config is replaced with *EnsAPIs []string*. A new field *EnsDisabled bool* is added to swarm/api.Config for easy way to disable ENS resolving with config file. Signature of function swarm.NewSwarm is changed and simplified.
Diffstat (limited to 'swarm/network')
-rw-r--r--swarm/network/hive.go12
-rw-r--r--swarm/network/kademlia/kaddb.go2
-rw-r--r--swarm/network/kademlia/kademlia.go2
-rw-r--r--swarm/network/kademlia/kademlia_test.go10
-rw-r--r--swarm/network/syncer.go9
5 files changed, 23 insertions, 12 deletions
diff --git a/swarm/network/hive.go b/swarm/network/hive.go
index d37b7e400..2504a4610 100644
--- a/swarm/network/hive.go
+++ b/swarm/network/hive.go
@@ -70,19 +70,25 @@ type HiveParams struct {
*kademlia.KadParams
}
-func NewHiveParams(path string) *HiveParams {
- kad := kademlia.NewKadParams()
+//create default params
+func NewDefaultHiveParams() *HiveParams {
+ kad := kademlia.NewDefaultKadParams()
// kad.BucketSize = bucketSize
// kad.MaxProx = maxProx
// kad.ProxBinSize = proxBinSize
return &HiveParams{
CallInterval: callInterval,
- KadDbPath: filepath.Join(path, "bzz-peers.json"),
KadParams: kad,
}
}
+//this can only finally be set after all config options (file, cmd line, env vars)
+//have been evaluated
+func (self *HiveParams) Init(path string) {
+ self.KadDbPath = filepath.Join(path, "bzz-peers.json")
+}
+
func NewHive(addr common.Hash, params *HiveParams, swapEnabled, syncEnabled bool) *Hive {
kad := kademlia.New(kademlia.Address(addr), params.KadParams)
return &Hive{
diff --git a/swarm/network/kademlia/kaddb.go b/swarm/network/kademlia/kaddb.go
index cb0869467..b37ced5ba 100644
--- a/swarm/network/kademlia/kaddb.go
+++ b/swarm/network/kademlia/kaddb.go
@@ -330,7 +330,7 @@ func (self *KadDb) load(path string, cb func(*NodeRecord, Node) error) (err erro
}
}
n++
- if (node.After == time.Time{}) {
+ if node.After.IsZero() {
node.After = time.Now()
}
self.index[node.Addr] = node
diff --git a/swarm/network/kademlia/kademlia.go b/swarm/network/kademlia/kademlia.go
index bf976a3e1..0abc42a19 100644
--- a/swarm/network/kademlia/kademlia.go
+++ b/swarm/network/kademlia/kademlia.go
@@ -52,7 +52,7 @@ type KadParams struct {
ConnRetryExp int
}
-func NewKadParams() *KadParams {
+func NewDefaultKadParams() *KadParams {
return &KadParams{
MaxProx: maxProx,
ProxBinSize: proxBinSize,
diff --git a/swarm/network/kademlia/kademlia_test.go b/swarm/network/kademlia/kademlia_test.go
index 417ccecae..88858908a 100644
--- a/swarm/network/kademlia/kademlia_test.go
+++ b/swarm/network/kademlia/kademlia_test.go
@@ -63,7 +63,7 @@ func TestOn(t *testing.T) {
if !ok1 || !ok2 {
t.Errorf("oops")
}
- kad := New(addr, NewKadParams())
+ kad := New(addr, NewDefaultKadParams())
err := kad.On(&testNode{addr: other}, nil)
_ = err
}
@@ -72,7 +72,7 @@ func TestBootstrap(t *testing.T) {
test := func(test *bootstrapTest) bool {
// for any node kad.le, Target and N
- params := NewKadParams()
+ params := NewDefaultKadParams()
params.MaxProx = test.MaxProx
params.BucketSize = test.BucketSize
params.ProxBinSize = test.BucketSize
@@ -127,7 +127,7 @@ func TestFindClosest(t *testing.T) {
test := func(test *FindClosestTest) bool {
// for any node kad.le, Target and N
- params := NewKadParams()
+ params := NewDefaultKadParams()
params.MaxProx = 7
kad := New(test.Self, params)
var err error
@@ -198,7 +198,7 @@ var (
func TestProxAdjust(t *testing.T) {
r := rand.New(rand.NewSource(time.Now().UnixNano()))
self := gen(Address{}, r).(Address)
- params := NewKadParams()
+ params := NewDefaultKadParams()
params.MaxProx = 7
kad := New(self, params)
@@ -232,7 +232,7 @@ func TestSaveLoad(t *testing.T) {
r := rand.New(rand.NewSource(time.Now().UnixNano()))
addresses := gen([]Address{}, r).([]Address)
self := RandomAddress()
- params := NewKadParams()
+ params := NewDefaultKadParams()
params.MaxProx = 7
kad := New(self, params)
diff --git a/swarm/network/syncer.go b/swarm/network/syncer.go
index d76af022c..6d729fcb9 100644
--- a/swarm/network/syncer.go
+++ b/swarm/network/syncer.go
@@ -131,9 +131,8 @@ type SyncParams struct {
}
// constructor with default values
-func NewSyncParams(bzzdir string) *SyncParams {
+func NewDefaultSyncParams() *SyncParams {
return &SyncParams{
- RequestDbPath: filepath.Join(bzzdir, "requests"),
RequestDbBatchSize: requestDbBatchSize,
KeyBufferSize: keyBufferSize,
SyncBufferSize: syncBufferSize,
@@ -144,6 +143,12 @@ func NewSyncParams(bzzdir string) *SyncParams {
}
}
+//this can only finally be set after all config options (file, cmd line, env vars)
+//have been evaluated
+func (self *SyncParams) Init(path string) {
+ self.RequestDbPath = filepath.Join(path, "requests")
+}
+
// syncer is the agent that manages content distribution/storage replication/chunk storeRequest forwarding
type syncer struct {
*SyncParams // sync parameters