Skip to main content

ElementControlServerHandler

Trait ElementControlServerHandler 

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

    // Provided method
    fn on_unknown_interaction(
        &mut self,
        ordinal: u64,
    ) -> impl Future<Output = ()> + Send { ... }
}
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 = ()> + Send

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 = ()> + Send

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 = ()> + Send

Unregister a token previously registered via RegisterDependencyToken.

Source

fn add_dependency( &mut self, request: Request<AddDependency, ___T>, responder: Responder<AddDependency, ___T>, ) -> impl Future<Output = ()> + Send

Add a new dependency to an existing element. If any open leases would incorporate this dependency, the required element and any transitively required elements must complete all necessary transitions (via ElementRunner.SetLevel calls) before this method will return.

Provided Methods§

Source

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

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§