Protobufs don't follow this model. For example, a User message type will often be defined in one place and code generated from it in multiple languages. Every server and client uses essentially the same type, modified as suitable for that language. As a result, clients are usually working with types that they don't control and that have many more fields than they actually use. Maybe clients should declare their own t…
How’s it different from the proposed model where you start by parsing the data you receive and, once it’s parsed and know it’s good, you process it?