Kaynağa Gözat

removed packet function

master
Isabelle L. 5 yıl önce
ebeveyn
işleme
dd0952a58f
1 değiştirilmiş dosya ile 6 ekleme ve 15 silme
  1. +6
    -15
      src/lib.rs

+ 6
- 15
src/lib.rs Dosyayı Görüntüle

@@ -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))


Yükleniyor…
İptal
Kaydet