Struct ferrite_session::internal::protocol::public::ExternalChoice
source · [−]pub struct ExternalChoice<Row>(_);
Trait Implementations
sourceimpl<Row> Protocol for ExternalChoice<Row> where
Row: ToRow + Send + 'static,
impl<Row> Protocol for ExternalChoice<Row> where
Row: ToRow + Send + 'static,
type ClientEndpoint = SenderOnce<AppSum<'static, Row::Row, ProviderEndpointF>>
type ProviderEndpoint = ReceiverOnce<AppSum<'static, Row::Row, ProviderEndpointF>>
fn create_endpoints() -> (Self::ProviderEndpoint, Self::ClientEndpoint)
fn forward(
client_end: Self::ClientEndpoint,
provider_end: Self::ProviderEndpoint
) -> Pin<Box<dyn Future<Output = ()> + Send + 'static>>
sourceimpl<R, Row1, Row2, Row3> RecApp<R> for ExternalChoice<Row1> where
R: Send + 'static,
Row2: RowCon,
Row1: Send + 'static,
Row1: ToRow<Row = Row2>,
Row2: RecApp<R, Applied = Row3>,
Row3: RowCon,
impl<R, Row1, Row2, Row3> RecApp<R> for ExternalChoice<Row1> where
R: Send + 'static,
Row2: RowCon,
Row1: Send + 'static,
Row1: ToRow<Row = Row2>,
Row2: RecApp<R, Applied = Row3>,
Row3: RowCon,
type Applied = ExternalChoice<RecRow<R, Row1>>
type Applied = ExternalChoice<SharedRecRow<R, Row1>>
impl<Row> SealedProtocol for ExternalChoice<Row>
Auto Trait Implementations
impl<Row> RefUnwindSafe for ExternalChoice<Row> where
Row: RefUnwindSafe,
impl<Row> Send for ExternalChoice<Row> where
Row: Send,
impl<Row> Sync for ExternalChoice<Row> where
Row: Sync,
impl<Row> Unpin for ExternalChoice<Row> where
Row: Unpin,
impl<Row> UnwindSafe for ExternalChoice<Row> where
Row: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more