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