code: func (p *partitions) checkChannelsUniqueInCluster() error {
  	// We use the subscription on an inbox to get the replies.
  	// Send our list
  	if err := util.SendChannelsList(p.channels, p.sendListSubject, p.inboxSub.Subject, p.nc, p.s.serverID); err != nil {
  		return fmt.Errorf("unable to send channels list: %v", err)
  	}
  	// Since we don't know how many servers are out there, keep
  	// calling NextMsg until we get a timeout
  	for {
  		reply, err := p.inboxSub.NextMsg(partitionsRequestTimeout)
  		if err == nats.ErrTimeout {
  			return nil
  		}
  		if err != nil {
  			return fmt.Errorf("unable to get partitioning reply: %v", err)
  		}
  		resp := spb.CtrlMsg{}
  		if err := resp.Unmarshal(reply.Data); err != nil {
  			return fmt.Errorf("unable to decode partitioning response: %v", err)
  		}
  		if len(resp.Data) > 0 {
  			return fmt.Errorf("channel %q causes conflict with channels on server %q",
  				string(resp.Data), resp.ServerID)
  		}
  	}
  }
docs: // Sends a request to the rest of the cluster and wait a bit for
  // responses (we don't know if or how many servers there may be).
  // No server lock used since this is called inside RunServerWithOpts().