Trait Wire

pub unsafe trait Wire: Sized + 'static {
    type Decoded<'de>: 'de;

    // Required method
    fn zero_padding(out: &mut MaybeUninit<Self>);
}
Expand description

A FIDL wire type.

§Safety

  • References to decoded data yielded by Self::Decoded<'de> must not outlive 'de.
  • zero_padding must write zeroes to (at least) the padding bytes of out.

Required Associated Types§

type Decoded<'de>: 'de

The decoded wire type, restricted to the 'de lifetime.

Required Methods§

fn zero_padding(out: &mut MaybeUninit<Self>)

Writes zeroes to the padding for this type, if any.

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 Wire for bool

§

type Decoded<'de> = bool

§

fn zero_padding(_: &mut MaybeUninit<bool>)

§

impl Wire for i8

§

type Decoded<'de> = i8

§

fn zero_padding(_: &mut MaybeUninit<i8>)

§

impl Wire for u8

§

type Decoded<'de> = u8

§

fn zero_padding(_: &mut MaybeUninit<u8>)

§

impl Wire for ()

§

type Decoded<'de> = ()

§

fn zero_padding(_: &mut MaybeUninit<()>)

§

impl Wire for WireMessageHeader

§

type Decoded<'de> = WireMessageHeader

§

fn zero_padding(_: &mut MaybeUninit<WireMessageHeader>)

§

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

§

type Decoded<'de> = [<T as Wire>::Decoded<'de>; N]

§

fn zero_padding(out: &mut MaybeUninit<[T; N]>)

Implementors§

§

impl Wire for WireBti

§

type Decoded<'de> = WireBti

§

impl Wire for WireChannel

§

impl Wire for WireClock

§

type Decoded<'de> = WireClock

§

impl Wire for WireEvent

§

type Decoded<'de> = WireEvent

§

impl Wire for WireEventPair

§

impl Wire for WireException

§

impl Wire for WireFifo

§

type Decoded<'de> = WireFifo

§

impl Wire for WireGuest

§

type Decoded<'de> = WireGuest

§

impl Wire for WireInterrupt

§

impl Wire for WireIob

§

type Decoded<'de> = WireIob

§

impl Wire for WireIommu

§

type Decoded<'de> = WireIommu

§

impl Wire for WireJob

§

type Decoded<'de> = WireJob

§

impl Wire for WireOptionalBti

§

impl Wire for WireOptionalChannel

§

impl Wire for WireOptionalClock

§

impl Wire for WireOptionalEvent

§

impl Wire for WireOptionalEventPair

§

impl Wire for WireOptionalException

§

impl Wire for WireOptionalFifo

§

impl Wire for WireOptionalGuest

§

impl Wire for WireOptionalHandle

§

impl Wire for WireOptionalInterrupt

§

impl Wire for WireOptionalIob

§

impl Wire for WireOptionalIommu

§

impl Wire for WireOptionalJob

§

impl Wire for WireOptionalPager

§

impl Wire for WireOptionalPmt

§

impl Wire for WireOptionalPort

§

impl Wire for WireOptionalProcess

§

impl Wire for WireOptionalProfile

§

impl Wire for WireOptionalResource

§

impl Wire for WireOptionalSocket

§

impl Wire for WireOptionalStream

§

impl Wire for WireOptionalThread

§

impl Wire for WireOptionalTimer

§

impl Wire for WireOptionalVcpu

§

impl Wire for WireOptionalVmar

§

impl Wire for WireOptionalVmo

§

impl Wire for WirePager

§

type Decoded<'de> = WirePager

§

impl Wire for WirePmt

§

type Decoded<'de> = WirePmt

§

impl Wire for WirePort

§

type Decoded<'de> = WirePort

§

impl Wire for WireProcess

§

impl Wire for WireProfile

§

impl Wire for WireResource

§

impl Wire for WireSocket

§

type Decoded<'de> = WireSocket

§

impl Wire for WireStream

§

type Decoded<'de> = WireStream

§

impl Wire for WireThread

§

type Decoded<'de> = WireThread

§

impl Wire for WireTimer

§

type Decoded<'de> = WireTimer

§

impl Wire for WireVcpu

§

type Decoded<'de> = WireVcpu

§

impl Wire for WireVmar

§

type Decoded<'de> = WireVmar

§

impl Wire for WireVmo

§

type Decoded<'de> = WireVmo

§

impl Wire for RawWireUnion

§

impl Wire for WireF32

§

type Decoded<'de> = WireF32

§

impl Wire for WireF64

§

type Decoded<'de> = WireF64

§

impl Wire for WireFrameworkError

§

impl Wire for WireI16

§

type Decoded<'de> = WireI16

§

impl Wire for WireI32

§

type Decoded<'de> = WireI32

§

impl Wire for WireI64

§

type Decoded<'de> = WireI64

§

impl Wire for WireOptionalString<'static>

§

type Decoded<'de> = WireOptionalString<'de>

§

impl Wire for WireString<'static>

§

type Decoded<'de> = WireString<'de>

§

impl Wire for WireTable<'static>

§

type Decoded<'de> = WireTable<'de>

§

impl Wire for WireU16

§

type Decoded<'de> = WireU16

§

impl Wire for WireU32

§

type Decoded<'de> = WireU32

§

impl Wire for WireU64

§

type Decoded<'de> = WireU64

§

impl Wire for WireHandle

§

type Decoded<'de> = WireHandle

§

impl Wire for WireEnvelope

§

impl<P, T> Wire for ClientEnd<P, T>
where P: 'static, T: Wire,

§

type Decoded<'de> = ClientEnd<P, <T as Wire>::Decoded<'de>>

§

impl<P, T> Wire for ServerEnd<P, T>
where P: 'static, T: Wire,

§

type Decoded<'de> = ServerEnd<P, <T as Wire>::Decoded<'de>>

§

impl<T> Wire for WireBox<'static, T>
where T: Wire,

§

type Decoded<'de> = WireBox<'de, <T as Wire>::Decoded<'de>>

§

impl<T> Wire for WireFlexible<'static, T>
where T: Wire,

§

type Decoded<'de> = WireFlexible<'de, <T as Wire>::Decoded<'de>>

§

impl<T> Wire for WireOptionalVector<'static, T>
where T: Wire,

§

type Decoded<'de> = WireOptionalVector<'de, <T as Wire>::Decoded<'de>>

§

impl<T> Wire for WireVector<'static, T>
where T: Wire,

§

type Decoded<'de> = WireVector<'de, <T as Wire>::Decoded<'de>>

§

impl<T, E> Wire for WireFlexibleResult<'static, T, E>
where T: Wire, E: Wire,

§

type Decoded<'de> = WireFlexibleResult<'de, <T as Wire>::Decoded<'de>, <E as Wire>::Decoded<'de>>

§

impl<T, E> Wire for WireResult<'static, T, E>
where T: Wire, E: Wire,

§

type Decoded<'de> = WireResult<'de, <T as Wire>::Decoded<'de>, <E as Wire>::Decoded<'de>>