1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
use crate::traits;

pub type EndpointConnectConnectionFor<T> =
    <<T as traits::EndpointConnect>::Connecting as traits::Connecting>::Connection;

pub type EndpointAcceptConnectionFor<T> = RequestConnectionFor<EndpointAcceptRequestFor<T>>;

pub type EndpointAcceptRequestFor<T> =
    <<T as traits::EndpointAccept>::Accepting as traits::Accepting>::Request;

pub type RequestConnectionFor<T> = <T as traits::Request>::Connection;

pub type AcceptingConnectionFor<T> = RequestConnectionFor<<T as traits::Accepting>::Request>;

pub type BiStreamOpeningErrorFor<T> =
    <<T as traits::OpenBiStream>::Opening as traits::OpeningBiStream>::Error;

pub type UniStreamOpeningErrorFor<T> =
    <<T as traits::OpenUniStream>::Opening as traits::OpeningUniStream>::Error;

pub type SendStreamFor<T> = <T as traits::Streams>::SendStream;

pub type RecvStreamFor<T> = <T as traits::Streams>::RecvStream;

pub type SendUniStreamFor<T> =
    <<<T as traits::OpenUniStream>::Opening as traits::OpeningUniStream>::Streams as traits::Streams>::SendStream;

pub type RecvUniStreamFor<T> =
    <<<T as traits::OpenUniStream>::Opening as traits::OpeningUniStream>::Streams as traits::Streams>::RecvStream;

pub type BiStreamsFor<T> = traits::BiStreamsFor<
    <<T as traits::OpenBiStream>::Opening as traits::OpeningBiStream>::Streams,
>;