pub struct TagRevWriter { /* private fields */ }Expand description
Writes keys for the provided tags into a prepend-only buffer.
Implementations§
Source§impl TagRevWriter
impl TagRevWriter
pub fn new() -> Self
Sourcepub fn begin_field<B: ReverseBuf + ?Sized>(
&mut self,
tag: u32,
wire_type: WireType,
buf: &mut B,
)
pub fn begin_field<B: ReverseBuf + ?Sized>( &mut self, tag: u32, wire_type: WireType, buf: &mut B, )
Encode the key delta to the given key into the buffer.
All fields must be encoded in order; this is enforced in the encoding by encoding each field’s tag as a non-negative delta from the previously encoded field’s tag. The tag delta is encoded in the bits above the lowest two bits in the key delta, which encode the wire type. When decoding, the wire type is taken as-is, and the tag delta added to the tag of the last field decoded.
Sourcepub fn finalize<B: ReverseBuf + ?Sized>(&mut self, buf: &mut B)
pub fn finalize<B: ReverseBuf + ?Sized>(&mut self, buf: &mut B)
Finishes writing the current message by encoding the key of the first field that appeared.
Trait Implementations§
Source§impl Default for TagRevWriter
impl Default for TagRevWriter
Source§fn default() -> TagRevWriter
fn default() -> TagRevWriter
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for TagRevWriter
impl RefUnwindSafe for TagRevWriter
impl Send for TagRevWriter
impl Sync for TagRevWriter
impl Unpin for TagRevWriter
impl UnsafeUnpin for TagRevWriter
impl UnwindSafe for TagRevWriter
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more