mirror of
https://github.com/EFForg/rayhunter.git
synced 2026-06-30 06:02:06 -07:00
Refactors in response to review comments
A few minor refactors, and a more major one that renames RecordingStore's update_entry_qmdl_size to update_current_entry_qmdl_size, since the only time we're ever updating an entry's QMDL size is when it's the current one.
This commit is contained in:
committed by
Brad Warren
parent
10f560b5e4
commit
9627cec737
@@ -1,6 +1,5 @@
|
||||
//! Diag protocol serialization/deserialization
|
||||
|
||||
use bytes::Bytes;
|
||||
use chrono::{DateTime, FixedOffset};
|
||||
use crc::{Algorithm, Crc};
|
||||
use deku::prelude::*;
|
||||
@@ -97,12 +96,6 @@ impl MessagesContainer {
|
||||
}
|
||||
}
|
||||
|
||||
impl From<MessagesContainer> for Bytes {
|
||||
fn from(value: MessagesContainer) -> Self {
|
||||
value.to_bytes().unwrap().into()
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, DekuRead, DekuWrite)]
|
||||
pub struct HdlcEncapsulatedMessage {
|
||||
pub len: u32,
|
||||
|
||||
+10
-7
@@ -45,14 +45,14 @@ where
|
||||
pub async fn write_container(&mut self, container: &MessagesContainer) -> std::io::Result<()> {
|
||||
for msg in &container.messages {
|
||||
self.writer.write_all(&msg.data).await?;
|
||||
self.writer.flush().await?;
|
||||
}
|
||||
self.writer.flush().await?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
pub async fn close(mut self) -> std::io::Result<()> {
|
||||
pub async fn close(mut self) -> std::io::Result<usize> {
|
||||
self.writer.shutdown().await?;
|
||||
Ok(())
|
||||
self.size().await
|
||||
}
|
||||
}
|
||||
|
||||
@@ -298,7 +298,7 @@ mod test {
|
||||
hdlcs.iter().map(|hdlc| hdlc.data.len()).collect(),
|
||||
)
|
||||
};
|
||||
for truncated_hdlc_i in 1..hdlcs.len() - 1 {
|
||||
for truncated_hdlc_i in 1..hdlcs.len() {
|
||||
let whole_bytes: usize = message_lengths.iter().take(truncated_hdlc_i).sum();
|
||||
for truncated_byte in 1..message_lengths[truncated_hdlc_i] {
|
||||
let mut truncated_bytes = Cursor::new(&bytes[0..whole_bytes + truncated_byte]);
|
||||
@@ -360,15 +360,18 @@ mod test {
|
||||
async fn run_compressed_reading_and_writing_tests(do_close: bool) {
|
||||
let containers = get_test_containers();
|
||||
let mut buf = Cursor::new(Vec::new());
|
||||
{
|
||||
let writer_size = {
|
||||
let mut writer = QmdlWriter::new(&mut buf);
|
||||
for container in &containers {
|
||||
writer.write_container(&container).await.unwrap();
|
||||
}
|
||||
if do_close {
|
||||
writer.close().await.unwrap();
|
||||
writer.close().await.unwrap()
|
||||
} else {
|
||||
writer.size().await.unwrap()
|
||||
}
|
||||
}
|
||||
};
|
||||
assert_eq!(buf.position() as usize, writer_size);
|
||||
buf.set_position(0);
|
||||
let mut reader = QmdlMessageReader::new(buf).await.unwrap();
|
||||
assert!(reader.is_compressed());
|
||||
|
||||
Reference in New Issue
Block a user