Re-exports
pub use crate::reflection::Reflection;
Modules
- Blanket-implemented erased typings for the types used throughout the serialization portion of this crate, to allow for implementation of the proto message field reflection API.
Structs
- Describes a field within a message. Provides rudimentary support for the proto field reflection API, with the intention of being able to serialize or introspect fields individually without having knowledge of the structure of the specific message itself. For more info, see: https://developers.google.com/protocol-buffers/docs/techniques https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/descriptor.proto
- Trait implemented by all the messages defined in proto files. Provides rudimentary support for message descriptor, mostly as a way to get the type name for a given message rather than trying to implement the full reflection API. For more info, see: https://developers.google.com/protocol-buffers/docs/techniques https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/descriptor.proto
- Describes a oneof.
Enums
Traits
- Trait implemented by enums which are generated with the
err_if_default
option. Note that these enums are not forward compatible, since they do not handle unrecognized enum variants (and will fail to deserialize instead). - Trait implemented by all the messages defined in proto files and base datatypes like string, bytes, etc. The exact details of this trait is implemented for messages and base types can be found at - https://developers.google.com/protocol-buffers/docs/encoding
- Trait implemented by enums to help with serialization and deserialization.
- A stand-in trait for any backing buffer store.
PbBuffer
s are expected to own references to the data they reference, and should be cheap (constant-time) to clone. - All concrete types which are used for deserialization should implement PbBufferReader, which includes functions to convert to and from PbBuffer.
- All concrete types used for serialization should implement PbBufferWriter in order to support serializing Lazy fields without copies.
- Marker trait for proto enums.
Functions
- If
B1
andB2
are the same type, returns a function to castB1 -> B2
; otherwise None. Used to implement PbBuffer casting.