What is buffa?
mainbuffa is a pure-Rust implementation of Protocol Buffers with first-class support for protobuf editions. It is designed to treat editions as a core abstraction, allowing it to support both proto2 and proto3 via feature presets.
Key features include:
- Two-tier types: Generates both owned (
MyMessage) and zero-copy view (MyMessageView<'a>) types. - Efficient serialization: Uses cached encoded sizes to ensure linear-time serialization.
- Advanced types: Provides
MessageField<T>(derefs to default when unset) andEnumValue<T>(type-safe enums that preserve unknown values). - Reflection: Supports runtime reflection via
buffa-descriptor(requiresreflectfeature). - Environment support: Works in
no_stdenvironments withallocsupport.