From 81f365e99636104ff81151370048a51e8ae8027a Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Sat, 16 Sep 2023 20:39:02 +0300 Subject: feat: parsing sar custom data (#4) --- pkg/messages/types/svcPacketEntities.go | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'pkg/messages/types/svcPacketEntities.go') diff --git a/pkg/messages/types/svcPacketEntities.go b/pkg/messages/types/svcPacketEntities.go index b1c23e5..54e4a2a 100644 --- a/pkg/messages/types/svcPacketEntities.go +++ b/pkg/messages/types/svcPacketEntities.go @@ -1,6 +1,8 @@ package messages -import "github.com/pektezol/bitreader" +import ( + "github.com/pektezol/bitreader" +) type SvcPacketEntities struct { MaxEntries int16 @@ -13,18 +15,23 @@ type SvcPacketEntities struct { Data []byte } -func ParseSvcPacketEntities(reader *bitreader.ReaderType) SvcPacketEntities { +func ParseSvcPacketEntities(reader *bitreader.Reader) SvcPacketEntities { svcPacketEntities := SvcPacketEntities{ MaxEntries: int16(reader.TryReadBits(11)), IsDelta: reader.TryReadBool(), } if svcPacketEntities.IsDelta { svcPacketEntities.DeltaFrom = int32(reader.TryReadBits(32)) + } else { + svcPacketEntities.DeltaFrom = -1 } svcPacketEntities.BaseLine = reader.TryReadBool() svcPacketEntities.UpdatedEntries = int16(reader.TryReadBits(11)) svcPacketEntities.Length = int32(reader.TryReadBits(20)) svcPacketEntities.UpdatedBaseline = reader.TryReadBool() - svcPacketEntities.Data = reader.TryReadBitsToSlice(int(svcPacketEntities.Length)) + svcPacketEntities.Data = reader.TryReadBitsToSlice(uint64(svcPacketEntities.Length)) //, dataReader = reader.ForkAndSkip(int(svcPacketEntities.Length)) + // for count := 0; count < int(svcPacketEntities.UpdatedEntries); count++ { + // dataReader.TryReadBool() + // } return svcPacketEntities } -- cgit v1.2.3