pub trait ControllerServerHandler<___T: Transport> {
// Required methods
fn start(
&mut self,
sender: &ServerSender<___T, Controller>,
request: RequestBuffer<___T, Start>,
responder: Responder<Start>,
);
fn is_started(
&mut self,
sender: &ServerSender<___T, Controller>,
responder: Responder<IsStarted>,
);
fn get_exposed_dictionary(
&mut self,
sender: &ServerSender<___T, Controller>,
responder: Responder<GetExposedDictionary>,
);
fn destroy(
&mut self,
sender: &ServerSender<___T, Controller>,
responder: Responder<Destroy>,
);
// Provided method
fn on_unknown_interaction(
&mut self,
sender: &ServerSender<___T, Controller>,
ordinal: u64,
) { ... }
}
Expand description
A server handler for the Controller protocol.
See Controller
for more details.
Required Methods§
Sourcefn start(
&mut self,
sender: &ServerSender<___T, Controller>,
request: RequestBuffer<___T, Start>,
responder: Responder<Start>,
)
fn start( &mut self, sender: &ServerSender<___T, Controller>, request: RequestBuffer<___T, Start>, responder: Responder<Start>, )
Start the component, optionally providing additional handles to be given to the component. Returns INSTANCE_ALREADY_RUNNING if the instance is currently running.
Sourcefn is_started(
&mut self,
sender: &ServerSender<___T, Controller>,
responder: Responder<IsStarted>,
)
fn is_started( &mut self, sender: &ServerSender<___T, Controller>, responder: Responder<IsStarted>, )
Returns true if this instance is currently running.
Sourcefn get_exposed_dictionary(
&mut self,
sender: &ServerSender<___T, Controller>,
responder: Responder<GetExposedDictionary>,
)
fn get_exposed_dictionary( &mut self, sender: &ServerSender<___T, Controller>, responder: Responder<GetExposedDictionary>, )
Returns the dictionary containing the component’s exposed capabilities.
Sourcefn destroy(
&mut self,
sender: &ServerSender<___T, Controller>,
responder: Responder<Destroy>,
)
fn destroy( &mut self, sender: &ServerSender<___T, Controller>, responder: Responder<Destroy>, )
Destroys this component. When this method returns, either:
- Ok was returned, indicating destruction has begun.
- An error was returned, and destruction will not be attempted.
If Ok was returned, destruction will proceed in the background, but it hasn’t necessarily completed yet. When it completes, the framework will close this Controller channel.
Errors:
ACCESS_DENIED
: Destruction of this component is not allowed. Currently, this can happen if the component is a static child of its parent.