Debug, cmd remove, close connection at last response
This commit is contained in:
parent
f86793e8f2
commit
c38b24a8ed
4 changed files with 98 additions and 13 deletions
|
|
@ -4,7 +4,7 @@ use std::{
|
|||
sync::mpsc::{Receiver, Sender, channel},
|
||||
};
|
||||
|
||||
use crate::util::print_bin;
|
||||
use crate::util::{ResponseStreamer, print_bin};
|
||||
|
||||
const CLIENT_TO_SERVER: u8 = b'C';
|
||||
const SERVER_TO_CLIENT: u8 = b'S';
|
||||
|
|
@ -295,3 +295,26 @@ pub fn make_test_record(path: &str) {
|
|||
write_record(&mut file, *direction, *conn_id, *server_name, *data);
|
||||
}
|
||||
}
|
||||
|
||||
pub fn remove_record(
|
||||
input_path: &str,
|
||||
output_path: &str,
|
||||
record_to_remove: u64,
|
||||
packet_to_remove: usize,
|
||||
) {
|
||||
let records = read_record_file(input_path);
|
||||
let mut output_file = std::fs::OpenOptions::new()
|
||||
.write(true)
|
||||
.create(true)
|
||||
.truncate(true)
|
||||
.open(output_path)
|
||||
.unwrap();
|
||||
for (conn_id, (server_name, packets)) in records.into_iter() {
|
||||
let server_name = String::from_utf8(server_name).unwrap();
|
||||
for (packet_id, (direction, data)) in packets.into_iter().enumerate() {
|
||||
if conn_id != record_to_remove || packet_id != packet_to_remove {
|
||||
write_record(&mut output_file, direction, conn_id, &server_name, &data);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue