code: func (m *BaseShardManager) GetAllShards() map[int]net2.ManagedConn {
  	results := make(map[int]net2.ManagedConn)
  
  	m.rwMutex.RLock()
  	defer m.rwMutex.RUnlock()
  
  	for i, state := range m.shardStates {
  		conn, err := m.pool.Get("tcp", state.Address)
  		if err != nil {
  			m.logError(err)
  			conn = nil
  		}
  		results[i] = conn
  	}
  
  	return results
  }
docs: // See ShardManager interface for documentation.