code: func (c *Client) send(pkt packet.Generic, async bool) error {
  	// send packet
  	err := c.conn.Send(pkt, async)
  	if err != nil {
  		return err
  	}
  
  	c.backend.Log(PacketSent, c, pkt, nil, nil)
  
  	return nil
  }
docs: /* helpers */
  // send a packet