code: func newConsulClient(config *api.Config,
  	client *api.Client,
  	reconnectDelay time.Duration,
  	p connectionParams,
  ) consulClient {
  	c := &consulClientImpl{
  		conn: &consulConnection{
  			config: config,
  			client: client,
  			once:   new(sync.Once)},
  		connParams:     p,
  		reconnectDelay: reconnectDelay,
  	}
  	c.maxRetries = 12 /// with default 5 second delay this would be a minute
  	return c
  }
docs: // newConsulClient provides an instance of clientConsul interface.