Expand description
Reflection implementation for protobuf data
Generated vs dynamic
rust-protobuf supports reflection for both:
- generated messages (generated rust code)
- dynamic messages (created from arbitrary
FileDescriptorProto
without code generation)
The API to work with these types of messages is the same.
API
The API roughly follows Google protobuf C++ and Java API. Some minor adjustements are made to make code more idiomatic to rust.
Structs
Dynamic representation of enum type.
Description for enum variant.
Field descriptor.
Reflection for objects defined in
.proto
file (messages, enums, etc).Dynamic representation of message type.
Wrapper around either
MessageFull
reference or a container for an empty dynamic message.Service method descriptor.
Oneof descriptor.
Parameter for
ReflectEq
.Dynamic mutable reference to
map
fieldDynamic reference to
map
fieldSingular field field and value type.
Dynamic mutable reference to repeated field
Dynamic reference to repeated field
Dynamic representation of service type.
Enums
Reference to a value stored in a field, optional, repeated or map.
Owner value of any elementary type
A reference to a value
Reflective representation of field type.
Runtime representation of elementary protobuf type.
.proto
file syntax.Traits
Type implemented by all protobuf singular types
(primitives, string, messages, enums).
Special version of eq.