Struct ferrite_session::internal::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