func (sm *ShardMux) GetManager(shardID uint64) (*ShardManager, error) {
	sm.lock.RLock()
	defer sm.lock.RUnlock()

	manager, found := sm.managers[shardID]
	if !found {
		return nil, fmt.Errorf("not currently tracking shard %d", shardID)
	}
	return manager, nil
}
// GetManager gets the manager for a certain shard ID
GetManager gets the manager for a certain shard ID
// GetManager gets the manager for a certain shard ID
func (sm *ShardMux) GetManager(shardID uint64) (*ShardManager, error) {
	sm.lock.RLock()
	defer sm.lock.RUnlock()
	manager, found := sm.managers[shardID]
	if !found {
		return nil, fmt.Errorf("not currently tracking shard %d", shardID)
	}
	return manager, nil
}
func ( sm * ShardMux ) GetManager ( shardID uint64 ) ( * ShardManager , error ) { sm . lock . RLock ( ) defer sm . lock . RUnlock ( ) manager , found := sm . managers [ shardID ] if ! found { return nil , fmt . Errorf ( " " , shardID ) } return manager , nil }
GetManager gets the manager for a certain shard ID
GetManager gets the manager for a certain shard ID