code: func (c *Client) start() {
  	log.Tracef("Starting RPC client %s", c.config.Host)
  
  	// Start the I/O processing handlers depending on whether the client is
  	// in HTTP POST mode or the default websocket mode.
  	if c.config.HTTPPostMode {
  		c.wg.Add(1)
  		go c.sendPostHandler()
  	} else {
  		c.wg.Add(3)
  		go func() {
  			if c.ntfnHandlers != nil {
  				if c.ntfnHandlers.OnClientConnected != nil {
  					c.ntfnHandlers.OnClientConnected()
  				}
  			}
  			c.wg.Done()
  		}()
  		go c.wsInHandler()
  		go c.wsOutHandler()
  	}
  }
docs: // start begins processing input and output messages.