chore: refactor module structure

This commit is contained in:
Michel de Graaf
2025-07-31 20:33:30 +02:00
parent 28ecda68a6
commit 4302d74847
23 changed files with 96 additions and 52 deletions
+1
View File
@@ -17,6 +17,7 @@ use std::{
time::{Duration, Instant},
};
use crate::{debug, error, info, trace, warn};
const MAX_THREADS: usize = 100;
pub enum ClientOperation {
ConnectToPeer(Peer),
+2
View File
@@ -1,6 +1,8 @@
use crate::message::{handlers::Handlers, Message};
use std::sync::mpsc::Sender;
use crate::{debug, error, info, trace, warn};
/// Add `<Op>` to make it generic over any operation type.
pub struct MessageDispatcher<Op> {
sender: Sender<Op>,
+25
View File
@@ -0,0 +1,25 @@
// Core modules
pub mod client;
pub mod dispatcher;
pub mod message;
pub mod peer;
pub mod server;
pub mod types;
#[macro_use]
pub mod utils;
// Prelude module for commonly used items
pub mod prelude {
pub use crate::types::{
DownloadResult, DownloadStatus, File, FileSearchResult, Transfer,
};
pub use crate::{debug, error, info, trace, warn};
pub use crate::{Client, PeerAddress};
}
// Re-export commonly used types
pub use client::Client;
pub use server::PeerAddress;
pub use types::{
DownloadResult, DownloadStatus, File, FileSearchResult, Transfer,
};
+4 -18
View File
@@ -1,24 +1,10 @@
#[macro_use]
mod utils;
mod client;
mod dispatcher;
mod message;
mod peer;
mod server;
mod types;
use client::Client;
use server::PeerAddress;
use std::time::Duration;
// PeerAddress::new(String::from("server.slsknet.org"), 2416),
fn main() {
use soulseek_download::{Client, PeerAddress};
use std::time::Duration;
let mut client = Client::new(
// ServerAddress::new(String::from("localhost"), 2416),
// PeerAddress::new(String::from("127.0.0.1"), 2242),
PeerAddress::new(String::from("server.slsknet.org"), 2242),
String::from("insane_in_the_brain3"),
// String::from("invalid"),
String::from("13375137"),
);
@@ -34,7 +20,7 @@ fn main() {
}
}
Err(e) => {
error!("Failed to login: {}", e);
eprintln!("Failed to login: {}", e);
}
}
}
+6 -3
View File
@@ -1,10 +1,13 @@
pub use crate::{debug, error, info, trace, warn};
pub mod handlers;
pub mod message_reader;
mod message_reader;
pub mod peer;
pub mod server;
pub use handlers::*;
pub use message_reader::*;
// Re-export commonly used items
pub use handlers::{MessageHandler, Handlers};
pub use message_reader::MessageReader;
use std::str;
+9 -5
View File
@@ -1,6 +1,10 @@
pub mod file_search_response;
pub mod get_share_file_list;
pub mod transfer_request;
pub mod upload_failed;
mod file_search_response;
mod get_share_file_list;
mod transfer_request;
mod upload_failed;
pub use self::file_search_response::*;
// Re-export handlers
pub use file_search_response::FileSearchResponse;
pub use get_share_file_list::GetShareFileList;
pub use transfer_request::TransferRequest;
pub use upload_failed::UploadFailedHandler;
+1
View File
@@ -1,3 +1,4 @@
use crate::{debug, error, info, trace, warn};
use crate::{
message::{Message, MessageHandler},
peer::PeerOperation,
+1
View File
@@ -1,3 +1,4 @@
use crate::{debug, error, info, trace, warn};
use crate::message::{Message, MessageHandler};
use crate::peer::{ConnectionType, Peer};
use crate::server::ServerOperation;
@@ -1,3 +1,4 @@
use crate::{debug, error, info, trace, warn};
use crate::{
message::{Message, MessageHandler},
server::ServerOperation,
+1
View File
@@ -1,3 +1,4 @@
use crate::{debug, error, info, trace, warn};
use std::sync::mpsc::Sender;
use crate::{message::handlers::MessageHandler,
+1
View File
@@ -1,3 +1,4 @@
use crate::{debug, error, info, trace, warn};
use std::sync::mpsc::Sender;
use crate::{message::Message, server::ServerOperation};
+1 -1
View File
@@ -1,4 +1,4 @@
use crate::{message::Message, peer::ConnectionType, types::Transfer, utils::md5};
use crate::{message::Message, peer::ConnectionType, types::Transfer, utils::md5::md5};
pub struct MessageFactory;
impl MessageFactory {
+1
View File
@@ -2,6 +2,7 @@ use crate::{
message::{Message, MessageHandler},
server::{ServerOperation, UserMessage},
};
use crate::{debug, error, info, trace, warn};
use std::sync::mpsc::Sender;
pub struct MessageUser;
+23 -16
View File
@@ -1,18 +1,25 @@
pub mod connect_to_peer;
pub mod excluded_search_phrases;
pub mod file_search;
pub mod login;
pub mod message_factory;
pub mod message_user;
pub mod parent_min_speed;
pub mod parent_speed_ratio;
pub mod privileged_users;
pub mod room_list;
pub mod wish_list_interval;
mod connect_to_peer;
mod excluded_search_phrases;
mod file_search;
mod login;
mod message_factory;
mod message_user;
mod parent_min_speed;
mod parent_speed_ratio;
mod privileged_users;
mod room_list;
mod wish_list_interval;
pub use self::{
connect_to_peer::*, excluded_search_phrases::*, file_search::*, login::*, message_factory::*,
message_user::*, parent_min_speed::*, parent_speed_ratio::*, privileged_users::*, room_list::*,
wish_list_interval::*,
};
// Re-export handlers
pub use connect_to_peer::ConnectToPeerHandler;
pub use excluded_search_phrases::ExcludedSearchPhrasesHandler;
pub use file_search::FileSearchHandler;
pub use login::LoginHandler;
pub use message_factory::MessageFactory;
pub use message_user::MessageUser;
pub use parent_min_speed::ParentMinSpeedHandler;
pub use parent_speed_ratio::ParentSpeedRatioHandler;
pub use privileged_users::PrivilegedUsersHandler;
pub use room_list::RoomListHandler;
pub use wish_list_interval::WishListIntervalHandler;
+1
View File
@@ -1,3 +1,4 @@
use crate::{debug, error, info, trace, warn};
use std::sync::mpsc::Sender;
use crate::{
+1
View File
@@ -1,3 +1,4 @@
use crate::{debug, error, info, trace, warn};
use std::sync::mpsc::Sender;
use crate::{
+1
View File
@@ -1,3 +1,4 @@
use crate::{debug, error, info, trace, warn};
use std::sync::mpsc::Sender;
use crate::{
+1
View File
@@ -1,3 +1,4 @@
use crate::{debug, error, info, trace, warn};
use std::sync::mpsc::Sender;
use crate::{
+3 -3
View File
@@ -1,7 +1,5 @@
use crate::dispatcher::MessageDispatcher;
use crate::message::peer::get_share_file_list::GetShareFileList;
use crate::message::peer::transfer_request::TransferRequest;
use crate::message::peer::upload_failed::UploadFailedHandler;
use crate::message::peer::{GetShareFileList, TransferRequest, UploadFailedHandler};
use crate::message::peer::FileSearchResponse;
use crate::message::server::MessageFactory;
use crate::message::{Handlers, Message, MessageReader, MessageType};
@@ -18,6 +16,8 @@ use std::net::TcpStream;
use std::net::ToSocketAddrs;
use std::time::Duration;
use crate::{debug, error, info, trace, warn};
#[allow(dead_code)]
pub struct DefaultPeer {
peer: Peer,
+2
View File
@@ -4,6 +4,8 @@ use std::{io, net::TcpListener};
use crate::message::MessageReader;
use crate::server::ServerOperation;
use crate::{debug, error, info, trace, warn};
pub struct Listen {}
impl Listen {
+5 -4
View File
@@ -1,9 +1,10 @@
pub mod default_peer;
pub use default_peer::*;
pub mod download_peer;
mod default_peer;
mod download_peer;
pub mod listen;
// Re-export commonly used items
pub use default_peer::{DefaultPeer, PeerOperation};
use crate::message::Message;
use core::fmt;
use std::str::FromStr;
+3 -1
View File
@@ -14,7 +14,7 @@ use crate::message::server::WishListIntervalHandler;
use crate::message::Handlers;
use crate::message::Message;
use crate::message::MessageReader;
use crate::peer::listen::Listen;
use crate::peer::{listen::Listen};
use crate::peer::ConnectionType;
use crate::peer::Peer;
@@ -26,6 +26,8 @@ use std::sync::{Arc, Barrier, Mutex};
use std::thread::{self};
use std::time::{Duration, Instant};
use crate::{debug, error, info, trace, warn};
#[derive(Debug, Clone)]
pub struct PeerAddress {
host: String,
+2 -1
View File
@@ -4,4 +4,5 @@ pub mod md5;
pub mod thread_pool;
pub mod zlib;
pub use md5::*;
// Re-export commonly used items
pub use md5::md5;