From c2ace46c20abaf347be91135bcabac28de0ca956 Mon Sep 17 00:00:00 2001 From: Tipragot Date: Sun, 11 Feb 2024 11:36:26 +0000 Subject: [PATCH] Simplify the relay server code (#41) Reviewed-on: https://git.tipragot.fr/corentin/border-wars/pulls/41 Reviewed-by: Corentin Co-authored-by: Tipragot Co-committed-by: Tipragot --- Cargo.lock | 24 ++++++------ crates/bevnet-relay/Cargo.toml | 38 ------------------- crates/relay-server/Cargo.toml | 20 ++++++++++ .../server.rs => relay-server/src/main.rs} | 3 +- 4 files changed, 33 insertions(+), 52 deletions(-) delete mode 100644 crates/bevnet-relay/Cargo.toml create mode 100644 crates/relay-server/Cargo.toml rename crates/{bevnet-relay/src/bin/server.rs => relay-server/src/main.rs} (98%) diff --git a/Cargo.lock b/Cargo.lock index 27cbc39..9e70aac 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -475,18 +475,6 @@ dependencies = [ "local-ip-address", ] -[[package]] -name = "bevnet-relay" -version = "0.2.0" -dependencies = [ - "axum", - "dashmap", - "futures", - "lazy_static", - "rand", - "tokio", -] - [[package]] name = "bevy" version = "0.12.1" @@ -3617,6 +3605,18 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" +[[package]] +name = "relay-server" +version = "0.2.0" +dependencies = [ + "axum", + "dashmap", + "futures", + "lazy_static", + "rand", + "tokio", +] + [[package]] name = "renderdoc-sys" version = "1.0.0" diff --git a/crates/bevnet-relay/Cargo.toml b/crates/bevnet-relay/Cargo.toml deleted file mode 100644 index da48be0..0000000 --- a/crates/bevnet-relay/Cargo.toml +++ /dev/null @@ -1,38 +0,0 @@ -[package] -name = "bevnet-relay" -version = "0.2.0" -edition = "2021" -license = "GPL-3.0-or-later" -description = "A relay server for bevnet." -authors = ["Tipragot "] -keywords = ["bevy", "network", "game"] -categories = ["network-programming", "game-development"] - -[lints] -workspace = true - -[dependencies] -tokio = { version = "1.36.0", features = [ - "macros", - "rt-multi-thread", -], optional = true } -axum = { version = "0.7.4", features = ["ws"], optional = true } -lazy_static = { version = "1.4.0", optional = true } -futures = { version = "0.3.30", optional = true } -dashmap = { version = "5.5.3", optional = true } -rand = { version = "0.8.5", optional = true } - -[features] -default = [] -server = [ - "dep:tokio", - "dep:axum", - "dep:lazy_static", - "dep:futures", - "dep:dashmap", - "dep:rand", -] - -[[bin]] -name = "server" -required-features = ["server"] diff --git a/crates/relay-server/Cargo.toml b/crates/relay-server/Cargo.toml new file mode 100644 index 0000000..23c0189 --- /dev/null +++ b/crates/relay-server/Cargo.toml @@ -0,0 +1,20 @@ +[package] +name = "relay-server" +version = "0.2.0" +edition = "2021" +license = "GPL-3.0-or-later" +description = "A relay server for bevnet." +authors = ["Tipragot "] +keywords = ["bevy", "network", "game"] +categories = ["network-programming", "game-development"] + +[lints] +workspace = true + +[dependencies] +tokio = { version = "1.36.0", features = ["macros", "rt-multi-thread"] } +axum = { version = "0.7.4", features = ["ws"] } +lazy_static = "1.4.0" +futures = "0.3.30" +dashmap = "5.5.3" +rand = "0.8.5" diff --git a/crates/bevnet-relay/src/bin/server.rs b/crates/relay-server/src/main.rs similarity index 98% rename from crates/bevnet-relay/src/bin/server.rs rename to crates/relay-server/src/main.rs index 6bddbd1..0c51c83 100644 --- a/crates/bevnet-relay/src/bin/server.rs +++ b/crates/relay-server/src/main.rs @@ -10,7 +10,6 @@ use lazy_static::lazy_static; use rand::Rng; use tokio::sync::mpsc::{channel, Receiver, Sender}; use tokio::task::JoinHandle; -use uuid::Uuid; lazy_static! { static ref CLIENTS: DashMap>> = DashMap::new(); @@ -19,7 +18,7 @@ lazy_static! { #[tokio::main] async fn main() { let app = Router::new().route( - "/relay", + "/", get(|ws: WebSocketUpgrade| async { ws.on_upgrade(handle) }), ); let listener = tokio::net::TcpListener::bind("0.0.0.0:80")