Skip to main content

OpaqueBytes

Struct OpaqueBytes 

Source
pub struct OpaqueBytes(pub Vec<u8>);
Expand description

A byte buffer for protocol data whose internal structure is not parsed by the codec.

Used for native protocol types (entityMetadata, registryEntryHolder, etc.) and switch field fallbacks where the wire format is known but too complex to represent in the type system.

Unlike raw Vec<u8>, OpaqueBytes makes the intent explicit: “this data is intentionally unparsed”.

Tuple Fields§

§0: Vec<u8>

Implementations§

Source§

impl OpaqueBytes

Source

pub fn new() -> Self

Creates an empty opaque buffer.

Source

pub fn from_bytes(bytes: Vec<u8>) -> Self

Creates an opaque buffer from raw bytes.

Source

pub fn as_bytes(&self) -> &[u8]

Returns a reference to the inner bytes.

Source

pub fn len(&self) -> usize

Returns the number of bytes.

Source

pub fn is_empty(&self) -> bool

Returns true if the buffer is empty.

Trait Implementations§

Source§

impl Clone for OpaqueBytes

Source§

fn clone(&self) -> OpaqueBytes

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for OpaqueBytes

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Decode for OpaqueBytes

Source§

fn decode(buf: &mut &[u8]) -> Result<Self>

Decodes a VarInt length prefix then reads that many bytes.

Source§

impl Default for OpaqueBytes

Source§

fn default() -> OpaqueBytes

Returns the “default value” for a type. Read more
Source§

impl Encode for OpaqueBytes

Source§

fn encode(&self, buf: &mut Vec<u8>) -> Result<()>

Encodes as a VarInt length prefix followed by the raw bytes.

Source§

impl EncodedSize for OpaqueBytes

Source§

impl PartialEq for OpaqueBytes

Source§

fn eq(&self, other: &OpaqueBytes) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for OpaqueBytes

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.