embassy-usb-host

Crates

git

Versions

default

Flavors

UsbHostHandler

Trait UsbHostHandler 

Source
pub trait UsbHostHandler: Sized {
    type Driver: UsbHostDriver;
    type PollEvent;

    // Required methods
    fn static_spec() -> StaticHandlerSpec;
    async fn try_register(
        bus: &Self::Driver,
        enum_info: &EnumerationInfo,
    ) -> Result<Self, RegisterError>;
    async fn wait_for_event(
        &mut self,
    ) -> Result<HandlerEvent<Self::PollEvent>, HostError>;
}
Expand description

A USB host-side class driver.

Implemented by class drivers (HID, CDC-ACM, Hub, …). The host calls try_register after enumeration; on success the driver owns the relevant channels and events are polled via wait_for_event.

Required Associated Types§

Required Methods§

Source

fn static_spec() -> StaticHandlerSpec

Source

async fn try_register( bus: &Self::Driver, enum_info: &EnumerationInfo, ) -> Result<Self, RegisterError>

Source

async fn wait_for_event( &mut self, ) -> Result<HandlerEvent<Self::PollEvent>, HostError>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§