Session

Trait Session 

Source
pub trait Session: Sized + Send {
    type Dual: Session<Dual = Self>;
}
Available on crate feature default only.
Expand description

Trait for session types. Provides duality.

Required Associated Types§

Source

type Dual: Session<Dual = Self>

The session type dual to Self.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Session for End

Source§

impl<S1: Session, S2: Session, R: Role, N: Name> Session for MeshedChannels<S1, S2, R, N>

Available on crate feature mpst only.
Source§

type Dual = MeshedChannels<<S1 as Session>::Dual, <S2 as Session>::Dual, <R as Role>::Dual, N>

Source§

impl<T: Send, S: Session> Session for Recv<T, S>

Source§

type Dual = Send<T, <S as Session>::Dual>

Source§

impl<T: Send, S: Session> Session for Send<T, S>

Source§

type Dual = Recv<T, <S as Session>::Dual>

Source§

impl<T: Send, const CLOCK: char, const START: i128, const INCLUDE_START: bool, const END: i128, const INCLUDE_END: bool, const RESET: char, S: Session> Session for RecvTimed<T, CLOCK, START, INCLUDE_START, END, INCLUDE_END, RESET, S>

Available on crate feature binary_atmp only.
Source§

type Dual = SendTimed<T, CLOCK, START, INCLUDE_START, END, INCLUDE_END, RESET, <S as Session>::Dual>

Source§

impl<T: Send, const CLOCK: char, const START: i128, const INCLUDE_START: bool, const END: i128, const INCLUDE_END: bool, const RESET: char, S: Session> Session for SendTimed<T, CLOCK, START, INCLUDE_START, END, INCLUDE_END, RESET, S>

Available on crate feature binary_atmp only.
Source§

type Dual = RecvTimed<T, CLOCK, START, INCLUDE_START, END, INCLUDE_END, RESET, <S as Session>::Dual>