Struct ferrite_session::internal::public::protocol::SendChannel    
source · [−]pub struct SendChannel<A, B>(_);Trait Implementations
sourceimpl<A, B> Protocol for SendChannel<A, B> where
    A: Protocol,
    B: Protocol, 
 
impl<A, B> Protocol for SendChannel<A, B> where
    A: Protocol,
    B: Protocol, 
type ClientEndpoint = (ReceiverOnce<A::ClientEndpoint>, B::ClientEndpoint)
type ProviderEndpoint = (SenderOnce<A::ClientEndpoint>, B::ProviderEndpoint)
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<A, P, Q> RecApp<A> for SendChannel<P, Q> where
    P: RecApp<A>,
    Q: RecApp<A>, 
 
impl<A, P, Q> RecApp<A> for SendChannel<P, Q> where
    P: RecApp<A>,
    Q: RecApp<A>, 
type Applied = SendChannel<P::Applied, Q::Applied>
type Applied = SendChannel<P, Q::Applied>
impl<A, B> SealedProtocol for SendChannel<A, B>
Auto Trait Implementations
impl<A, B> RefUnwindSafe for SendChannel<A, B> where
    A: RefUnwindSafe,
    B: RefUnwindSafe, 
impl<A, B> Send for SendChannel<A, B> where
    A: Send,
    B: Send, 
impl<A, B> Sync for SendChannel<A, B> where
    A: Sync,
    B: Sync, 
impl<A, B> Unpin for SendChannel<A, B> where
    A: Unpin,
    B: Unpin, 
impl<A, B> UnwindSafe for SendChannel<A, B> where
    A: UnwindSafe,
    B: 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