fn wrap<Tx, Rx>(tx: Tx, rx: Rx) -> Chan<Self, Tx, Rx>
    where
        Tx: Send + 'static,
        Rx: Send + 'static,
    {
        Chan::from_raw_unchecked(tx, rx)
    }
/// Given a transmitting and receiving end of an un-session-typed connection, wrap them in a new
/// session-typed channel for the protocol `P.`
///
/// It is expected that the other ends of these connections will be wrapped in a channel with
/// the [`Dual`](crate::Session::Dual) session type.
///
/// # Examples
///
/// ```
/// use dialectic::prelude::*;
/// use dialectic_tokio_mpsc as mpsc;
///
/// # #[tokio::main]
/// # async fn main() {
/// let (tx, rx) = mpsc::unbounded_channel();
/// let c = <Session! { /* ... */ }>::wrap(tx, rx);
/// c.close();
/// # }
/// ```
Given a transmitting and receiving end of an un-session-typed connection, wrap them in a new
session-typed channel for the protocol `P.`

It is expected that the other ends of these connections will be wrapped in a channel with
the [`Dual`](crate::Session::Dual) session type.
Given a transmitting and receiving end of an un - session - typed connection wrap them in a new session - typed channel for the protocol ` P . ` It is expected that the other ends of these connections will be wrapped in a channel with the [ ` Dual ` ] ( crate :: Session :: Dual ) session type .
fn wrap<Tx, Rx>(tx: Tx, rx: Rx) -> Chan<Self, Tx, Rx>
    where
        Tx: Send + 'static,
        Rx: Send + 'static,
    {
        Chan::from_raw_unchecked(tx, rx)
    }
fn wrap < Tx , Rx > ( tx : Tx , rx : Rx ) -> Chan < Self , Tx , Rx > where Tx : Send + ' static , Rx : Send + ' static , { Chan :: from_raw_unchecked ( tx , rx ) }
Given a transmitting and receiving end of an un-session-typed connection, wrap them in a new
session-typed channel for the protocol `P.`
Given a transmitting and receiving end of an un - session - typed connection wrap them in a new session - typed channel for the protocol ` P . `
tx
Tx
rx
Rx
examples
```
use dialectic::prelude::*;
use dialectic_tokio_mpsc as mpsc.
` ` ` use dialectic :: prelude :: * ; use dialectic_tokio_mpsc as mpsc .
#[tokio::main]
None
async fn main() {
let (tx, rx) = mpsc::unbounded_channel();
let c = <Session.
let ( tx rx ) = mpsc :: unbounded_channel () ; let c = <Session .
}
None