mirror of https://github.com/Revertron/Alfis
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
511 B
Rust
20 lines
511 B
Rust
use std::io::{Read, Result, Write};
|
|
use std::net::TcpStream;
|
|
|
|
pub fn read_packet_length(stream: &mut TcpStream) -> Result<u16> {
|
|
let mut len_buffer = [0; 2];
|
|
stream.read_exact(&mut len_buffer)?;
|
|
|
|
Ok(((len_buffer[0] as u16) << 8) | (len_buffer[1] as u16))
|
|
}
|
|
|
|
pub fn write_packet_length(stream: &mut TcpStream, len: usize) -> Result<()> {
|
|
let mut len_buffer = [0; 2];
|
|
len_buffer[0] = (len >> 8) as u8;
|
|
len_buffer[1] = (len & 0xFF) as u8;
|
|
|
|
stream.write_all(&len_buffer)?;
|
|
|
|
Ok(())
|
|
}
|