1#![forbid(unsafe_code)]
10#![warn(missing_docs)]
11
12pub mod connection;
13pub mod endpoint;
14pub mod runtime;
15pub mod stream;
16
17pub use connection::Connection;
18pub use endpoint::{ClientConfig, Endpoint, EndpointConfig, ServerConfig, Connecting, Incoming};
19pub use stream::{RecvStream, SendStream};
20
21#[cfg(test)]
22mod tests {
23 use super::*;
24 use std::net::SocketAddr;
25
26 #[tokio::test]
27 async fn test_loopback_connection_establishment() {
28 let server_addr: SocketAddr = "127.0.0.1:0".parse().unwrap();
29 let _server_endpoint = Endpoint::bind(server_addr).await.unwrap();
30
31 let client_endpoint = Endpoint::bind("127.0.0.1:0".parse().unwrap()).await.unwrap();
32 let connecting = client_endpoint.connect(server_addr, "localhost").await.unwrap();
33
34 let _client_conn = connecting.await_connection().await.unwrap();
35 }
36}