Progress with binary8 encoding

This commit is contained in:
Andrew Gutekanst
2019-12-20 06:00:47 +09:00
parent 96ec589651
commit 7aef17f7d9
6 changed files with 282 additions and 14 deletions

View File

@@ -65,3 +65,26 @@ func NewCryptPacketHeader(data []byte) (*CryptPacketHeader, error) {
return &c, nil
}
// Encode encodes the CryptPacketHeader into raw bytes.
func (c *CryptPacketHeader) Encode() ([]byte, error) {
buf := bytes.NewBuffer([]byte{})
var data = []interface{}{
c.Pf0,
c.KeyRotDelta,
c.PacketNum,
c.DataSize,
c.PrevPacketCombinedCheck,
c.Check0,
c.Check1,
c.Check2,
}
for _, v := range data {
err := binary.Write(buf, binary.BigEndian, v)
if err != nil {
return nil, err
}
}
return buf.Bytes(), nil
}