Crate packetio

Crate packetio 

Source
Expand description

§packetio

A simple, efficient Rust crate for sending and receiving length-prefixed binary packets over any Read + Write or AsyncRead + AsyncWrite stream using bincode serialization.

§Example (Sync)

writer.send_packet(&test_struct).unwrap();

let mut size_buf = [0u8; 4];
reader.read_exact(&mut size_buf).unwrap();
let size = parsing::parse_length(size_buf);

let mut packet = vec![0u8; size];
reader.read_exact(&mut packet).unwrap();

let result: TestStruct = parsing::parse_packet(packet).unwrap();

§Example (Async)

use tokio::net::TcpStream;
use packetio::AsyncPacketSender;

let mut stream = TcpStream::connect("127.0.0.1:8080").await?;
stream.send_packet_async(&my_packet).await?;

Modules§

parsing

Traits§

AsyncPacketReceiver
AsyncPacketSender
PacketReceiver
PacketSender

Functions§

recv_packet
recv_packet_async
send_packet
send_packet_async