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.
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
.
Trait Implementations§
Source§impl<D: OnDispatcher> Transport for DriverChannel<D>
impl<D: OnDispatcher> Transport for DriverChannel<D>
Source§type Sender = DriverSender<D>
type Sender = DriverSender<D>
The sender half of the transport. Dropping all of the senders for a transport should close
the transport.
Source§type SendBuffer = SendBuffer
type SendBuffer = SendBuffer
The buffer type for senders.
Source§type SendFutureState = SendBuffer
type SendFutureState = SendBuffer
The future state for send operations.
Source§type Receiver = DriverReceiver<D>
type Receiver = DriverReceiver<D>
The receiver half of the transport.
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::Sender, Self::Receiver)
fn split(self) -> (Self::Sender, Self::Receiver)
Splits the transport into a sender and receiver.
Source§fn acquire(_sender: &Self::Sender) -> Self::SendBuffer
fn acquire(_sender: &Self::Sender) -> Self::SendBuffer
Acquires an empty send buffer for the transport.
Source§fn begin_send(
_sender: &Self::Sender,
buffer: Self::SendBuffer,
) -> Self::SendFutureState
fn begin_send( _sender: &Self::Sender, 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<'_>,
sender: &Self::Sender,
) -> Poll<Result<(), Self::Error>>
fn poll_send( buffer: Pin<&mut Self::SendFutureState>, _cx: &mut Context<'_>, sender: &Self::Sender, ) -> Poll<Result<(), Self::Error>>
Polls a
SendFutureState
for completion with a sender.Source§fn begin_recv(receiver: &mut Self::Receiver) -> Self::RecvFutureState
fn begin_recv(receiver: &mut Self::Receiver) -> Self::RecvFutureState
Begins receiving a
RecvBuffer
over this transport. Read moreAuto 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