code: func (mp *MagicPacket) Marshal() ([]byte, error) {
  	var buf bytes.Buffer
  	if err := binary.Write(&buf, binary.BigEndian, mp); err != nil {
  		return nil, err
  	}
  
  	return buf.Bytes(), nil
  }
docs: // Marshal serializes the magic packet structure into a 102 byte slice.