pub trait VarIntRead: Read {
// Provided methods
fn read_varint(&mut self) -> Result<i32, CodecError> { ... }
fn read_varint_with_size(&mut self) -> Result<(i32, usize), CodecError> { ... }
}Expand description
Extension methods for reading Minecraft protocol VarInt values.
This trait is implemented for every Read type.
§Example
use mcproto_codec::varint::{VarIntRead, VarIntWrite};
let mut encoded = Vec::new();
encoded.write_varint(25565)?;
let value = encoded.as_slice().read_varint()?;
assert_eq!(value, 25565);
Provided Methods§
Sourcefn read_varint(&mut self) -> Result<i32, CodecError>
fn read_varint(&mut self) -> Result<i32, CodecError>
Reads and returns one VarInt from this reader.
§Errors
Returns a CodecError if the input ends early, the underlying reader
fails, or the input is not a valid VarInt.
Sourcefn read_varint_with_size(&mut self) -> Result<(i32, usize), CodecError>
fn read_varint_with_size(&mut self) -> Result<(i32, usize), CodecError>
Reads one VarInt and returns its value and encoded size in bytes.
§Errors
Returns a CodecError if the input ends early, the underlying reader
fails, or the input is not a valid VarInt.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".