#[non_exhaustive]pub enum WireEncoding {
FlatBuffers,
}Expand description
The payload encoding a generated package’s face encodes and verifies over (design note D-11; ADR-0020 decision 1 names the three encodings).
It is a per-package build-time choice rather than a type parameter on the
face: the alternative would put an E: Encoding on every descriptor, every
provider trait and every caller, and a where bound per payload type on
every impl, for a choice made once per generated package.
One variant today. ridl-backend-rust emits a Payload implementation for
one encoding — the FlatBuffers codec of story E11.7 — so naming another
here would emit a face over implementations that do not exist. repr(C)
and proto3 join when E11.12 and E11.8 emit their codecs, which is what
#[non_exhaustive] says to a caller that matches on this.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
FlatBuffers
The FlatBuffers codec of story E11.7, which generate emits into
every package’s own output.