a panic in a session task now kills that connection, tokio catches it and the accept loop carries on. with abort it took the whole server down. the data table RwLock is std so it poisons on panic, and every lookup went through expect(). one panic would have bricked every later table read, which is worse than the abort was. it reads the inner value now, the table is read only once installed.
40 lines
1.2 KiB
TOML
40 lines
1.2 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
members = ["crates/*"]
|
|
|
|
[workspace.package]
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
rust-version = "1.75"
|
|
license = "MIT"
|
|
|
|
[workspace.dependencies]
|
|
titan = { path = "crates/titan" }
|
|
titan-derive = { path = "crates/titan-derive" }
|
|
logic = { path = "crates/logic" }
|
|
logic-derive = { path = "crates/logic-derive" }
|
|
service-rpc = { path = "crates/service-rpc" }
|
|
auth-service = { path = "crates/auth-service" }
|
|
game-service = { path = "crates/game-service" }
|
|
gateway = { path = "crates/gateway" }
|
|
storage = { path = "crates/storage" }
|
|
|
|
tokio = { version = "1.45", features = ["rt-multi-thread", "macros", "net", "io-util", "sync", "time", "signal", "fs"] }
|
|
thiserror = "2"
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt"] }
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
rand = "0.8"
|
|
async-trait = "0.1"
|
|
inventory = "0.3"
|
|
sqlx = { version = "0.8", default-features = false, features = ["runtime-tokio", "tls-rustls", "postgres", "macros", "migrate"] }
|
|
proc-macro2 = "1"
|
|
quote = "1"
|
|
syn = { version = "2", features = ["full", "extra-traits"] }
|
|
|
|
[profile.release]
|
|
opt-level = 3
|
|
lto = "thin"
|
|
codegen-units = 1
|
|
strip = true
|