Trait FromWire

pub trait FromWire<W>: Sized {
    const COPY_OPTIMIZATION: CopyOptimization<W, Self> = _;

    // Required method
    fn from_wire(wire: W) -> Self;
}
Expand description

A type which is convertible from a wire type.

Provided Associated Constants§

const COPY_OPTIMIZATION: CopyOptimization<W, Self> = _

Whether the conversion from W to Self is equivalent to copying the raw bytes of W.

Copy optimization is disabled by default.

Required Methods§

fn from_wire(wire: W) -> Self

Converts the given wire to this type.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

§

impl FromWire<bool> for bool

§

const COPY_OPTIMIZATION: CopyOptimization<bool, bool> = CopyOptimization<bool, bool>::PRIMITIVE

§

fn from_wire(wire: bool) -> bool

§

impl FromWire<i8> for i8

§

const COPY_OPTIMIZATION: CopyOptimization<i8, i8> = CopyOptimization<i8, i8>::PRIMITIVE

§

fn from_wire(wire: i8) -> i8

§

impl FromWire<u8> for u8

§

const COPY_OPTIMIZATION: CopyOptimization<u8, u8> = CopyOptimization<u8, u8>::PRIMITIVE

§

fn from_wire(wire: u8) -> u8

§

impl FromWire<()> for ()

§

const COPY_OPTIMIZATION: CopyOptimization<(), ()> = CopyOptimization<(), ()>::PRIMITIVE

§

fn from_wire(wire: ())

§

impl FromWire<WireF32> for f32

§

const COPY_OPTIMIZATION: CopyOptimization<WireF32, f32> = CopyOptimization<WireF32, f32>::PRIMITIVE

§

fn from_wire(wire: WireF32) -> f32

§

impl FromWire<WireF64> for f64

§

const COPY_OPTIMIZATION: CopyOptimization<WireF64, f64> = CopyOptimization<WireF64, f64>::PRIMITIVE

§

fn from_wire(wire: WireF64) -> f64

§

impl FromWire<WireI16> for i16

§

const COPY_OPTIMIZATION: CopyOptimization<WireI16, i16> = CopyOptimization<WireI16, i16>::PRIMITIVE

§

fn from_wire(wire: WireI16) -> i16

§

impl FromWire<WireI32> for i32

§

const COPY_OPTIMIZATION: CopyOptimization<WireI32, i32> = CopyOptimization<WireI32, i32>::PRIMITIVE

§

fn from_wire(wire: WireI32) -> i32

§

impl FromWire<WireI64> for i64

§

const COPY_OPTIMIZATION: CopyOptimization<WireI64, i64> = CopyOptimization<WireI64, i64>::PRIMITIVE

§

fn from_wire(wire: WireI64) -> i64

§

impl FromWire<WireString<'_>> for String

§

fn from_wire(wire: WireString<'_>) -> String

§

impl FromWire<WireU16> for u16

§

const COPY_OPTIMIZATION: CopyOptimization<WireU16, u16> = CopyOptimization<WireU16, u16>::PRIMITIVE

§

fn from_wire(wire: WireU16) -> u16

§

impl FromWire<WireU32> for u32

§

const COPY_OPTIMIZATION: CopyOptimization<WireU32, u32> = CopyOptimization<WireU32, u32>::PRIMITIVE

§

fn from_wire(wire: WireU32) -> u32

§

impl FromWire<WireU64> for u64

§

const COPY_OPTIMIZATION: CopyOptimization<WireU64, u64> = CopyOptimization<WireU64, u64>::PRIMITIVE

§

fn from_wire(wire: WireU64) -> u64

§

impl<T, W> FromWire<WireVector<'_, W>> for Vec<T>
where T: FromWire<W>,

§

fn from_wire(wire: WireVector<'_, W>) -> Vec<T>

§

impl<T, W> FromWire<W> for Option<T>
where T: FromWireOption<W>,

§

fn from_wire(wire: W) -> Option<T>

§

impl<T, W> FromWire<W> for Box<T>
where T: FromWire<W>,

§

fn from_wire(wire: W) -> Box<T>

§

impl<T, W, const N: usize> FromWire<[W; N]> for [T; N]
where T: FromWire<W>,

Implementors§

§

impl FromWire<WireChannel> for Channel

§

impl FromWire<WireF32> for WireF32

§

const COPY_OPTIMIZATION: CopyOptimization<WireF32, WireF32> = CopyOptimization<WireF32, WireF32>::PRIMITIVE

§

impl FromWire<WireF64> for WireF64

§

const COPY_OPTIMIZATION: CopyOptimization<WireF64, WireF64> = CopyOptimization<WireF64, WireF64>::PRIMITIVE

§

impl FromWire<WireFrameworkError> for FrameworkError

§

impl FromWire<WireI16> for WireI16

§

const COPY_OPTIMIZATION: CopyOptimization<WireI16, WireI16> = CopyOptimization<WireI16, WireI16>::PRIMITIVE

§

impl FromWire<WireI32> for WireI32

§

const COPY_OPTIMIZATION: CopyOptimization<WireI32, WireI32> = CopyOptimization<WireI32, WireI32>::PRIMITIVE

§

impl FromWire<WireI64> for WireI64

§

const COPY_OPTIMIZATION: CopyOptimization<WireI64, WireI64> = CopyOptimization<WireI64, WireI64>::PRIMITIVE

§

impl FromWire<WireU16> for WireU16

§

const COPY_OPTIMIZATION: CopyOptimization<WireU16, WireU16> = CopyOptimization<WireU16, WireU16>::PRIMITIVE

§

impl FromWire<WireU32> for WireU32

§

const COPY_OPTIMIZATION: CopyOptimization<WireU32, WireU32> = CopyOptimization<WireU32, WireU32>::PRIMITIVE

§

impl FromWire<WireU64> for WireU64

§

const COPY_OPTIMIZATION: CopyOptimization<WireU64, WireU64> = CopyOptimization<WireU64, WireU64>::PRIMITIVE

§

impl FromWire<WireHandle> for Bti

§

impl FromWire<WireHandle> for Channel

§

impl FromWire<WireHandle> for Clock

§

impl FromWire<WireHandle> for Event

§

impl FromWire<WireHandle> for EventPair

§

impl FromWire<WireHandle> for Exception

§

impl FromWire<WireHandle> for Fifo

§

impl FromWire<WireHandle> for Guest

§

impl FromWire<WireHandle> for Handle

§

impl FromWire<WireHandle> for Interrupt

§

impl FromWire<WireHandle> for Iob

§

impl FromWire<WireHandle> for Iommu

§

impl FromWire<WireHandle> for Job

§

impl FromWire<WireHandle> for Pager

§

impl FromWire<WireHandle> for Pmt

§

impl FromWire<WireHandle> for Port

§

impl FromWire<WireHandle> for Process

§

impl FromWire<WireHandle> for Profile

§

impl FromWire<WireHandle> for Resource

§

impl FromWire<WireHandle> for Socket

§

impl FromWire<WireHandle> for Stream

§

impl FromWire<WireHandle> for Thread

§

impl FromWire<WireHandle> for Timer

§

impl FromWire<WireHandle> for Vcpu

§

impl FromWire<WireHandle> for Vmar

§

impl FromWire<WireHandle> for Vmo

§

impl<T> FromWire<WireI64> for Instant<T>
where T: Timeline,

§

impl<T> FromWire<WireI64> for Instant<T, TicksUnit>
where T: Timeline,

§

impl<T, P, U> FromWire<ClientEnd<U, P>> for ClientEnd<T, P>
where T: FromWire<U>,

§

impl<T, P, U> FromWire<ServerEnd<U, P>> for ServerEnd<T, P>
where T: FromWire<U>,

§

impl<T, WT> FromWire<WireFlexible<'_, WT>> for Flexible<T>
where T: FromWire<WT>,

§

impl<T, WT, E, WE> FromWire<WireFlexibleResult<'_, WT, WE>> for FlexibleResult<T, E>
where T: FromWire<WT>, E: FromWire<WE>,