pub trait ChannelLocalServerHandler<___T: Transport = Channel> {
// Required methods
fn send_message(
&mut self,
request: Request<SendMessage, ___T>,
responder: Responder<SendMessage, ___T>,
) -> impl Future<Output = ()>;
fn send_request(
&mut self,
request: Request<SendRequest, ___T>,
responder: Responder<SendRequest, ___T>,
) -> impl Future<Output = ()>;
fn register_listener(
&mut self,
request: Request<RegisterListener, ___T>,
responder: Responder<RegisterListener, ___T>,
) -> impl Future<Output = ()>;
// Provided method
fn on_unknown_interaction(
&mut self,
ordinal: u64,
) -> impl Future<Output = ()> { ... }
}Expand description
A server handler for the Channel protocol.
See Channel for more details.
Required Methods§
Sourcefn send_message(
&mut self,
request: Request<SendMessage, ___T>,
responder: Responder<SendMessage, ___T>,
) -> impl Future<Output = ()>
fn send_message( &mut self, request: Request<SendMessage, ___T>, responder: Responder<SendMessage, ___T>, ) -> impl Future<Output = ()>
Writes the message to the mailbox, interrupts the destination core, and (if applicable) waits for the destination core to ack the message.
Returns ZX_ERR_OUT_OF_RANGE if message is larger than what the hardware can support.
Sourcefn send_request(
&mut self,
request: Request<SendRequest, ___T>,
responder: Responder<SendRequest, ___T>,
) -> impl Future<Output = ()>
fn send_request( &mut self, request: Request<SendRequest, ___T>, responder: Responder<SendRequest, ___T>, ) -> impl Future<Output = ()>
Writes the request to the mailbox, interrupts the destination core, and waits for the destination core to send a response.
Returns ZX_ERR_OUT_OF_RANGE if request is larger than what the hardware can support.
Returns ZX_ERR_NOT_SUPPORTED if the destination core does not support correlating
requests to responses.
Sourcefn register_listener(
&mut self,
request: Request<RegisterListener, ___T>,
responder: Responder<RegisterListener, ___T>,
) -> impl Future<Output = ()>
fn register_listener( &mut self, request: Request<RegisterListener, ___T>, responder: Responder<RegisterListener, ___T>, ) -> impl Future<Output = ()>
Registers a listener for incoming messages on this channel. Multiple listeners may NOT be
registered at a time. If a listener is already registered, this call will fail with
ZX_ERR_ALREADY_BOUND.
To unregister a listener, the server will close its end of the channel. Another listener may be registered after the previous listener has been unregistered.
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.