chore: first project structure

This commit is contained in:
2026-05-21 16:55:51 +02:00
parent 171ad87589
commit 3c395db3df
17 changed files with 179 additions and 0 deletions
Generated
+31
View File
@@ -0,0 +1,31 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 4
[[package]]
name = "lanparty-client-core"
version = "0.1.0"
[[package]]
name = "lanparty-client-win"
version = "0.1.0"
[[package]]
name = "lanparty-ctrl"
version = "0.1.0"
[[package]]
name = "lanparty-gateway"
version = "0.1.0"
[[package]]
name = "lanparty-obs"
version = "0.1.0"
[[package]]
name = "lanparty-proto"
version = "0.1.0"
[[package]]
name = "lanparty-relay"
version = "0.1.0"
+22
View File
@@ -0,0 +1,22 @@
[workspace]
resolver = "3"
members = [
"crates/lanparty-client-core",
"crates/lanparty-client-win",
"crates/lanparty-ctrl",
"crates/lanparty-gateway",
"crates/lanparty-obs",
"crates/lanparty-proto",
"crates/lanparty-relay",
]
[workspace.package]
version = "0.1.0"
edition = "2024"
[workspace.dependencies]
anyhow = "1"
bytes = "1"
serde = { version = "1", features = ["derive"] }
thiserror = "2"
tracing = "0.1"
+19
View File
@@ -0,0 +1,19 @@
# softlan-vpn
Monorepo for a Layer 2 over QUIC LAN party bridge.
## Workspace crates
- `lanparty-proto`: shared frame format, MAC validation, MTU helpers.
- `lanparty-ctrl`: control-plane messages (join/hello/role/version).
- `lanparty-obs`: shared diagnostics/logging event models.
- `lanparty-client-core`: platform-agnostic client session state.
- `lanparty-client-win`: Windows TAP + route/metric handling binary.
- `lanparty-gateway`: Linux AF_PACKET gateway binary.
- `lanparty-relay`: public QUIC relay binary.
## Build
```bash
cargo check --workspace
```
+6
View File
@@ -0,0 +1,6 @@
[package]
name = "lanparty-client-core"
version.workspace = true
edition.workspace = true
[dependencies]
+14
View File
@@ -0,0 +1,14 @@
pub fn add(left: u64, right: u64) -> u64 {
left + right
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn it_works() {
let result = add(2, 2);
assert_eq!(result, 4);
}
}
+6
View File
@@ -0,0 +1,6 @@
[package]
name = "lanparty-client-win"
version.workspace = true
edition.workspace = true
[dependencies]
+3
View File
@@ -0,0 +1,3 @@
fn main() {
println!("Hello, world!");
}
+6
View File
@@ -0,0 +1,6 @@
[package]
name = "lanparty-ctrl"
version.workspace = true
edition.workspace = true
[dependencies]
+14
View File
@@ -0,0 +1,14 @@
pub fn add(left: u64, right: u64) -> u64 {
left + right
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn it_works() {
let result = add(2, 2);
assert_eq!(result, 4);
}
}
+6
View File
@@ -0,0 +1,6 @@
[package]
name = "lanparty-gateway"
version.workspace = true
edition.workspace = true
[dependencies]
+3
View File
@@ -0,0 +1,3 @@
fn main() {
println!("Hello, world!");
}
+6
View File
@@ -0,0 +1,6 @@
[package]
name = "lanparty-obs"
version.workspace = true
edition.workspace = true
[dependencies]
+14
View File
@@ -0,0 +1,14 @@
pub fn add(left: u64, right: u64) -> u64 {
left + right
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn it_works() {
let result = add(2, 2);
assert_eq!(result, 4);
}
}
+6
View File
@@ -0,0 +1,6 @@
[package]
name = "lanparty-proto"
version.workspace = true
edition.workspace = true
[dependencies]
+14
View File
@@ -0,0 +1,14 @@
pub fn add(left: u64, right: u64) -> u64 {
left + right
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn it_works() {
let result = add(2, 2);
assert_eq!(result, 4);
}
}
+6
View File
@@ -0,0 +1,6 @@
[package]
name = "lanparty-relay"
version.workspace = true
edition.workspace = true
[dependencies]
+3
View File
@@ -0,0 +1,3 @@
fn main() {
println!("Hello, world!");
}