fidl::endpoints

Trait RequestStream

Source
pub trait RequestStream:
    Sized
    + Send
    + Stream
    + TryStream<Error = Error>
    + Unpin {
    type Protocol: ProtocolMarker<RequestStream = Self>;
    type ControlHandle: ControlHandle;

    // Required methods
    fn control_handle(&self) -> Self::ControlHandle;
    fn from_channel(inner: AsyncChannel) -> Self;
    fn into_inner(self) -> (Arc<ServeInner>, bool);
    fn from_inner(inner: Arc<ServeInner>, is_terminated: bool) -> Self;

    // Provided method
    fn cast_stream<T: RequestStream>(self) -> T { ... }
}
Expand description

A stream of requests coming into a FIDL server over a channel.

Required Associated Types§

Source

type Protocol: ProtocolMarker<RequestStream = Self>

The protocol which this RequestStream serves.

Source

type ControlHandle: ControlHandle

The control handle for this RequestStream.

Required Methods§

Source

fn control_handle(&self) -> Self::ControlHandle

Returns a copy of the ControlHandle for the given stream. This handle can be used to send events or shut down the request stream.

Source

fn from_channel(inner: AsyncChannel) -> Self

Create a request stream from the given channel.

Source

fn into_inner(self) -> (Arc<ServeInner>, bool)

Convert this channel into its underlying components.

Source

fn from_inner(inner: Arc<ServeInner>, is_terminated: bool) -> Self

Create this channel from its underlying components.

Provided Methods§

Source

fn cast_stream<T: RequestStream>(self) -> T

Convert this FIDL request stream into a request stream of another FIDL protocol.

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§