pub trait NodeControllerServerHandler<___T: Transport = Channel> {
// Required methods
fn remove(&mut self) -> impl Future<Output = ()> + Send;
fn request_bind(
&mut self,
request: Request<RequestBind, ___T>,
responder: Responder<RequestBind, ___T>,
) -> impl Future<Output = ()> + Send;
fn wait_for_driver(
&mut self,
responder: Responder<WaitForDriver, ___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 NodeController protocol.
See NodeController for more details.
Required Methods§
Sourcefn remove(&mut self) -> impl Future<Output = ()> + Send
fn remove(&mut self) -> impl Future<Output = ()> + Send
Removes the node and all of its children.
Sourcefn request_bind(
&mut self,
request: Request<RequestBind, ___T>,
responder: Responder<RequestBind, ___T>,
) -> impl Future<Output = ()> + Send
fn request_bind( &mut self, request: Request<RequestBind, ___T>, responder: Responder<RequestBind, ___T>, ) -> impl Future<Output = ()> + Send
Request that the framework attempts to bind a driver to this node. This is an additional request for binding as the framework attempts to bind a node once when the node is created.
- error
ZX_ERR_ALREADY_BOUNDif the node is already bound andforce_rebindis false. - error
ZX_ERR_ALREADY_EXISTSif the node has an outstanding |RequestBind| call which has not completed.
Sourcefn wait_for_driver(
&mut self,
responder: Responder<WaitForDriver, ___T>,
) -> impl Future<Output = ()> + Send
fn wait_for_driver( &mut self, responder: Responder<WaitForDriver, ___T>, ) -> impl Future<Output = ()> + Send
Hanging get style call that returns a terminal state for the associated Node,
or the composite node that is parented by this node.
For a successfully started driver this returns immediately with the token of the
node that the driver started on.
If an error happens we wait until bootup is complete, which is when all drivers that
can bind and start have done so, before returning the error.
Provided Methods§
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.