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 = ()>;
fn add_dependency(
&mut self,
request: Request<AddDependency, ___T>,
responder: Responder<AddDependency, ___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§
Sourcefn open_status_channel(
&mut self,
request: Request<OpenStatusChannel, ___T>,
) -> impl Future<Output = ()>
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.
Sourcefn register_dependency_token(
&mut self,
request: Request<RegisterDependencyToken, ___T>,
responder: Responder<RegisterDependencyToken, ___T>,
) -> impl Future<Output = ()>
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.
Sourcefn unregister_dependency_token(
&mut self,
request: Request<UnregisterDependencyToken, ___T>,
responder: Responder<UnregisterDependencyToken, ___T>,
) -> impl Future<Output = ()>
fn unregister_dependency_token( &mut self, request: Request<UnregisterDependencyToken, ___T>, responder: Responder<UnregisterDependencyToken, ___T>, ) -> impl Future<Output = ()>
Unregister a token previously registered via RegisterDependencyToken.
Sourcefn add_dependency(
&mut self,
request: Request<AddDependency, ___T>,
responder: Responder<AddDependency, ___T>,
) -> impl Future<Output = ()>
fn add_dependency( &mut self, request: Request<AddDependency, ___T>, responder: Responder<AddDependency, ___T>, ) -> impl Future<Output = ()>
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§
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.