diff options
Diffstat (limited to 'swarm/network/simulations/discovery/discovery_test.go')
-rw-r--r-- | swarm/network/simulations/discovery/discovery_test.go | 36 |
1 files changed, 16 insertions, 20 deletions
diff --git a/swarm/network/simulations/discovery/discovery_test.go b/swarm/network/simulations/discovery/discovery_test.go index 913d6d837..d11eabf95 100644 --- a/swarm/network/simulations/discovery/discovery_test.go +++ b/swarm/network/simulations/discovery/discovery_test.go @@ -31,11 +31,10 @@ import ( "testing" "time" - "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/log" "github.com/ethereum/go-ethereum/node" "github.com/ethereum/go-ethereum/p2p" - "github.com/ethereum/go-ethereum/p2p/discover" + "github.com/ethereum/go-ethereum/p2p/enode" "github.com/ethereum/go-ethereum/p2p/simulations" "github.com/ethereum/go-ethereum/p2p/simulations/adapters" "github.com/ethereum/go-ethereum/swarm/network" @@ -237,8 +236,8 @@ func discoverySimulation(nodes, conns int, adapter adapters.NodeAdapter) (*simul DefaultService: serviceName, }) defer net.Shutdown() - trigger := make(chan discover.NodeID) - ids := make([]discover.NodeID, nodes) + trigger := make(chan enode.ID) + ids := make([]enode.ID, nodes) for i := 0; i < nodes; i++ { conf := adapters.RandomNodeConfig() node, err := net.NewNodeWithConfig(conf) @@ -263,7 +262,7 @@ func discoverySimulation(nodes, conns int, adapter adapters.NodeAdapter) (*simul wg := sync.WaitGroup{} for i := range ids { // collect the overlay addresses, to - addrs = append(addrs, network.ToOverlayAddr(ids[i].Bytes())) + addrs = append(addrs, ids[i].Bytes()) for j := 0; j < conns; j++ { var k int if j == 0 { @@ -282,7 +281,7 @@ func discoverySimulation(nodes, conns int, adapter adapters.NodeAdapter) (*simul log.Debug(fmt.Sprintf("nodes: %v", len(addrs))) // construct the peer pot, so that kademlia health can be checked ppmap := network.NewPeerPotMap(testMinProxBinSize, addrs) - check := func(ctx context.Context, id discover.NodeID) (bool, error) { + check := func(ctx context.Context, id enode.ID) (bool, error) { select { case <-ctx.Done(): return false, ctx.Err() @@ -298,8 +297,7 @@ func discoverySimulation(nodes, conns int, adapter adapters.NodeAdapter) (*simul return false, fmt.Errorf("error getting node client: %s", err) } healthy := &network.Health{} - addr := common.Bytes2Hex(network.ToOverlayAddr(id.Bytes())) - if err := client.Call(&healthy, "hive_healthy", ppmap[addr]); err != nil { + if err := client.Call(&healthy, "hive_healthy", ppmap[id.String()]); err != nil { return false, fmt.Errorf("error getting node health: %s", err) } log.Debug(fmt.Sprintf("node %4s healthy: got nearest neighbours: %v, know nearest neighbours: %v, saturated: %v\n%v", id, healthy.GotNN, healthy.KnowNN, healthy.Full, healthy.Hive)) @@ -351,8 +349,8 @@ func discoveryPersistenceSimulation(nodes, conns int, adapter adapters.NodeAdapt DefaultService: serviceName, }) defer net.Shutdown() - trigger := make(chan discover.NodeID) - ids := make([]discover.NodeID, nodes) + trigger := make(chan enode.ID) + ids := make([]enode.ID, nodes) var addrs [][]byte for i := 0; i < nodes; i++ { @@ -371,7 +369,7 @@ func discoveryPersistenceSimulation(nodes, conns int, adapter adapters.NodeAdapt return nil, fmt.Errorf("error triggering checks for node %s: %s", node.ID().TerminalString(), err) } ids[i] = node.ID() - a := network.ToOverlayAddr(ids[i].Bytes()) + a := ids[i].Bytes() addrs = append(addrs, a) } @@ -398,12 +396,12 @@ func discoveryPersistenceSimulation(nodes, conns int, adapter adapters.NodeAdapt return fmt.Errorf("error getting node client: %s", err) } healthy := &network.Health{} - addr := common.Bytes2Hex(network.ToOverlayAddr(id.Bytes())) + addr := id.String() if err := client.Call(&healthy, "hive_healthy", ppmap[addr]); err != nil { return fmt.Errorf("error getting node health: %s", err) } - log.Info(fmt.Sprintf("NODE: %s, IS HEALTHY: %t", id.String(), healthy.GotNN && healthy.KnowNN && healthy.Full)) + log.Info(fmt.Sprintf("NODE: %s, IS HEALTHY: %t", addr, healthy.GotNN && healthy.KnowNN && healthy.Full)) if !healthy.GotNN || !healthy.Full { isHealthy = false break @@ -462,7 +460,7 @@ func discoveryPersistenceSimulation(nodes, conns int, adapter adapters.NodeAdapt wg.Wait() log.Debug(fmt.Sprintf("nodes: %v", len(addrs))) // construct the peer pot, so that kademlia health can be checked - check := func(ctx context.Context, id discover.NodeID) (bool, error) { + check := func(ctx context.Context, id enode.ID) (bool, error) { select { case <-ctx.Done(): return false, ctx.Err() @@ -478,8 +476,7 @@ func discoveryPersistenceSimulation(nodes, conns int, adapter adapters.NodeAdapt return false, fmt.Errorf("error getting node client: %s", err) } healthy := &network.Health{} - addr := common.Bytes2Hex(network.ToOverlayAddr(id.Bytes())) - if err := client.Call(&healthy, "hive_healthy", ppmap[addr]); err != nil { + if err := client.Call(&healthy, "hive_healthy", ppmap[id.String()]); err != nil { return false, fmt.Errorf("error getting node health: %s", err) } log.Info(fmt.Sprintf("node %4s healthy: got nearest neighbours: %v, know nearest neighbours: %v, saturated: %v", id, healthy.GotNN, healthy.KnowNN, healthy.Full)) @@ -510,7 +507,7 @@ func discoveryPersistenceSimulation(nodes, conns int, adapter adapters.NodeAdapt // triggerChecks triggers a simulation step check whenever a peer is added or // removed from the given node, and also every second to avoid a race between // peer events and kademlia becoming healthy -func triggerChecks(trigger chan discover.NodeID, net *simulations.Network, id discover.NodeID) error { +func triggerChecks(trigger chan enode.ID, net *simulations.Network, id enode.ID) error { node := net.GetNode(id) if node == nil { return fmt.Errorf("unknown node: %s", id) @@ -548,9 +545,8 @@ func triggerChecks(trigger chan discover.NodeID, net *simulations.Network, id di } func newService(ctx *adapters.ServiceContext) (node.Service, error) { - host := adapters.ExternalIP() - - addr := network.NewAddrFromNodeIDAndPort(ctx.Config.ID, host, ctx.Config.Port) + node := enode.NewV4(&ctx.Config.PrivateKey.PublicKey, adapters.ExternalIP(), int(ctx.Config.Port), int(ctx.Config.Port)) + addr := network.NewAddr(node) kp := network.NewKadParams() kp.MinProxBinSize = testMinProxBinSize |