code: func (m *Command) setupNetworking() error {
  	if m.Config.Cluster.Disabled {
  		return nil
  	}
  
  	gossipPort, err := strconv.Atoi(m.Config.Gossip.Port)
  	if err != nil {
  		return errors.Wrap(err, "parsing port")
  	}
  
  	// get the host portion of addr to use for binding
  	gossipHost := m.listenURI.Host
  	m.gossipTransport, err = gossip.NewTransport(gossipHost, gossipPort, m.logger.Logger())
  	if err != nil {
  		return errors.Wrap(err, "getting transport")
  	}
  
  	gossipMemberSet, err := gossip.NewMemberSet(
  		m.Config.Gossip,
  		m.API,
  		gossip.WithLogOutput(&filteredWriter{logOutput: m.logOutput, v: m.Config.Verbose}),
  		gossip.WithPilosaLogger(m.logger),
  		gossip.WithTransport(m.gossipTransport),
  	)
  	if err != nil {
  		return errors.Wrap(err, "getting memberset")
  	}
  	m.gossipMemberSet = gossipMemberSet
  
  	return errors.Wrap(gossipMemberSet.Open(), "opening gossip memberset")
  }
docs: // setupNetworking sets up internode communication based on the configuration.