pub async fn watch_events<H: HostListener + Clone>(
    listener: H,
    host: Arc<RwLock<HostDevice>>,
) -> types::Result<()> {
    let handle_fidl = handle_fidl_events(listener.clone(), host.clone());
    let watch_peers = watch_peers(listener, host.clone());
    let watch_state = watch_state(host);
    pin_mut!(handle_fidl);
    pin_mut!(watch_peers);
    pin_mut!(watch_state);
    futures::select! {
        res1 = handle_fidl.fuse() => res1,
        res2 = watch_peers.fuse() => res2,
        res3 = watch_state.fuse() => res3,
    }
}
/// Monitors updates from a bt-host device and notifies `listener`. The returned Future represents
/// a task that never ends in successful operation and only returns in case of a failure to
/// communicate with the bt-host device.
Monitors updates from a bt-host device and notifies `listener`. The returned Future represents
a task that never ends in successful operation and only returns in case of a failure to
communicate with the bt-host device.
Monitors updates from a bt - host device and notifies ` listener ` . The returned Future represents a task that never ends in successful operation and only returns in case of a failure to communicate with the bt - host device .
pub async fn watch_events<H: HostListener + Clone>(
    listener: H,
    host: Arc<RwLock<HostDevice>>,
) -> types::Result<()> {
    let handle_fidl = handle_fidl_events(listener.clone(), host.clone());
    let watch_peers = watch_peers(listener, host.clone());
    let watch_state = watch_state(host);
    pin_mut!(handle_fidl);
    pin_mut!(watch_peers);
    pin_mut!(watch_state);
    futures::select! {
        res1 = handle_fidl.fuse() => res1,
        res2 = watch_peers.fuse() => res2,
        res3 = watch_state.fuse() => res3,
    }
}
pub async fn watch_events < H : HostListener + Clone > ( listener : H , host : Arc < RwLock < HostDevice > > , ) -> types :: Result < ( ) > { let handle_fidl = handle_fidl_events ( listener . clone ( ) , host . clone ( ) ) ; let watch_peers = watch_peers ( listener , host . clone ( ) ) ; let watch_state = watch_state ( host ) ; pin_mut ! ( handle_fidl ) ; pin_mut ! ( watch_peers ) ; pin_mut ! ( watch_state ) ; futures :: select ! { res1 handle_fidl fuse ( ) res1 res2 watch_peers fuse ( ) res2 res3 watch_state fuse ( ) res3 } }
Monitors updates from a bt-host device and notifies `listener`.
Monitors updates from a bt - host device and notifies ` listener ` .
listener
H
host
Arc<RwLock<HostDevice>>
listener
H
host
Arc<RwLock<HostDevice>>