aboutsummaryrefslogtreecommitdiffstats
path: root/p2p/server_test.go
diff options
context:
space:
mode:
authorFelix Lange <fjl@users.noreply.github.com>2018-10-12 17:47:24 +0800
committerGitHub <noreply@github.com>2018-10-12 17:47:24 +0800
commit6f607de5d590ff2fbe8798b04e5924be3b7ca0b4 (patch)
tree2905b3462c0d4f162914a948dac6d1836ace4b77 /p2p/server_test.go
parentdcae0d348bb7f5d9052e50a83383a33538ce376a (diff)
downloaddexon-6f607de5d590ff2fbe8798b04e5924be3b7ca0b4.tar
dexon-6f607de5d590ff2fbe8798b04e5924be3b7ca0b4.tar.gz
dexon-6f607de5d590ff2fbe8798b04e5924be3b7ca0b4.tar.bz2
dexon-6f607de5d590ff2fbe8798b04e5924be3b7ca0b4.tar.lz
dexon-6f607de5d590ff2fbe8798b04e5924be3b7ca0b4.tar.xz
dexon-6f607de5d590ff2fbe8798b04e5924be3b7ca0b4.tar.zst
dexon-6f607de5d590ff2fbe8798b04e5924be3b7ca0b4.zip
p2p, p2p/discover: add signed ENR generation (#17753)
This PR adds enode.LocalNode and integrates it into the p2p subsystem. This new object is the keeper of the local node record. For now, a new version of the record is produced every time the client restarts. We'll make it smarter to avoid that in the future. There are a couple of other changes in this commit: discovery now waits for all of its goroutines at shutdown and the p2p server now closes the node database after discovery has shut down. This fixes a leveldb crash in tests. p2p server startup is faster because it doesn't need to wait for the external IP query anymore.
Diffstat (limited to 'p2p/server_test.go')
-rw-r--r--p2p/server_test.go26
1 files changed, 16 insertions, 10 deletions
diff --git a/p2p/server_test.go b/p2p/server_test.go
index e0b1fc122..7e11577d6 100644
--- a/p2p/server_test.go
+++ b/p2p/server_test.go
@@ -225,12 +225,15 @@ func TestServerTaskScheduling(t *testing.T) {
// The Server in this test isn't actually running
// because we're only interested in what run does.
+ db, _ := enode.OpenDB("")
srv := &Server{
- Config: Config{MaxPeers: 10},
- quit: make(chan struct{}),
- ntab: fakeTable{},
- running: true,
- log: log.New(),
+ Config: Config{MaxPeers: 10},
+ localnode: enode.NewLocalNode(db, newkey()),
+ nodedb: db,
+ quit: make(chan struct{}),
+ ntab: fakeTable{},
+ running: true,
+ log: log.New(),
}
srv.loopWG.Add(1)
go func() {
@@ -271,11 +274,14 @@ func TestServerManyTasks(t *testing.T) {
}
var (
- srv = &Server{
- quit: make(chan struct{}),
- ntab: fakeTable{},
- running: true,
- log: log.New(),
+ db, _ = enode.OpenDB("")
+ srv = &Server{
+ quit: make(chan struct{}),
+ localnode: enode.NewLocalNode(db, newkey()),
+ nodedb: db,
+ ntab: fakeTable{},
+ running: true,
+ log: log.New(),
}
done = make(chan *testTask)
start, end = 0, 0