Trait NodeControllerServerHandler

Source
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§

Source

fn remove( &mut self, sender: &ServerSender<NodeController, ___T>, ) -> impl Future<Output = ()> + Send

Removes the node and all of its children.

Source

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 and force_rebind is false.
  • error ZX_ERR_ALREADY_EXISTS if the node has an outstanding |RequestBind| call which has not completed.
Source

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§

Source

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.

Implementors§