Is there a method to not utilise the 3bit Tag so the full fixed32 is used.

43 views
Skip to first unread message

Jared Leendertz

unread,
May 13, 2024, 12:37:00 AMMay 13
to Protocol Buffers
Hello, New to protocol buffer, tying to implement a read write from buffer that easily encodes and decodes messages types from a SISO standard. I noticed the https://protobuf.dev/programming-guides/encoding/#cheat-sheet
encoding standard indicates that 3 bits are missing from the variables value range in each field on a message. If im implementing to a specific standard with fixed sizes is Protocol Buffer suitable? given a fixed32 appears to be a 29bit field.

I confirmed my worries as i was trying to set default values to 0xFFFFFFFF but would get the error Integer out of range.

Should I be using something else or is there a configuration that allows me to have more control of the size of my variables and how i want to use them?

Marc Gravell

unread,
May 13, 2024, 1:52:56 AMMay 13
to Jared Leendertz, Protocol Buffers
A tag isn't on a value - it is part of the *field header* which is the combination of field-number and wire-type ; a fixed32 *value* is 32 bits.

The sizes of values aren't directly controllable by you; protobuf-net isn't a general purpose binary descriptor format and cannot usually be used to implement specific pre-existing standards that aren't related to protobuf.

--
You received this message because you are subscribed to the Google Groups "Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to protobuf+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/protobuf/b0bfac5f-c9e0-4364-8e69-12990b7bc11fn%40googlegroups.com.

Jared Leendertz

unread,
May 13, 2024, 7:12:24 AMMay 13
to Protocol Buffers
Understood, thanks for the explanation. Unfortunately, this makes protobuf not suitable. Any suggestions for open-source libraries that would help minimize serialization code?

Marc Gravell

unread,
May 13, 2024, 7:28:51 AMMay 13
to Jared Leendertz, Protocol Buffers
Without more context that is unanswerable. What target language/runtime/framework? What target scenarios / encoding / wire format? But in my experience: most libraries are opinionated and aimed at a specific serialization scenario. If your scenario is different and no library exists: it may be bespoke, and/or you might get to become the missing library author.

Marc



--
Regards,

Marc

Derek Perez

unread,
May 14, 2024, 9:04:29 AMMay 14
to Jared Leendertz, Protocol Buffers
I don’t believe protobuf is what you wanna use if you need that level of control. 

--
Reply all
Reply to author
Forward
0 new messages