Expand description

Library to read and write protocol buffers data.

Re-exports

pub use crate::error::ProtobufError;
pub use crate::error::ProtobufResult;

Modules

Generated file from google/protobuf/descriptor.proto

Protobuf error type

Utilities to support “extension” fields.

JSON serialization and deserialization.

Lazily initialized data. Used in generated code.

Generated file from google/protobuf/compiler/plugin.proto

Reflection implementation for protobuf types.

Functions used by generated protobuf code. Should not be used by programs written by hands.

Generated file from rustproto.proto

Protobuf “text format” implementation.

Implementations of ProtobufType for all types.

Generated code for “well known types”

Serialization constants.

Structs

Cached size field used in generated code. It is always equal to itself to simplify generated code. (Generated code can use #[derive(Eq)]).

Thin wrapper around Bytes which guarantees that bytes are valid UTF-8 string. Should be API-compatible to String.

Buffered read with handy utilities.

Buffered write with handy utilities

Wrapper around vector to avoid deallocations on clear.

Like Option<T>, but keeps the actual element on clear.

Like Option<Box<T>>, but keeps the actual element on clear.

Hold “unknown” fields in parsed message.

Field unknown values.

Iterator over unknown values

Enums

Unknown value.

Reference to unknown value.

Constants

protobuf crate version

This symbol can be referenced to assert that proper version of crate is used

Traits

anything that can be cleared

Trait implemented for all generated structs for protobuf messages.

Trait implemented by all protobuf enum types.

Functions

Parse message from byte array.

Parse message from Bytes object. Resulting message may share references to the passed bytes object.

Parse message from reader. Parse stops on EOF or when error encountered.

Parse length-delimited message from stream.

Parse length-delimited message from bytes.

Parse length-delimited message from Read.