Add tests for decode
This commit is contained in:
17
pdu/pdu.go
17
pdu/pdu.go
@@ -38,8 +38,17 @@ func (p *PDU_HEADER) EncodeInto(buf *[]uint8) {
|
||||
binary.BigEndian.PutUint32(bufVal[12:16], p.sequence_number)
|
||||
}
|
||||
func (p *PDU_HEADER) Decode(data []uint8) {
|
||||
p.command_length = binary.BigEndian.Uint32(data[0:4])
|
||||
p.command_id = binary.BigEndian.Uint32(data[4:8])
|
||||
p.command_status = binary.BigEndian.Uint32(data[8:12])
|
||||
p.sequence_number = binary.BigEndian.Uint32(data[12:16])
|
||||
if len(data) >= 4 {
|
||||
p.command_length = binary.BigEndian.Uint32(data[0:4])
|
||||
}
|
||||
if len(data) >= 8 {
|
||||
p.command_id = binary.BigEndian.Uint32(data[4:8])
|
||||
}
|
||||
if len(data) >= 12 {
|
||||
p.command_status = binary.BigEndian.Uint32(data[8:12])
|
||||
|
||||
}
|
||||
if len(data) >= 16 {
|
||||
p.sequence_number = binary.BigEndian.Uint32(data[12:16])
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user