Expand description
Library to read and write protocol buffers data.
Version 3 is alpha
Currently developed branch of rust-protobuf is 3. It has the same spirit as version 2, but contains numerous improvements like:
- runtime reflection for mutability, not just for access
- protobuf text format and JSON parsing (which rely on reflection)
- dynamic message support: work with protobuf data without generating code from schema
Latest stable version of rust-protobuf will be supported until version 3 released.
Accompanying crates
protobuf-codegen
can be used to rust code from.proto
crates.protoc
crate can be used to invokeprotoc
programmatically.protoc-bin-vendored
containsprotoc
command packed into the crate.protobuf-parse
contains.proto
file parser. Rarely need to be used directly, but can be used for mechanical processing of.proto
files.
Modules
Generated file from google/protobuf/descriptor.proto
Utilities to support “extension” fields.
JSON printer and parser which tries to follow protobuf conventions
Generated file from google/protobuf/compiler/plugin.proto
Reflection implementation for protobuf types.
Functions and typrs used by generated protobuf code.
Generated file from rustproto.proto
Protobuf “text format” implementation.
Generated code for “well known types”
Constants used in serializations.
Structs
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 Option<Box<T>>
, convenient newtype.
Protobuf enums with possibly unknown values are preserved in this struct.
Hold “unknown” fields in parsed message.
Iterator over UnknownFields
Field unknown values.
Iterator over unknown values
Enums
Generic protobuf error
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.
Dynamic-dispatch version of Message
.
Trait implemented by all oneof types in generated code.
Trait implemented by all protobuf enum types.
Type Definitions
Result
alias for ProtobufError