chore: refactor default peer
This commit is contained in:
@@ -358,6 +358,7 @@ impl Message {
|
||||
))),
|
||||
},
|
||||
MessageType::Peer => match code {
|
||||
1 => Ok("PeerInit"),
|
||||
4 => Ok("GetShareFileList"),
|
||||
5 => Ok("SharedFileListResponse"),
|
||||
9 => Ok("FileSearchResponse"),
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user