chore: refactor module structure
This commit is contained in:
@@ -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),
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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;
|
||||
|
||||
|
||||
@@ -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,3 +1,4 @@
|
||||
use crate::{debug, error, info, trace, warn};
|
||||
use crate::{
|
||||
message::{Message, MessageHandler},
|
||||
peer::PeerOperation,
|
||||
|
||||
@@ -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,3 +1,4 @@
|
||||
use crate::{debug, error, info, trace, warn};
|
||||
use std::sync::mpsc::Sender;
|
||||
|
||||
use crate::{message::handlers::MessageHandler,
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
use crate::{debug, error, info, trace, warn};
|
||||
use std::sync::mpsc::Sender;
|
||||
|
||||
use crate::{message::Message, server::ServerOperation};
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
@@ -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,3 +1,4 @@
|
||||
use crate::{debug, error, info, trace, warn};
|
||||
use std::sync::mpsc::Sender;
|
||||
|
||||
use crate::{
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
use crate::{debug, error, info, trace, warn};
|
||||
use std::sync::mpsc::Sender;
|
||||
|
||||
use crate::{
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
use crate::{debug, error, info, trace, warn};
|
||||
use std::sync::mpsc::Sender;
|
||||
|
||||
use crate::{
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
use crate::{debug, error, info, trace, warn};
|
||||
use std::sync::mpsc::Sender;
|
||||
|
||||
use crate::{
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user