Function tcp_handler::compress::send
source · pub async fn send<W: AsyncWriteExt + Unpin + Send, B: Buf>(
stream: &mut W,
message: &mut B,
level: Compression
) -> Result<(), PacketError>
Available on crate feature
compression
only.Expand description
Send 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 orWriteHalf
.message
- The message to send.level
- The level of compression.
§Example
use anyhow::Result;
use bytes::{BufMut, BytesMut};
use flate2::Compression;
use tcp_handler::compress::{client_init, client_start, send};
use tokio::net::TcpStream;
use variable_len_reader::VariableWriter;
#[tokio::main]
async fn main() -> Result<()> {
let mut client = TcpStream::connect("localhost:25564").await?;
let c_init = client_init(&mut client, &"test", &"0").await;
client_start(&mut client, c_init).await?;
let mut writer = BytesMut::new().writer();
writer.write_string("hello server.")?;
send(&mut client, &mut writer.into_inner(), Compression::default()).await?;
Ok(())
}