Expand description
Protobuf descriptor types for buffa.
This crate provides buffa-generated Rust types for the protobuf descriptor
schema (google/protobuf/descriptor.proto) and the protoc plugin protocol
(google/protobuf/compiler/plugin.proto). It is the foundation for both
compile-time code generation (buffa-codegen) and runtime reflection.
The types are self-hosted — generated by buffa-codegen itself — so there
is no dependency on an external protobuf library. The only runtime
dependency is buffa.
§Modules
generated::descriptor—FileDescriptorProto,DescriptorProto,FieldDescriptorProto,FeatureSet,Edition, and the rest ofdescriptor.proto.generated::compiler—CodeGeneratorRequest,CodeGeneratorResponsefromplugin.proto.
§Regenerating
The generated code is checked in. To regenerate (after a codegen output change or a protobuf version bump):
task gen-bootstrap-typesModules§
Structs§
- Enum
Descriptor - A linked enum descriptor.
- Enum
Index - Index of an
EnumDescriptorwithin its owning pool. - Enum
Value Descriptor - A single value within an enum.
- Extension
Descriptor - A linked extension descriptor.
- Extension
Index - Pool-local index of a registered extension.
- Field
Descriptor - A linked, feature-resolved field descriptor.
- Message
Descriptor - A linked message descriptor.
- Message
Index - Index of a
MessageDescriptorwithin its owning pool. - Method
Descriptor - A linked RPC method descriptor.
- Oneof
Descriptor - A oneof declaration within a message.
- Service
Descriptor - A linked service descriptor.
- Service
Index - Pool-local index of a registered service.
Enums§
- Field
Kind - The kind of a protobuf field, flattening type × cardinality × map-entry.
- Scalar
Type - Protobuf scalar field types.
- Singular
Kind - The element kind of a singular field, list element, or map value.