code: func NewTransport(host string, port int, logger *log.Logger) (*Transport, error) {
  	// memberlist config
  	conf := memberlist.DefaultWANConfig()
  	conf.BindAddr = host
  	conf.BindPort = port
  	conf.AdvertisePort = port
  	conf.Logger = logger
  
  	net, err := newTransport(conf)
  	if err != nil {
  		return nil, fmt.Errorf("new transport: %s", err)
  	}
  
  	uri, err := pilosa.NewURIFromHostPort(host, uint16(net.GetAutoBindPort()))
  	if err != nil {
  		return nil, fmt.Errorf("new uri from host port: %s", err)
  	}
  
  	return &Transport{
  		net: net,
  		URI: uri,
  	}, nil
  }
docs: // NewTransport returns a NetTransport based on the given host and port.
  // It will dynamically bind to a port if port is 0.
  // This is useful for test cases where specifying a port is not reasonable.
  //func NewTransport(host string, port int) (*memberlist.NetTransport, error) {