fix: table (#10)

This commit is contained in:
Igor Sirotin 2025-10-03 20:10:45 +01:00 committed by GitHub
parent b9b5a06121
commit 8ee308fe79
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -101,20 +101,10 @@ type bucket struct {
} }
func newTable(t transport, db *enode.DB, bootnodes []*enode.Node, logger *zap.Logger) (*Table, error) { 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{ tab := &Table{
mutex: sync.Mutex{}, mutex: sync.Mutex{},
buckets: buckets, rand: mrand.New(mrand.NewSource(0)),
nursery: nursery, ips: netutil.DistinctNetSet{Subnet: tableSubnet, Limit: tableIPLimit},
rand: mrand.New(mrand.NewSource(time.Now().UnixNano())),
ips: netutil.DistinctNetSet{},
log: logger, log: logger,
db: db, db: db,
net: t, 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 { if err := tab.setFallbackNodes(bootnodes); err != nil {
return nil, err return nil, err
} }
for i := range tab.buckets {
tab.buckets[i] = &bucket{
ips: netutil.DistinctNetSet{Subnet: bucketSubnet, Limit: bucketIPLimit},
}
}
tab.seedRand() tab.seedRand()
tab.loadSeedNodes() tab.loadSeedNodes()