pub trait NodeControllerServerHandler<___T: Transport = Channel> {
// Required methods
fn remove(
&mut self,
sender: &ServerSender<NodeController, ___T>,
) -> impl Future<Output = ()> + Send;
fn request_bind(
&mut self,
sender: &ServerSender<NodeController, ___T>,
request: Request<RequestBind, ___T>,
responder: Responder<RequestBind>,
) -> impl Future<Output = ()> + Send;
fn wait_for_driver(
&mut self,
sender: &ServerSender<NodeController, ___T>,
responder: Responder<WaitForDriver>,
) -> impl Future<Output = ()> + Send;
// Provided method
fn on_unknown_interaction(
&mut self,
sender: &ServerSender<NodeController, ___T>,
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,
sender: &ServerSender<NodeController, ___T>,
) -> impl Future<Output = ()> + Send
fn remove( &mut self, sender: &ServerSender<NodeController, ___T>, ) -> impl Future<Output = ()> + Send
Removes the node and all of its children.
Sourcefn request_bind(
&mut self,
sender: &ServerSender<NodeController, ___T>,
request: Request<RequestBind, ___T>,
responder: Responder<RequestBind>,
) -> impl Future<Output = ()> + Send
fn request_bind( &mut self, sender: &ServerSender<NodeController, ___T>, request: Request<RequestBind, ___T>, responder: Responder<RequestBind>, ) -> 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_BOUND
if the node is already bound andforce_rebind
is false. - error
ZX_ERR_ALREADY_EXISTS
if the node has an outstanding |RequestBind| call which has not completed.
Sourcefn wait_for_driver(
&mut self,
sender: &ServerSender<NodeController, ___T>,
responder: Responder<WaitForDriver>,
) -> impl Future<Output = ()> + Send
fn wait_for_driver( &mut self, sender: &ServerSender<NodeController, ___T>, responder: Responder<WaitForDriver>, ) -> 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§
fn on_unknown_interaction( &mut self, sender: &ServerSender<NodeController, ___T>, 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.