pub struct Runner<'d, C, P: PacketPool> { /* private fields */ }
Expand description
Runs the host with the given controller.
Implementations§
Source§impl<'d, C: Controller, P: PacketPool> Runner<'d, C, P>
impl<'d, C: Controller, P: PacketPool> Runner<'d, C, P>
Sourcepub fn split(
self,
) -> (RxRunner<'d, C, P>, ControlRunner<'d, C, P>, TxRunner<'d, C, P>)
pub fn split( self, ) -> (RxRunner<'d, C, P>, ControlRunner<'d, C, P>, TxRunner<'d, C, P>)
Split the runner into separate independent async tasks
Sourcepub async fn run(&mut self) -> Result<(), BleHostError<C::Error>>where
C: ControllerCmdSync<Disconnect> + ControllerCmdSync<SetEventMask> + ControllerCmdSync<SetEventMaskPage2> + ControllerCmdSync<LeSetEventMask> + ControllerCmdSync<LeSetRandomAddr> + ControllerCmdSync<HostBufferSize> + ControllerCmdAsync<LeConnUpdate> + ControllerCmdSync<LeReadFilterAcceptListSize> + ControllerCmdSync<SetControllerToHostFlowControl> + ControllerCmdSync<Reset> + ControllerCmdSync<LeCreateConnCancel> + ControllerCmdSync<LeSetScanEnable> + ControllerCmdSync<LeSetExtScanEnable> + for<'t> ControllerCmdSync<LeSetAdvEnable> + for<'t> ControllerCmdSync<LeSetExtAdvEnable<'t>> + for<'t> ControllerCmdSync<HostNumberOfCompletedPackets<'t>> + ControllerCmdSync<LeReadBufferSize> + ControllerCmdSync<LeLongTermKeyRequestReply> + ControllerCmdAsync<LeEnableEncryption> + ControllerCmdSync<ReadBdAddr>,
pub async fn run(&mut self) -> Result<(), BleHostError<C::Error>>where
C: ControllerCmdSync<Disconnect> + ControllerCmdSync<SetEventMask> + ControllerCmdSync<SetEventMaskPage2> + ControllerCmdSync<LeSetEventMask> + ControllerCmdSync<LeSetRandomAddr> + ControllerCmdSync<HostBufferSize> + ControllerCmdAsync<LeConnUpdate> + ControllerCmdSync<LeReadFilterAcceptListSize> + ControllerCmdSync<SetControllerToHostFlowControl> + ControllerCmdSync<Reset> + ControllerCmdSync<LeCreateConnCancel> + ControllerCmdSync<LeSetScanEnable> + ControllerCmdSync<LeSetExtScanEnable> + for<'t> ControllerCmdSync<LeSetAdvEnable> + for<'t> ControllerCmdSync<LeSetExtAdvEnable<'t>> + for<'t> ControllerCmdSync<HostNumberOfCompletedPackets<'t>> + ControllerCmdSync<LeReadBufferSize> + ControllerCmdSync<LeLongTermKeyRequestReply> + ControllerCmdAsync<LeEnableEncryption> + ControllerCmdSync<ReadBdAddr>,
Run the host.
Sourcepub async fn run_with_handler<E: EventHandler>(
&mut self,
event_handler: &E,
) -> Result<(), BleHostError<C::Error>>where
C: ControllerCmdSync<Disconnect> + ControllerCmdSync<SetEventMask> + ControllerCmdSync<SetEventMaskPage2> + ControllerCmdSync<LeSetEventMask> + ControllerCmdSync<LeSetRandomAddr> + ControllerCmdSync<LeReadFilterAcceptListSize> + ControllerCmdSync<HostBufferSize> + ControllerCmdAsync<LeConnUpdate> + ControllerCmdSync<SetControllerToHostFlowControl> + for<'t> ControllerCmdSync<LeSetAdvEnable> + for<'t> ControllerCmdSync<LeSetExtAdvEnable<'t>> + for<'t> ControllerCmdSync<HostNumberOfCompletedPackets<'t>> + ControllerCmdSync<LeSetScanEnable> + ControllerCmdSync<LeSetExtScanEnable> + ControllerCmdSync<Reset> + ControllerCmdSync<LeCreateConnCancel> + ControllerCmdSync<LeReadBufferSize> + ControllerCmdSync<LeLongTermKeyRequestReply> + ControllerCmdAsync<LeEnableEncryption> + ControllerCmdSync<ReadBdAddr>,
pub async fn run_with_handler<E: EventHandler>(
&mut self,
event_handler: &E,
) -> Result<(), BleHostError<C::Error>>where
C: ControllerCmdSync<Disconnect> + ControllerCmdSync<SetEventMask> + ControllerCmdSync<SetEventMaskPage2> + ControllerCmdSync<LeSetEventMask> + ControllerCmdSync<LeSetRandomAddr> + ControllerCmdSync<LeReadFilterAcceptListSize> + ControllerCmdSync<HostBufferSize> + ControllerCmdAsync<LeConnUpdate> + ControllerCmdSync<SetControllerToHostFlowControl> + for<'t> ControllerCmdSync<LeSetAdvEnable> + for<'t> ControllerCmdSync<LeSetExtAdvEnable<'t>> + for<'t> ControllerCmdSync<HostNumberOfCompletedPackets<'t>> + ControllerCmdSync<LeSetScanEnable> + ControllerCmdSync<LeSetExtScanEnable> + ControllerCmdSync<Reset> + ControllerCmdSync<LeCreateConnCancel> + ControllerCmdSync<LeReadBufferSize> + ControllerCmdSync<LeLongTermKeyRequestReply> + ControllerCmdAsync<LeEnableEncryption> + ControllerCmdSync<ReadBdAddr>,
Run the host with a vendor event handler for custom events.
Auto Trait Implementations§
impl<'d, C, P> Freeze for Runner<'d, C, P>
impl<'d, C, P> !RefUnwindSafe for Runner<'d, C, P>
impl<'d, C, P> !Send for Runner<'d, C, P>
impl<'d, C, P> !Sync for Runner<'d, C, P>
impl<'d, C, P> Unpin for Runner<'d, C, P>
impl<'d, C, P> !UnwindSafe for Runner<'d, C, P>
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