News for hackers. Stuff that matters.
Re:Kaitai Struct: A new way to develop parsers for binary st... by c7DJTLrn on Friday March 18, 2022 @06:33AM (#30720462)
I wrote a similar solution based on reflection for a game server I wrote in Go. It's probably too early to be worrying this about but reflection is apparently slow. I also found it difficult to write reflection code that was robust.

The problem I'm stuck on now is that since my "Unmarshal" function returns interface{}, I have to type assert for every type of packet in the protocol. There's probably thousands in total. I need some magic that can automatically Unmarshal to a concrete type and pass it to an appropriate handler. gRPC's codegen does this for you. Still working out how best to do this in the constraints of Go.

Re:Kaitai Struct: A new way to develop parsers for binary st... by majewsky on Friday March 18, 2022 @08:44AM (#30721447)
You can type-cast from interface{} into any other interface, so something like this might work: https://go.dev/play/p/bhrXr8-V7Gc