Skip to main content

DeviceLocalServerHandler

Trait DeviceLocalServerHandler 

Source
pub trait DeviceLocalServerHandler<___T: Transport = DriverChannel> {
    // Required methods
    fn get_max_transfer_size(
        &mut self,
        responder: Responder<GetMaxTransferSize, ___T>,
    ) -> impl Future<Output = ()>;
    fn set_bitrate(
        &mut self,
        request: Request<SetBitrate, ___T>,
        responder: Responder<SetBitrate, ___T>,
    ) -> impl Future<Output = ()>;
    fn transact(
        &mut self,
        request: Request<Transact, ___T>,
        responder: Responder<Transact, ___T>,
    ) -> impl Future<Output = ()>;

    // Provided method
    fn on_unknown_interaction(
        &mut self,
        ordinal: u64,
    ) -> impl Future<Output = ()> { ... }
}
Expand description

A server handler for the Device protocol.

See Device for more details.

Required Methods§

Source

fn get_max_transfer_size( &mut self, responder: Responder<GetMaxTransferSize, ___T>, ) -> impl Future<Output = ()>

Source

fn set_bitrate( &mut self, request: Request<SetBitrate, ___T>, responder: Responder<SetBitrate, ___T>, ) -> impl Future<Output = ()>

Sets the bitrate for the i2c bus in KHz units.

Source

fn transact( &mut self, request: Request<Transact, ___T>, responder: Responder<Transact, ___T>, ) -> impl Future<Output = ()>

|Transact| assumes that write ops write_data length are not zero. |Transact| assumes that at least the last op has stop set to true.

For each read-transaction, there will be a corresponding ReadData returned. Write-transactions produce no data result.

Provided Methods§

Source

fn on_unknown_interaction(&mut self, ordinal: u64) -> impl Future<Output = ()>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<___H, ___T> DeviceLocalServerHandler<___T> for Local<___H>
where ___H: DeviceServerHandler<___T>, ___T: Transport,

Source§

async fn get_max_transfer_size( &mut self, responder: Responder<GetMaxTransferSize, ___T>, )

Source§

async fn set_bitrate( &mut self, request: Request<SetBitrate, ___T>, responder: Responder<SetBitrate, ___T>, )

Source§

async fn transact( &mut self, request: Request<Transact, ___T>, responder: Responder<Transact, ___T>, )

Source§

async fn on_unknown_interaction(&mut self, ordinal: u64)

Implementors§