protobuf reflection

This commit is contained in:
Ole Morud
2022-04-14 22:55:16 +02:00
parent 2827cb79c4
commit 25572e1b49
4 changed files with 142 additions and 60 deletions

43
main.go
View File

@@ -15,31 +15,28 @@ func main() {
}
r := bufio.NewReader(f)
r.Discard(16)
size, err := parse.First(r)
if err != nil {
fmt.Println(err)
for i, err := r.Peek(1); len(i) == 1 && err == nil; {
frame, err := parse.DecodeNextFrame(r)
if err != nil {
fmt.Println(fmt.Errorf("error parsing frame: %v", err))
return
}
if frame != nil {
fmt.Printf("message: %+v", frame.Message)
fmt.Printf("\n\n")
}
}
if _, err := r.Discard(int(size) - 12); err != nil {
fmt.Println(fmt.Errorf("error jumping to last frame: %v", err))
}
frame, err := parse.DecodeNextFrame(r)
if err != nil {
fmt.Println(fmt.Errorf("error parsing frame: %v", err))
}
//fmt.Printf("%+v", frame.Message)
for _, player := range frame.Message.GameInfo.Dota.PlayerInfo {
fmt.Println(*player.HeroName)
fmt.Println(*player.PlayerName)
fmt.Println("Steam:", *player.Steamid)
fmt.Println("")
}
//fmt.Printf("%+v", )
// offset, err := parse.First(r)
// if err != nil {
// fmt.Println(err)
// }
// _ = offset // remove later
// if _, err := r.Discard(int(offset) - 12); err != nil {
// fmt.Println(fmt.Errorf("error jumping to last frame: %v", err))
// }
}