Crate protobuf

source ·
Expand description

Library to read and write protocol buffers data

Features

This crate has one feature, which is with-bytes.

with-bytes enables protobuf crate support for bytes crate: when parsing bytes or strings from bytes::Bytes, protobuf will be able to reference the input instead of allocating subarrays.

Note, codegen also need to be instructed to generate Bytes or Chars for bytes or string protobuf types instead of default Vec<u8> or String, just enabling option on this crate is not enough.

See Customize struct in protobuf-codegen crate.

Accompanying crates

  • protobuf-json-mapping implements JSON parsing and serialization for protobuf messages.
  • protobuf-codegen can be used to rust code from .proto crates.
  • protoc-bin-vendored contains protoc 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.
  • Generated file from google/protobuf/compiler/plugin.proto
  • Reflection implementation for protobuf data
  • Functions and types used by generated protobuf code
  • Generated file from rustproto.proto
  • Protobuf “text format” implementation.
  • Generated code for “well known types”

Structs

Enums

Constants

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

Traits

  • Trait implemented by all protobuf enum types.
  • Trait is implemented for all enum types if lite runtime is not requested.
  • Trait which is implemented by all generated message.
  • Dynamic-dispatch version of either generated message or dynamic message.
  • Trait implemented for all the generated messages, except when lite runtime is enabled.
  • Trait implemented by all oneof types in generated code.
  • Implemented by all oneof types when lite runtime is not enabled.

Type Aliases