Skip to main content

VarIntRead

Trait VarIntRead 

Source
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§

Source

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.

Source

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".

Implementors§

Source§

impl<R: Read> VarIntRead for R