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