code: func (c *Client) Shutdown() error {
  	c.logger.Printf("[INFO] consul: shutting down client")
  	c.shutdownLock.Lock()
  	defer c.shutdownLock.Unlock()
  
  	if c.shutdown {
  		return nil
  	}
  
  	c.shutdown = true
  	close(c.shutdownCh)
  
  	if c.serf != nil {
  		c.serf.Shutdown()
  	}
  
  	// Close the connection pool
  	c.connPool.Shutdown()
  	return nil
  }
docs: // Shutdown is used to shutdown the client