chore: refactor default peer

This commit is contained in:
Michel de Graaf
2025-11-04 18:48:32 +01:00
parent c346c56297
commit d11c6782a7
8 changed files with 154 additions and 168 deletions
+1
View File
@@ -358,6 +358,7 @@ impl Message {
))),
},
MessageType::Peer => match code {
1 => Ok("PeerInit"),
4 => Ok("GetShareFileList"),
5 => Ok("SharedFileListResponse"),
9 => Ok("FileSearchResponse"),
+2
View File
@@ -1,5 +1,6 @@
mod file_search_response;
mod get_share_file_list;
mod peer_init;
mod place_in_queue_response;
mod transfer_request;
mod transfer_response;
@@ -8,6 +9,7 @@ mod upload_failed;
// Re-export handlers
pub use file_search_response::FileSearchResponse;
pub use get_share_file_list::GetShareFileList;
pub use peer_init::PeerInit;
pub use place_in_queue_response::PlaceInQueueResponse;
pub use transfer_request::TransferRequest;
pub use transfer_response::TransferResponse;
+20
View File
@@ -0,0 +1,20 @@
use std::sync::mpsc::Sender;
use crate::{
message::{Message, MessageHandler},
peer::PeerOperation,
};
pub struct PeerInit;
impl MessageHandler<PeerOperation> for PeerInit {
fn get_code(&self) -> u8 {
1
}
fn handle(&self, message: &mut Message, sender: Sender<PeerOperation>) {
message.set_pointer(4);
let _message_code = message.read_int8();
let username = message.read_string();
sender.send(PeerOperation::SetUsername(username)).unwrap();
}
}
-2
View File
@@ -3,12 +3,10 @@ use std::sync::mpsc::Sender;
use crate::{message::Message, server::ServerOperation};
// IMPORTANT: note the generic trait is now `MessageHandler<ServerOperation>`
use crate::message::MessageHandler;
pub struct LoginHandler;
// Implement `MessageHandler` specifically for `ServerOperation`.
impl MessageHandler<ServerOperation> for LoginHandler {
fn get_code(&self) -> u8 {
1