code: func (cli *Client) handlePINGRESP() error {
  	// Lock for reading and updating pingrespcs.
  	cli.conn.muPINGRESPs.Lock()
  
  	// Check the length of pingrespcs.
  	if len(cli.conn.pingresps) == 0 {
  		// Unlock.
  		cli.conn.muPINGRESPs.Unlock()
  
  		// Return an error if there is no channel in pingrespcs.
  		return ErrInvalidPINGRESP
  	}
  
  	// Get the first channel in pingrespcs.
  	pingrespc := cli.conn.pingresps[0]
  
  	// Remove the first channel from pingrespcs.
  	cli.conn.pingresps = cli.conn.pingresps[1:]
  
  	// Unlock.
  	cli.conn.muPINGRESPs.Unlock()
  
  	// Notify the arrival of the PINGRESP Packet if possible.
  	select {
  	case pingrespc <- struct{}{}:
  	default:
  	}
  
  	return nil
  }
docs: // handlePINGRESP handles the PINGRESP Packet.