Trait Wire

Source
pub unsafe trait Wire: 'static + Sized {
    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§

Source

type Decoded<'de>: 'de

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

Required Methods§

Source

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§

Source§

impl Wire for bool

Source§

impl Wire for i8

Source§

type Decoded<'de> = i8

Source§

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

Source§

impl Wire for u8

Source§

type Decoded<'de> = u8

Source§

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

Source§

impl Wire for ()

Source§

type Decoded<'de> = ()

Source§

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

Source§

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

Source§

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

Source§

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

Implementors§

Source§

impl Wire for WireBti

Source§

impl Wire for WireChannel

Source§

impl Wire for WireClock

Source§

impl Wire for WireEvent

Source§

impl Wire for WireEventPair

Source§

impl Wire for WireException

Source§

impl Wire for WireFifo

Source§

impl Wire for WireGuest

Source§

impl Wire for WireInterrupt

Source§

impl Wire for WireIob

Source§

impl Wire for WireIommu

Source§

impl Wire for WireJob

Source§

impl Wire for WireOptionalBti

Source§

impl Wire for WireOptionalChannel

Source§

impl Wire for WireOptionalClock

Source§

impl Wire for WireOptionalEvent

Source§

impl Wire for WireOptionalEventPair

Source§

impl Wire for WireOptionalException

Source§

impl Wire for WireOptionalFifo

Source§

impl Wire for WireOptionalGuest

Source§

impl Wire for WireOptionalHandle

Source§

impl Wire for WireOptionalInterrupt

Source§

impl Wire for WireOptionalIob

Source§

impl Wire for WireOptionalIommu

Source§

impl Wire for WireOptionalJob

Source§

impl Wire for WireOptionalPager

Source§

impl Wire for WireOptionalPmt

Source§

impl Wire for WireOptionalPort

Source§

impl Wire for WireOptionalProcess

Source§

impl Wire for WireOptionalProfile

Source§

impl Wire for WireOptionalResource

Source§

impl Wire for WireOptionalSocket

Source§

impl Wire for WireOptionalStream

Source§

impl Wire for WireOptionalThread

Source§

impl Wire for WireOptionalTimer

Source§

impl Wire for WireOptionalVcpu

Source§

impl Wire for WireOptionalVmar

Source§

impl Wire for WireOptionalVmo

Source§

impl Wire for WirePager

Source§

impl Wire for WirePmt

Source§

impl Wire for WirePort

Source§

impl Wire for WireProcess

Source§

impl Wire for WireProfile

Source§

impl Wire for WireResource

Source§

impl Wire for WireSocket

Source§

impl Wire for WireStream

Source§

impl Wire for WireThread

Source§

impl Wire for WireTimer

Source§

impl Wire for WireVcpu

Source§

impl Wire for WireVmar

Source§

impl Wire for WireVmo

Source§

impl Wire for RawWireUnion

Source§

impl Wire for WireF32

Source§

impl Wire for WireF64

Source§

impl Wire for WireI16

Source§

impl Wire for WireI32

Source§

impl Wire for WireI64

Source§

impl Wire for WireOptionalString<'static>

Source§

impl Wire for WireString<'static>

Source§

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

Source§

impl Wire for WireTable<'static>

Source§

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

Source§

impl Wire for WireU16

Source§

impl Wire for WireU32

Source§

impl Wire for WireU64

Source§

impl Wire for WireHandle

Source§

impl Wire for WireEnvelope

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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