Skip to main content

CodecError

Enum CodecError 

Source
pub enum CodecError {
Show 22 variants Wire(DecodeError), Bitstream(BitError), OutputTooSmall { needed: usize, available: usize, }, SchemaMismatch { expected: u64, found: u64, }, LimitsExceeded { kind: LimitKind, limit: usize, actual: usize, }, InvalidMask { kind: MaskKind, reason: MaskReason, }, InvalidValue { component: ComponentId, field: FieldId, reason: ValueReason, }, InvalidEntityOrder { previous: u32, current: u32, }, TrailingSectionData { section: SectionTag, remaining_bits: usize, }, UnexpectedSection { section: SectionTag, }, DuplicateSection { section: SectionTag, }, DuplicateUpdateEncoding, BaselineTickMismatch { expected: u32, found: u32, }, BaselineNotFound { requested_tick: u32, }, EntityNotFound { entity_id: u32, }, ComponentNotFound { entity_id: u32, component_id: u16, }, DuplicateEntity { entity_id: u32, }, EntityAlreadyExists { entity_id: u32, }, SessionMissing, SessionInitInvalid, SessionUnsupportedMode { mode: u8, }, SessionOutOfOrder { previous: u32, current: u32, },
}
Expand description

Errors that can occur during snapshot/delta encoding/decoding.

Variants§

§

Wire(DecodeError)

Wire format error.

§

Bitstream(BitError)

Bitstream error.

§

OutputTooSmall

Output buffer is too small.

Fields

§needed: usize
§available: usize
§

SchemaMismatch

Schema hash mismatch.

Fields

§expected: u64
§found: u64
§

LimitsExceeded

Limits exceeded.

Fields

§limit: usize
§actual: usize
§

InvalidMask

Invalid mask data.

Fields

§reason: MaskReason
§

InvalidValue

Invalid field value for the schema.

Fields

§component: ComponentId
§field: FieldId
§

InvalidEntityOrder

Entities are not provided in deterministic order.

Fields

§previous: u32
§current: u32
§

TrailingSectionData

Section body had trailing bits after parsing.

Fields

§section: SectionTag
§remaining_bits: usize
§

UnexpectedSection

Unexpected section for the current packet type.

Fields

§section: SectionTag
§

DuplicateSection

Duplicate section encountered.

Fields

§section: SectionTag
§

DuplicateUpdateEncoding

Multiple update encodings present in one packet.

§

BaselineTickMismatch

Baseline tick does not match the packet.

Fields

§expected: u32
§found: u32
§

BaselineNotFound

Baseline tick not found in history.

Fields

§requested_tick: u32

The requested baseline tick.

§

EntityNotFound

Entity not found when applying delta.

Fields

§entity_id: u32

The missing entity ID.

§

ComponentNotFound

Component not found when applying delta.

Fields

§entity_id: u32

The entity ID.

§component_id: u16

The missing component ID.

§

DuplicateEntity

Duplicate entity in create section.

Fields

§entity_id: u32

The duplicate entity ID.

§

EntityAlreadyExists

Entity already exists when creating.

Fields

§entity_id: u32

The existing entity ID.

§

SessionMissing

Missing session state for compact packets.

§

SessionInitInvalid

Session init packet was invalid.

§

SessionUnsupportedMode

Session compact header mode is unsupported.

Fields

§mode: u8
§

SessionOutOfOrder

Session packets arrived out of order.

Fields

§previous: u32
§current: u32

Implementations§

Source§

impl CodecError

Source

pub fn needs_resync(&self) -> bool

Returns true if the error indicates the client should resync via a session init + full snapshot.

Trait Implementations§

Source§

impl Clone for CodecError

Source§

fn clone(&self) -> CodecError

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for CodecError

Source§

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

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

impl Display for CodecError

Source§

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

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

impl Eq for CodecError

Source§

impl Error for CodecError

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<BitError> for CodecError

Source§

fn from(err: BitError) -> Self

Converts to this type from the input type.
Source§

impl From<DecodeError> for CodecError

Source§

fn from(err: DecodeError) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for CodecError

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · 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 CodecError

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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. 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.