pub struct Driver;
Expand description
The type corresponding to the Driver protocol.
This protocol is used by the Driver Framework’s Driver Host to communicate various messages and
lifecycle hooks to the driver. The connection for this protocol is established through the
|DriverRegistration| defined in the driver_symbols
library.
Once the driver has closed its server end, the Driver Framework will initiate the shutdown of all dispatchers belonging to this driver.
Trait Implementations§
Source§impl<___H, ___T> ClientProtocol<___H, ___T> for Driverwhere
___H: DriverClientHandler<___T> + Send,
___T: Transport,
<Start as Method>::Response: Decode<<___T as Transport>::RecvBuffer>,
impl<___H, ___T> ClientProtocol<___H, ___T> for Driverwhere
___H: DriverClientHandler<___T> + Send,
___T: Transport,
<Start as Method>::Response: Decode<<___T as Transport>::RecvBuffer>,
Source§impl From<Driver> for DriverMarker
impl From<Driver> for DriverMarker
Source§impl<___T> Protocol<___T> for Driverwhere
___T: Transport,
impl<___T> Protocol<___T> for Driverwhere
___T: Transport,
Source§type ClientSender = DriverClientSender<___T>
type ClientSender = DriverClientSender<___T>
The client sender for the protocol. It must be a
#[repr(transparent)]
wrapper around
ClientSender<T>
.Source§type ServerSender = DriverServerSender<___T>
type ServerSender = DriverServerSender<___T>
The server sender for the protocol. It must be a
#[repr(transparent)]
wrapper around
ServerSender<T>
.Source§impl<___H, ___T> ServerProtocol<___H, ___T> for Driverwhere
___H: DriverServerHandler<___T> + Send,
___T: Transport,
<Start as Method>::Request: Decode<<___T as Transport>::RecvBuffer>,
impl<___H, ___T> ServerProtocol<___H, ___T> for Driverwhere
___H: DriverServerHandler<___T> + Send,
___T: Transport,
<Start as Method>::Request: Decode<<___T as Transport>::RecvBuffer>,
Source§async fn on_one_way(
handler: &mut ___H,
sender: &ServerSender<Self, ___T>,
ordinal: u64,
buffer: ___T::RecvBuffer,
)
async fn on_one_way( handler: &mut ___H, sender: &ServerSender<Self, ___T>, ordinal: u64, buffer: ___T::RecvBuffer, )
Handles a received server one-way message with the given handler.
Source§async fn on_two_way(
handler: &mut ___H,
sender: &ServerSender<Self, ___T>,
ordinal: u64,
buffer: ___T::RecvBuffer,
responder: Responder,
)
async fn on_two_way( handler: &mut ___H, sender: &ServerSender<Self, ___T>, ordinal: u64, buffer: ___T::RecvBuffer, responder: Responder, )
Handles a received server two-way message with the given handler.
Auto Trait Implementations§
impl Freeze for Driver
impl RefUnwindSafe for Driver
impl Send for Driver
impl Sync for Driver
impl Unpin for Driver
impl UnwindSafe for Driver
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