p2p/simulations/adapters: use maps.Clone (#29626)

pull/29282/merge
Aaron Chen 6 months ago committed by GitHub
parent 4bdbaab471
commit 8c3fc56d7f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 12
      p2p/simulations/adapters/inproc.go

@ -20,6 +20,7 @@ import (
"context"
"errors"
"fmt"
"maps"
"math"
"net"
"sync"
@ -215,10 +216,7 @@ func (sn *SimNode) ServeRPC(conn *websocket.Conn) error {
// simulation_snapshot RPC method
func (sn *SimNode) Snapshots() (map[string][]byte, error) {
sn.lock.RLock()
services := make(map[string]node.Lifecycle, len(sn.running))
for name, service := range sn.running {
services[name] = service
}
services := maps.Clone(sn.running)
sn.lock.RUnlock()
if len(services) == 0 {
return nil, errors.New("no running services")
@ -315,11 +313,7 @@ func (sn *SimNode) Services() []node.Lifecycle {
func (sn *SimNode) ServiceMap() map[string]node.Lifecycle {
sn.lock.RLock()
defer sn.lock.RUnlock()
services := make(map[string]node.Lifecycle, len(sn.running))
for name, service := range sn.running {
services[name] = service
}
return services
return maps.Clone(sn.running)
}
// Server returns the underlying p2p.Server

Loading…
Cancel
Save