WriteExtVarint

Trait WriteExtVarint 

Source
pub trait WriteExtVarint {
    // Required method
    fn write_varint(&mut self, value: &Varint) -> Result<usize>;
}
Expand description

Extension trait for writing varints to Write instances.

This trait provides a convenient method to write varints directly to any type that implements std::io::Write.

§Example

use ::std::io::Write;
use ::protobuf_core::{WriteExtVarint, Varint};

let varint = Varint::from_uint64(150);
let mut writer = Vec::new();
writer.write_varint(&varint).unwrap();
assert_eq!(writer, vec![0x96, 0x01]);

Required Methods§

Source

fn write_varint(&mut self, value: &Varint) -> Result<usize>

Write a varint to this writer.

Encodes a Varint as a varint and writes it to this writer. Returns the number of bytes written on success.

§Arguments
  • value - The Varint to encode and write
§Returns
  • Ok(usize) - Number of bytes written
  • Err(::std::io::Error) - I/O error from the writer
§Example
use ::std::io::Write;
use ::protobuf_core::{WriteExtVarint, Varint};

let varint = Varint::from_uint64(150);
let mut buffer = Vec::new();
let bytes_written = buffer.write_varint(&varint).unwrap();
assert_eq!(bytes_written, 2);
assert_eq!(buffer, vec![0x96, 0x01]);

Implementors§

Source§

impl<W> WriteExtVarint for W
where W: Write,