Simplify the relay server code #41

Merged
CoCo_Sol merged 2 commits from simpler-server into main 2024-02-11 11:36:29 +00:00
4 changed files with 33 additions and 52 deletions

24
Cargo.lock generated
View file

@ -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"

View file

@ -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 <contact@tipragot.fr>"]
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"]

View file

@ -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 <contact@tipragot.fr>"]
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"

View file

@ -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<u32, Sender<Vec<u8>>> = 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")