4 ms·
It's not really that much like protobufs. I mean, pretty much all wire formats have some things in common, true. Protobufs depend, for interpretability, on a
by jholman 11y ago
It's not really that much like protobufs. I mean, pretty much all wire formats have some things in common, true.
Protobufs depend, for interpretability, on a schema. That is, if you don't have the schema file (which is normally communicated out-of-band, e.g. by source control), you know almost nothing about what the wire-encoding should decode to.
Protobufs use variable-length integers (varints), both as a datatype for the payload, and as an essential feature in understanding the encoding.
The wire keys in protobufs don't fully specify the datatype. Instead they include 3 bits to tell you what length-scheme is used, and some other bits (variable number of bits, because varint) to tell you which field in the schema will tell you the rest of the datatype for this field (as well as the key-name of the field).
Protobuf is a rich protocol for doing potentially-complicated things. This OSC thing is very nearly the dumbest thing that could work. Indeed, Armstrong's post makes a point of noting that. To him, that's a feature.