...
- JdkMarshaller - current version RU does not support work with different Java versions. TODO: hide jdkMarshaller?
- BinaryMarshaller - backward compatibility is guaranteed. Require API for getting marshaller for specific version.
Links
Protobuf
https://protobuf.dev/programming-guides/encoding/
- Field numbers are serialized with data:
- Do not send null fields, ignore unknown fields.
- Order of fields isn't guaranteed: message can be concatenations of same fields in different order. For optimizations (compression)?
- Make possible easily change schema (but user must preserve field ids).
- Serializer must know len of varlen fields (Messages).
- It allows deserialize only required fields using CodedInputStream. It requires writing a code for iterating over tags and skipping fields.
Avro
Bson