This PR adds scaffolding to generate structs for the basic delta-sharing types from a protobuf definition.
While we are not (yet :)) building a gPRC service or expect clients to send data in protobuf format, it allows us to very easily reason about the types and comes at virtually no cost. All dependencies introduced by prost are ubiquitous in the rust ecosystem and almost guaranteed to end up in our dependencies.
The generated serde code already nicely handles conversion between rust style names (snake_case) to the names defines in the JSON payloads (camelCase).
This PR adds scaffolding to generate structs for the basic delta-sharing types from a protobuf definition.
While we are not (yet :)) building a gPRC service or expect clients to send data in protobuf format, it allows us to very easily reason about the types and comes at virtually no cost. All dependencies introduced by
prost
are ubiquitous in the rust ecosystem and almost guaranteed to end up in our dependencies.The generated serde code already nicely handles conversion between rust style names (snake_case) to the names defines in the JSON payloads (camelCase).