Files
tokio/tokio-net/tests/tcp_split.rs
T

26 lines
735 B
Rust
Raw Normal View History

2019-08-15 20:37:25 -07:00
use tokio_net::tcp::{TcpListener, TcpStream};
2019-06-29 14:36:49 +08:00
#[tokio::test]
async fn split_reunite() -> std::io::Result<()> {
let listener = TcpListener::bind("127.0.0.1:0").await?;
let addr = listener.local_addr()?;
let stream = TcpStream::connect(&addr).await?;
2019-06-29 14:36:49 +08:00
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").await?;
let addr = listener.local_addr()?;
let stream = TcpStream::connect(&addr).await?;
let stream1 = TcpStream::connect(&addr).await?;
2019-06-29 14:36:49 +08:00
let (r, _) = stream.split();
let (_, w) = stream1.split();
assert!(r.reunite(w).is_err());
Ok(())
}