chore: first project structure
This commit is contained in:
Generated
+31
@@ -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
@@ -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"
|
||||
@@ -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
|
||||
```
|
||||
@@ -0,0 +1,6 @@
|
||||
[package]
|
||||
name = "lanparty-client-core"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
|
||||
[dependencies]
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
[package]
|
||||
name = "lanparty-client-win"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
|
||||
[dependencies]
|
||||
@@ -0,0 +1,3 @@
|
||||
fn main() {
|
||||
println!("Hello, world!");
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
[package]
|
||||
name = "lanparty-ctrl"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
|
||||
[dependencies]
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
[package]
|
||||
name = "lanparty-gateway"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
|
||||
[dependencies]
|
||||
@@ -0,0 +1,3 @@
|
||||
fn main() {
|
||||
println!("Hello, world!");
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
[package]
|
||||
name = "lanparty-obs"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
|
||||
[dependencies]
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
[package]
|
||||
name = "lanparty-proto"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
|
||||
[dependencies]
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
[package]
|
||||
name = "lanparty-relay"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
|
||||
[dependencies]
|
||||
@@ -0,0 +1,3 @@
|
||||
fn main() {
|
||||
println!("Hello, world!");
|
||||
}
|
||||
Reference in New Issue
Block a user