pub struct DriverChannel<D = CurrentDispatcher> { /* private fields */ }
Expand description
A fidl-compatible driver channel that also holds a reference to the
dispatcher. Defaults to using CurrentDispatcher
.
Implementations§
Source§impl<D> DriverChannel<D>
impl<D> DriverChannel<D>
Sourcepub fn new_with_dispatcher(dispatcher: D, channel: Channel<[Chunk]>) -> Self
pub fn new_with_dispatcher(dispatcher: D, channel: Channel<[Chunk]>) -> Self
Create a new driver fidl channel that will perform its operations on the given dispatcher handle.
Sourcepub fn create_with_dispatchers(dispatcher1: D, dispatcher2: D) -> (Self, Self)
pub fn create_with_dispatchers(dispatcher1: D, dispatcher2: D) -> (Self, Self)
Create a new driver fidl channel pair that will perform its operations on the given dispatcher handles.
Sourcepub fn create_with_dispatcher(dispatcher: D) -> (Self, Self)where
D: Clone,
pub fn create_with_dispatcher(dispatcher: D) -> (Self, Self)where
D: Clone,
Create a new driver fidl channel pair that will perform its operations on the given
dispatcher handle, if the dispatcher implements Clone
Sourcepub fn into_channel(self) -> Channel<[Chunk]>
pub fn into_channel(self) -> Channel<[Chunk]>
Returns the underlying data channel
Sourcepub fn into_driver_handle(self) -> DriverHandle
pub fn into_driver_handle(self) -> DriverHandle
Returns the underlying fdf_handle_t
for this channel
Source§impl DriverChannel<CurrentDispatcher>
impl DriverChannel<CurrentDispatcher>
Sourcepub fn new(channel: Channel<[Chunk]>) -> Self
pub fn new(channel: Channel<[Chunk]>) -> Self
Create a new driver fidl channel that will perform its operations on the
CurrentDispatcher
.
Sourcepub fn create() -> (Self, Self)
pub fn create() -> (Self, Self)
Create a new driver fidl channel pair that will perform its operations on the
CurrentDispatcher
.
Trait Implementations§
Source§impl<D: Debug> Debug for DriverChannel<D>
impl<D: Debug> Debug for DriverChannel<D>
Source§impl Encodable for DriverChannel
impl Encodable for DriverChannel
Source§type Encoded = WireDriverChannel
type Encoded = WireDriverChannel
The wire type for the value.
§const COPY_OPTIMIZATION: CopyOptimization<Self, Self::Encoded> = _
const COPY_OPTIMIZATION: CopyOptimization<Self, Self::Encoded> = _
Whether the conversion from
Self
to Self::Encoded
is equivalent to copying the raw bytes
of Self
. Read moreSource§impl EncodableOption for DriverChannel
impl EncodableOption for DriverChannel
Source§type EncodedOption = WireOptionalDriverChannel
type EncodedOption = WireOptionalDriverChannel
The wire type for the optional value.
Source§impl<E: HandleEncoder + ?Sized> Encode<E> for DriverChannel
impl<E: HandleEncoder + ?Sized> Encode<E> for DriverChannel
Source§impl<E: HandleEncoder + ?Sized> EncodeOption<E> for DriverChannel
impl<E: HandleEncoder + ?Sized> EncodeOption<E> for DriverChannel
Source§fn encode_option(
this: Option<Self>,
encoder: &mut E,
out: &mut MaybeUninit<Self::EncodedOption>,
) -> Result<(), EncodeError>
fn encode_option( this: Option<Self>, encoder: &mut E, out: &mut MaybeUninit<Self::EncodedOption>, ) -> Result<(), EncodeError>
Encodes this optional value into an encoder and output.
Source§impl FromWire<WireDriverChannel> for DriverChannel
impl FromWire<WireDriverChannel> for DriverChannel
Source§fn from_wire(wire: WireDriverChannel) -> Self
fn from_wire(wire: WireDriverChannel) -> Self
Converts the given
wire
to this type.§const COPY_OPTIMIZATION: CopyOptimization<W, Self> = _
const COPY_OPTIMIZATION: CopyOptimization<W, Self> = _
Source§impl FromWireOption<WireOptionalDriverChannel> for DriverChannel
impl FromWireOption<WireOptionalDriverChannel> for DriverChannel
Source§fn from_wire_option(wire: WireOptionalDriverChannel) -> Option<Self>
fn from_wire_option(wire: WireOptionalDriverChannel) -> Option<Self>
Converts the given
wire
to an option of this type.Source§impl<D> HasExecutor for DriverChannel<D>
impl<D> HasExecutor for DriverChannel<D>
Source§impl<D: OnDispatcher> Transport for DriverChannel<D>
impl<D: OnDispatcher> Transport for DriverChannel<D>
The shared part of the transport. It is provided by shared reference
while sending and receiving. For an MPSC, this would contain a sender.
Source§type SendBuffer = SendBuffer
type SendBuffer = SendBuffer
The buffer type for sending.
Source§type SendFutureState = SendBuffer
type SendFutureState = SendBuffer
The future state for send operations.
Source§type Exclusive = Exclusive
type Exclusive = Exclusive
The exclusive part of the transport. It is provided by mutable reference
only while receiving. For an MPSC, this would contain a receiver.
Source§type RecvFutureState = DriverRecvState
type RecvFutureState = DriverRecvState
The future state for receive operations.
Source§type RecvBuffer = RecvBuffer
type RecvBuffer = RecvBuffer
The buffer type for receivers.
Source§fn split(self) -> (Self::Shared, Self::Exclusive)
fn split(self) -> (Self::Shared, Self::Exclusive)
Splits the transport into shared and exclusive pieces.
Source§fn acquire(_shared: &Self::Shared) -> Self::SendBuffer
fn acquire(_shared: &Self::Shared) -> Self::SendBuffer
Acquires an empty send buffer for the transport.
Source§fn begin_send(
_shared: &Self::Shared,
buffer: Self::SendBuffer,
) -> Self::SendFutureState
fn begin_send( _shared: &Self::Shared, buffer: Self::SendBuffer, ) -> Self::SendFutureState
Begins sending a
SendBuffer
over this transport. Read moreSource§fn poll_send(
buffer: Pin<&mut Self::SendFutureState>,
_cx: &mut Context<'_>,
shared: &Self::Shared,
) -> Poll<Result<(), Option<Self::Error>>>
fn poll_send( buffer: Pin<&mut Self::SendFutureState>, _cx: &mut Context<'_>, shared: &Self::Shared, ) -> Poll<Result<(), Option<Self::Error>>>
Polls a
SendFutureState
for completion with the shared part of the
transport. Read moreSource§fn begin_recv(
shared: &Self::Shared,
_exclusive: &mut Self::Exclusive,
) -> Self::RecvFutureState
fn begin_recv( shared: &Self::Shared, _exclusive: &mut Self::Exclusive, ) -> Self::RecvFutureState
Begins receiving a
RecvBuffer
over this transport. Read moreimpl<D> RunsTransport<DriverChannel<D>> for FuchsiaAsync
Auto Trait Implementations§
impl<D> Freeze for DriverChannel<D>where
D: Freeze,
impl<D> RefUnwindSafe for DriverChannel<D>where
D: RefUnwindSafe,
impl<D> Send for DriverChannel<D>where
D: Send,
impl<D> Sync for DriverChannel<D>where
D: Sync,
impl<D> Unpin for DriverChannel<D>where
D: Unpin,
impl<D> UnwindSafe for DriverChannel<D>where
D: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
§impl<T, W> FromWireOption<WireBox<'_, W>> for Twhere
T: FromWire<W>,
impl<T, W> FromWireOption<WireBox<'_, W>> for Twhere
T: FromWire<W>,
§fn from_wire_option(wire: WireBox<'_, W>) -> Option<T>
fn from_wire_option(wire: WireBox<'_, W>) -> Option<T>
Converts the given
wire
to an option of this type.