swarm: do not cache newService()

This commit is contained in:
Anton Evangelatov 2018-03-27 19:01:08 +02:00
parent cf49adf400
commit d1c46e3dde
2 changed files with 9 additions and 10 deletions

View file

@ -17,6 +17,7 @@
package network
import (
"bytes"
"fmt"
"math/rand"
"strings"
@ -182,9 +183,9 @@ func (k *Kademlia) Register(peers []OverlayAddr) error {
for _, p := range peers {
// error if self received, peer should know better
// and should be punished for this
//if bytes.Equal(p.Address(), k.base) {
//return fmt.Errorf("add peers: %x is self", k.base)
//}
if bytes.Equal(p.Address(), k.base) {
return fmt.Errorf("add peers: %x is self", k.base)
}
var found bool
k.addrs, _, found, _ = pot.Swap(k.addrs, p, pof, func(v pot.Val) pot.Val {
// if not found

View file

@ -57,13 +57,11 @@ var (
useHandshake bool
)
var services = newServices()
func init() {
flag.Parse()
rand.Seed(time.Now().Unix())
adapters.RegisterServices(services)
adapters.RegisterServices(newServices())
initTest()
}
@ -677,11 +675,11 @@ func testNetwork(t *testing.T) {
}
a = adapters.NewExecAdapter(dirname)
} else if adapter == "sock" {
a = adapters.NewSocketAdapter(services)
a = adapters.NewSocketAdapter(newServices())
} else if adapter == "tcp" {
a = adapters.NewTCPAdapter(services)
a = adapters.NewTCPAdapter(newServices())
} else if adapter == "sim" {
a = adapters.NewSimAdapter(services)
a = adapters.NewSimAdapter(newServices())
}
net := simulations.NewNetwork(a, &simulations.NetworkConfig{
ID: "0",
@ -1082,7 +1080,7 @@ func setupNetwork(numnodes int) (clients []*rpc.Client, err error) {
if numnodes < 2 {
return nil, fmt.Errorf("Minimum two nodes in network")
}
adapter := adapters.NewSimAdapter(services)
adapter := adapters.NewSimAdapter(newServices())
net := simulations.NewNetwork(adapter, &simulations.NetworkConfig{
ID: "0",
DefaultService: "bzz",