feat: add logging support

This commit is contained in:
Michel de Graaf
2025-07-05 23:16:05 +02:00
parent 57dafaf8ab
commit 956cb824bd
28 changed files with 765 additions and 203 deletions
+7 -1
View File
@@ -1,5 +1,5 @@
use crate::message::{Message, MessageHandler};
use crate::peer::Peer;
use crate::peer::{ConnectionType, Peer};
use crate::server::ServerOperation;
use std::sync::mpsc::Sender;
pub struct ConnectToPeerHandler;
@@ -9,6 +9,12 @@ impl MessageHandler<ServerOperation> for ConnectToPeerHandler {
}
fn handle(&self, message: &mut Message, sender: Sender<ServerOperation>) {
let peer = Peer::new_from_message(message);
match peer.connection_type {
ConnectionType::P => (),
ConnectionType::F => trace!("[server] ConnectToPeer {:?}", peer),
ConnectionType::D => (),
}
sender.send(ServerOperation::ConnectToPeer(peer)).unwrap();
}
}
@@ -20,6 +20,6 @@ impl MessageHandler<ServerOperation> for ExcludedSearchPhrasesHandler {
let phrase = message.read_string();
exluded_phrases.push(phrase);
}
println!("Excluded search phrases: {:?}", exluded_phrases);
debug!("Excluded search phrases: {:?}", exluded_phrases);
}
}
+2 -2
View File
@@ -12,11 +12,11 @@ impl MessageHandler<ServerOperation> for FileSearchHandler {
26
}
fn handle(&self, message: &mut Message, _sender: Sender<ServerOperation>) {
println!("Handling file search message");
debug!("Handling file search message");
let username = message.read_string();
let token = message.read_int32();
let query = message.read_string();
println!(
info!(
"Message search username:{}, token: {}, query: {}",
username, token, query
);
+2 -2
View File
@@ -20,9 +20,9 @@ impl MessageHandler<ServerOperation> for LoginHandler {
return sender.send(ServerOperation::LoginStatus(false)).unwrap();
}
println!("Login successful");
info!("Login successful");
let greeting = message.read_string();
println!("Server greeting: {:?}", greeting);
debug!("Server greeting: {:?}", greeting);
sender.send(ServerOperation::LoginStatus(true)).unwrap();
}
+29 -8
View File
@@ -1,4 +1,4 @@
use crate::{message::Message, utils::md5};
use crate::{message::Message, types::Transfer, utils::md5};
pub struct MessageFactory;
impl MessageFactory {
@@ -18,7 +18,7 @@ impl MessageFactory {
// ]
// .to_vec(),
// )
// .clone()
// .clone()fac
let hash = md5([username, password].join("").as_str());
let mut message = Message::new();
@@ -34,14 +34,14 @@ impl MessageFactory {
message
}
pub fn build_shared_folders_message(folder_count: i32, file_count: i32) -> Message {
pub fn build_shared_folders_message(folder_count: u32, file_count: u32) -> Message {
Message::new()
.write_int32(35)
.write_int32(folder_count)
.write_int32(file_count)
.clone()
}
pub fn build_file_search_message(token: i32, query: &str) -> Message {
pub fn build_file_search_message(token: u32, query: &str) -> Message {
// Message::new_with_data(
// [
// 26, 0, 0, 0, 219, 178, 47, 28, 11, 0, 0, 0, 116, 104, 101, 32, 119, 101, 101, 107, 101,
@@ -56,7 +56,7 @@ impl MessageFactory {
.write_string(query)
.clone()
}
pub fn build_set_status_message(status_code: i32) -> Message {
pub fn build_set_status_message(status_code: u32) -> Message {
Message::new()
.write_int32(28)
.write_int32(status_code)
@@ -68,17 +68,38 @@ impl MessageFactory {
pub fn build_set_wait_port_message() -> Message {
Message::new().write_int32(2).write_int32(2234).clone()
}
pub fn build_watch_user(token: &str) -> Message {
pub fn build_watch_user(token: u32) -> Message {
Message::new()
.write_raw_bytes([5, 0, 0, 0, 0].to_vec())
.write_raw_hex_string(token)
.write_int32(token)
.clone()
}
pub fn build_queue_upload_message(filename: &str) -> Message {
Message::new()
.write_int32(43)
.write_string(filename)
.clone()
}
pub fn build_transfer_response_message(transfer: Transfer) -> Message {
Message::new()
.write_int32(41)
.write_int32(transfer.token)
.write_bool(true)
.clone()
}
pub fn build_pierce_firewall_message(token: u32) -> Message {
Message::new()
.write_int32(0) // PierceFirewall message code
.write_int32(token)
.clone()
}
}
#[test]
fn test_build_watch_user() {
let token = "5b581500";
let token: u32 = 223;
let message = MessageFactory::build_watch_user(token);
let expect: Vec<u8> = [5, 0, 0, 0, 0, 91, 88, 21, 0].to_vec();
+1 -1
View File
@@ -25,7 +25,7 @@ impl MessageHandler<ServerOperation> for MessageUser {
new_message,
);
println!("User message received:",);
info!("User message received:");
user_message.print()
}
}
+1 -1
View File
@@ -15,6 +15,6 @@ impl MessageHandler<ServerOperation> for ParentMinSpeedHandler {
fn handle(&self, message: &mut Message, sender: Sender<ServerOperation>) {
let _ = sender;
let number = message.read_int32();
println!("Parent min speed: {}", number);
debug!("Parent min speed: {}", number);
}
}
+1 -1
View File
@@ -15,6 +15,6 @@ impl MessageHandler<ServerOperation> for ParentSpeedRatioHandler {
fn handle(&self, message: &mut Message, _sender: Sender<ServerOperation>) {
let number = message.read_int32();
println!("Parent min speed: {}", number);
debug!("Parent speed ratio: {}", number);
}
}
+1 -1
View File
@@ -14,6 +14,6 @@ impl MessageHandler<ServerOperation> for PrivilegedUsersHandler {
fn handle(&self, message: &mut Message, _sender: Sender<ServerOperation>) {
let number = message.read_int32();
println!("Number of privilaged users: {}", number);
debug!("Number of privileged users: {}", number);
}
}
+1 -1
View File
@@ -16,6 +16,6 @@ impl MessageHandler<ServerOperation> for WishListIntervalHandler {
fn handle(&self, message: &mut Message, _sender: Sender<ServerOperation>) {
let number = message.read_int32();
println!("Wishlist search interval: {} in seconds", number);
debug!("Wishlist search interval: {} in seconds", number);
}
}