func NewShardMux(beaconClient pb.BlockchainRPCClient, hn *p2p.HostNode) *ShardMux {
	return &ShardMux{
		managers:     make(map[uint64]*ShardManager),
		lock:         new(sync.RWMutex),
		beaconClient: beaconClient,
		hn: hn,
	}
}
// NewShardMux creates a new shard multiplexer.
NewShardMux creates a new shard multiplexer.
// NewShardMux creates a new shard multiplexer .
func NewShardMux(beaconClient pb.BlockchainRPCClient, hn *p2p.HostNode) *ShardMux {
	return &ShardMux{
		managers:     make(map[uint64]*ShardManager),
		lock:         new(sync.RWMutex),
		beaconClient: beaconClient,
		hn: hn,
	}
}
func NewShardMux ( beaconClient pb . BlockchainRPCClient , hn * p2p . HostNode ) * ShardMux { return & ShardMux { managers : make ( map [ uint64 ] * ShardManager ) , lock : new ( sync . RWMutex ) , beaconClient : beaconClient , hn : hn , } }
NewShardMux creates a new shard multiplexer.
NewShardMux creates a new shard multiplexer .