Skip to main content

ElementControlLocalServerHandler

Trait ElementControlLocalServerHandler 

Source
pub trait ElementControlLocalServerHandler<___T: Transport = Channel> {
    // Required methods
    fn open_status_channel(
        &mut self,
        request: Request<OpenStatusChannel, ___T>,
    ) -> impl Future<Output = ()>;
    fn register_dependency_token(
        &mut self,
        request: Request<RegisterDependencyToken, ___T>,
        responder: Responder<RegisterDependencyToken, ___T>,
    ) -> impl Future<Output = ()>;
    fn unregister_dependency_token(
        &mut self,
        request: Request<UnregisterDependencyToken, ___T>,
        responder: Responder<UnregisterDependencyToken, ___T>,
    ) -> impl Future<Output = ()>;

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

A server handler for the ElementControl protocol.

See ElementControl for more details.

Required Methods§

Source

fn open_status_channel( &mut self, request: Request<OpenStatusChannel, ___T>, ) -> impl Future<Output = ()>

Register a new Status channel on which Power Broker will send read-only updates of the element’s current power level. This method is intended to allow element owners to give read-only access to the element’s current power level to clients by opening and transferring this channel.

Source

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

Register a token which will permit the bearer to add either a dependency upon this element.

Source

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

Unregister a token previously registered via RegisterDependencyToken.

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", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<___H, ___T> ElementControlLocalServerHandler<___T> for Local<___H>
where ___H: ElementControlServerHandler<___T>, ___T: Transport,

Source§

async fn open_status_channel( &mut self, request: Request<OpenStatusChannel, ___T>, )

Source§

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

Source§

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

Source§

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

Implementors§