async-socket
This crate implements a general-purpose asynchronous socket.
The Socket
implements AsyncRead, AsyncWrite, Stream and Clone traits and thus mimics the functionality and the behaviour of the TcpStream and UnixStream objects. These propertis makes it a perfect tool for testing network activities and events.
Usage
Example:
use async_socket::Socket;
use async_std::task::spawn;
use futures::io::AsyncWriteExt;
use futures::stream::StreamExt;
async fn example() {
let mut stream = Socket::default();
let mut writer = stream.clone();
spawn(async move {
writer.write(b"Hello").await.unwrap();
});
while let Some(bytes) = stream.next().await {
// ...
}
}
License: MIT