aboutsummaryrefslogtreecommitdiff
path: root/packets/messages/types/SvcClassInfo.go
diff options
context:
space:
mode:
authorArda Serdar Pektezol <1669855+pektezol@users.noreply.github.com>2022-11-10 22:59:32 +0300
committerArda Serdar Pektezol <1669855+pektezol@users.noreply.github.com>2023-09-16 21:39:40 +0300
commit9f5e8f230d35fffb106088b72e5fdb148905f450 (patch)
tree2f22a5357a7bea2ce516b9a5e56e21435414529a /packets/messages/types/SvcClassInfo.go
parentupgraded to v1.2.3 (diff)
downloadsdp.go-9f5e8f230d35fffb106088b72e5fdb148905f450.tar.gz
sdp.go-9f5e8f230d35fffb106088b72e5fdb148905f450.tar.bz2
sdp.go-9f5e8f230d35fffb106088b72e5fdb148905f450.zip
added almost all net/svc messages - currently broken
Diffstat (limited to 'packets/messages/types/SvcClassInfo.go')
-rw-r--r--packets/messages/types/SvcClassInfo.go11
1 files changed, 8 insertions, 3 deletions
diff --git a/packets/messages/types/SvcClassInfo.go b/packets/messages/types/SvcClassInfo.go
index fb9dbd8..d41723d 100644
--- a/packets/messages/types/SvcClassInfo.go
+++ b/packets/messages/types/SvcClassInfo.go
@@ -1,8 +1,6 @@
1package types 1package types
2 2
3import ( 3import (
4 "math"
5
6 "github.com/pektezol/bitreader" 4 "github.com/pektezol/bitreader"
7) 5)
8 6
@@ -24,7 +22,7 @@ func ParseSvcClassInfo(reader *bitreader.ReaderType) SvcClassInfo {
24 if createonclient { 22 if createonclient {
25 serverclasses := make([]ServerClass, length) 23 serverclasses := make([]ServerClass, length)
26 for i := 0; i < int(length); i++ { 24 for i := 0; i < int(length); i++ {
27 id, err := reader.ReadBits(int(math.Log2(float64(length))) + 1) 25 id, err := reader.ReadBits(HighestBitIndex(uint(length)) + 1)
28 if err != nil { 26 if err != nil {
29 panic(err) 27 panic(err)
30 } 28 }
@@ -40,3 +38,10 @@ func ParseSvcClassInfo(reader *bitreader.ReaderType) SvcClassInfo {
40 ServerClasses: serverclasses, 38 ServerClasses: serverclasses,
41 } 39 }
42} 40}
41
42func HighestBitIndex(i uint) int {
43 var j int
44 for j = 31; j >= 0 && (i&(1<<j)) == 0; j-- {
45 }
46 return j
47}