Function tcp_handler::compress::recv
source · pub async fn recv<R: AsyncReadExt + Unpin + Send>(
stream: &mut R
) -> Result<BytesMut, PacketError>
Available on crate feature
compression
only.Expand description
Recv message in compress tcp-handler protocol.
You may use some crate to read and write data,
such as serde
,
postcard
and
variable-len-reader
.
§Arguments
stream
- The tcp stream orReadHalf
.
§Example
use anyhow::Result;
use bytes::Buf;
use tcp_handler::compress::{recv, server_init, server_start};
use tokio::net::TcpListener;
use variable_len_reader::VariableReader;
#[tokio::main]
async fn main() -> Result<()> {
let server = TcpListener::bind("localhost:25564").await?;
let (mut server, _) = server.accept().await?;
let s_init = server_init(&mut server, &"test", |v| v == "0").await;
server_start(&mut server, s_init).await?;
let mut reader = recv(&mut server).await?.reader();
let _message = reader.read_string()?;
Ok(())
}