pub struct VarInt(pub i32);Expand description
A variable-length two’s-complement signed 32-bit integer.
VarInts use one to five bytes on the wire. Each byte carries seven payload bits; the most-significant bit is set on every byte except the last.
§Examples
use mcproto_types::{TypeCodec, basic::VarInt};
let mut encoded = Vec::new();
VarInt(25565).encode(&mut encoded)?;
assert_eq!(encoded, [0xdd, 0xc7, 0x01]);
let mut input = encoded.as_slice();
assert_eq!(VarInt::decode(&mut input)?, VarInt(25565));
assert!(input.is_empty());Tuple Fields§
§0: i32The integer value.
Trait Implementations§
impl Copy for VarInt
Source§impl EnumRepr for VarInt
impl EnumRepr for VarInt
Source§fn from_discriminant(value: i128) -> Option<Self>
fn from_discriminant(value: i128) -> Option<Self>
Converts a Rust enum discriminant into this wire representation.
Source§fn discriminant(&self) -> i128
fn discriminant(&self) -> i128
Returns this representation as a numeric enum discriminant.
impl Eq for VarInt
impl StructuralPartialEq for VarInt
Auto Trait Implementations§
impl Freeze for VarInt
impl RefUnwindSafe for VarInt
impl Send for VarInt
impl Sync for VarInt
impl Unpin for VarInt
impl UnsafeUnpin for VarInt
impl UnwindSafe for VarInt
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> ContextualCodec for Twhere
T: TypeCodec,
impl<T> ContextualCodec for Twhere
T: TypeCodec,
Source§fn encode_with_context(
&self,
writer: &mut impl Write,
_context: &Context,
) -> Result<(), CodecError>
fn encode_with_context( &self, writer: &mut impl Write, _context: &Context, ) -> Result<(), CodecError>
Encodes this value using context supplied by its enclosing structure.
Source§fn decode_with_context(
reader: &mut impl Read,
_context: &Context,
) -> Result<T, CodecError>where
T: Sized,
fn decode_with_context(
reader: &mut impl Read,
_context: &Context,
) -> Result<T, CodecError>where
T: Sized,
Decodes this value using context supplied by its enclosing structure.