tokio/tokio-tcp/tests/split.rs
2019-06-28 23:36:49 -07:00

26 lines
756 B
Rust

#![feature(async_await)]
use tokio_tcp::{TcpListener, TcpStream};
#[tokio::test]
async fn split_reunite() -> std::io::Result<()> {
let listener = TcpListener::bind(&"127.0.0.1:0".parse().unwrap())?;
let stream = TcpStream::connect(&listener.local_addr()?).await?;
let (r, w) = stream.split();
assert!(r.reunite(w).is_ok());
Ok(())
}
#[tokio::test]
async fn split_reunite_error() -> std::io::Result<()> {
let listener = TcpListener::bind(&"127.0.0.1:0".parse().unwrap())?;
let stream = TcpStream::connect(&listener.local_addr()?).await?;
let stream1 = TcpStream::connect(&listener.local_addr()?).await?;
let (r, _) = stream.split();
let (_, w) = stream1.split();
assert!(r.reunite(w).is_err());
Ok(())
}