mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-20 10:52:25 +00:00
swarm/network, swarm/pss: Simplify + correct lock in servicefunc sim
This commit is contained in:
parent
60030ff7e8
commit
e1a3dd53bf
2 changed files with 17 additions and 9 deletions
|
|
@ -85,6 +85,8 @@ func New(services map[string]ServiceFunc) (s *Simulation) {
|
|||
name, serviceFunc := name, serviceFunc
|
||||
s.serviceNames = append(s.serviceNames, name)
|
||||
adapterServices[name] = func(ctx *adapters.ServiceContext) (node.Service, error) {
|
||||
s.mu.Lock()
|
||||
defer s.mu.Unlock()
|
||||
b, ok := s.buckets[ctx.Config.ID]
|
||||
if !ok {
|
||||
b = new(sync.Map)
|
||||
|
|
@ -93,8 +95,6 @@ func New(services map[string]ServiceFunc) (s *Simulation) {
|
|||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
s.mu.Lock()
|
||||
defer s.mu.Unlock()
|
||||
if cleanup != nil {
|
||||
s.cleanupFuncs = append(s.cleanupFuncs, cleanup)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -145,17 +145,25 @@ func newTestData() *testData {
|
|||
}
|
||||
}
|
||||
|
||||
func (d *testData) getKademlia(nodeId *enode.ID) (*network.Kademlia, error) {
|
||||
kadif, ok := d.sim.NodeItem(*nodeId, simulation.BucketKeyKademlia)
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("no kademlia entry for %v", nodeId)
|
||||
}
|
||||
kad, ok := kadif.(*network.Kademlia)
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("invalid kademlia entry for %v", nodeId)
|
||||
}
|
||||
return kad, nil
|
||||
}
|
||||
|
||||
func (d *testData) init(msgCount int) error {
|
||||
log.Debug("TestProxNetwork start")
|
||||
|
||||
for _, nodeId := range d.sim.NodeIDs() {
|
||||
kadif, ok := d.sim.NodeItem(nodeId, simulation.BucketKeyKademlia)
|
||||
if !ok {
|
||||
return fmt.Errorf("no kademlia entry for %v", nodeId)
|
||||
}
|
||||
kad, ok := kadif.(*network.Kademlia)
|
||||
if !ok {
|
||||
return fmt.Errorf("invalid kademlia entry for %v", nodeId)
|
||||
kad, err := d.getKademlia(&nodeId)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
d.nodeAddrs[nodeId] = kad.BaseAddr()
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue