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
field - Dynamic reference to
map
field - Singular 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.