浏览代码

removed packet function

master
Isabelle L. 5 年前
父节点
当前提交
dd0952a58f
共有 1 个文件被更改,包括 6 次插入15 次删除
  1. +6
    -15
      src/lib.rs

+ 6
- 15
src/lib.rs 查看文件

@@ -41,8 +41,6 @@ pub struct Packet {


impl Packet { impl Packet {
/// create a new `Packet` /// create a new `Packet`
///
/// should not be used when receiving data over a stream
pub fn new(kind: PacketKind, contents: Vec<u8>) -> Packet { pub fn new(kind: PacketKind, contents: Vec<u8>) -> Packet {
let checksum = digest::digest(&digest::SHA256, &contents).as_ref().to_vec(); let checksum = digest::digest(&digest::SHA256, &contents).as_ref().to_vec();
Packet { Packet {
@@ -52,17 +50,6 @@ impl Packet {
} }
} }


/// creates a new `Packet` from data received over a stream
///
/// should not be used when creating a fresh `Packet`
pub fn from_network(kind: PacketKind, contents: Vec<u8>, checksum: Vec<u8>) -> Packet {
Packet {
kind,
contents,
checksum,
}
}

fn to_network_packet(&self) -> NetworkPacket { fn to_network_packet(&self) -> NetworkPacket {
let mut contents: Vec<u8> = Vec::new(); let mut contents: Vec<u8> = Vec::new();


@@ -144,7 +131,7 @@ where
return Ok(None); return Ok(None);
} }


let packet_kind = PacketKind::from_u8(info_buf[0]).unwrap();
let kind = PacketKind::from_u8(info_buf[0]).unwrap();
let length = u32::from_le_bytes(info_buf[1..9].try_into().unwrap()) as usize; let length = u32::from_le_bytes(info_buf[1..9].try_into().unwrap()) as usize;


let mut checksum: Vec<u8> = vec![0; 32]; let mut checksum: Vec<u8> = vec![0; 32];
@@ -153,7 +140,11 @@ where
let mut contents: Vec<u8> = vec![0; length]; let mut contents: Vec<u8> = vec![0; length];
stream.read(&mut contents).await?; stream.read(&mut contents).await?;


let packet = Packet::from_network(packet_kind, contents, checksum);
let packet = Packet {
kind,
contents,
checksum,
};
packet.verify_integrity()?; packet.verify_integrity()?;


Ok(Some(packet)) Ok(Some(packet))


正在加载...
取消
保存