code: func (r *Packet) UnmarshalBinary(data []byte) error {
  	err := r.Header.UnmarshalBinary(data)
  	if err != nil {
  		return err
  	}
  
  	r.Payload = data[r.HeaderSize:r.PacketSize]
  
  	return nil
  }
docs: // UnmarshalBinary implements the encoding.BinaryUnmarshaler interface