From 82871ba1bac1d62f69e1933b66659e62d2e5e063 Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Tue, 12 Sep 2023 20:53:09 +0300 Subject: another rewrite, v1.0.0 --- pkg/messages/types/svcPacketEntities.go | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 pkg/messages/types/svcPacketEntities.go (limited to 'pkg/messages/types/svcPacketEntities.go') diff --git a/pkg/messages/types/svcPacketEntities.go b/pkg/messages/types/svcPacketEntities.go new file mode 100644 index 0000000..b1c23e5 --- /dev/null +++ b/pkg/messages/types/svcPacketEntities.go @@ -0,0 +1,30 @@ +package messages + +import "github.com/pektezol/bitreader" + +type SvcPacketEntities struct { + MaxEntries int16 + IsDelta bool + DeltaFrom int32 + BaseLine bool + UpdatedEntries int16 + Length int32 + UpdatedBaseline bool + Data []byte +} + +func ParseSvcPacketEntities(reader *bitreader.ReaderType) SvcPacketEntities { + svcPacketEntities := SvcPacketEntities{ + MaxEntries: int16(reader.TryReadBits(11)), + IsDelta: reader.TryReadBool(), + } + if svcPacketEntities.IsDelta { + svcPacketEntities.DeltaFrom = int32(reader.TryReadBits(32)) + } + 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)) + return svcPacketEntities +} -- cgit v1.2.3