From 8ee308fe797182c7ace9ceedac1795a6b2e474b6 Mon Sep 17 00:00:00 2001 From: Igor Sirotin Date: Fri, 3 Oct 2025 20:10:45 +0100 Subject: [PATCH] fix: table (#10) --- discover/table.go | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/discover/table.go b/discover/table.go index 1846cc5..9aaade3 100644 --- a/discover/table.go +++ b/discover/table.go @@ -101,20 +101,10 @@ type bucket struct { } func newTable(t transport, db *enode.DB, bootnodes []*enode.Node, logger *zap.Logger) (*Table, error) { - buckets := [nBuckets]*bucket{} - for i := range buckets { - buckets[i] = &bucket{ - ips: netutil.DistinctNetSet{Subnet: bucketSubnet, Limit: bucketIPLimit}, - } - } - nursery := wrapNodes(bootnodes) - tab := &Table{ mutex: sync.Mutex{}, - buckets: buckets, - nursery: nursery, - rand: mrand.New(mrand.NewSource(time.Now().UnixNano())), - ips: netutil.DistinctNetSet{}, + rand: mrand.New(mrand.NewSource(0)), + ips: netutil.DistinctNetSet{Subnet: tableSubnet, Limit: tableIPLimit}, log: logger, db: db, net: t, @@ -126,6 +116,11 @@ func newTable(t transport, db *enode.DB, bootnodes []*enode.Node, logger *zap.Lo if err := tab.setFallbackNodes(bootnodes); err != nil { return nil, err } + for i := range tab.buckets { + tab.buckets[i] = &bucket{ + ips: netutil.DistinctNetSet{Subnet: bucketSubnet, Limit: bucketIPLimit}, + } + } tab.seedRand() tab.loadSeedNodes()