sausage core part 1: a process per call, routing, tree, stop and kill, locks, journal, boot

Checkpoint. Removes the old host. A quality rework follows (modules,
journal writer thread, hash cache, finer tests).
This commit is contained in:
2026-10-23 00:12:02 +01:00
parent 0a479b5800
commit 4882edf243
23 changed files with 1650 additions and 5377 deletions
Generated
+139 -4
View File
@@ -905,6 +905,8 @@ version = "0.16.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100"
dependencies = [
"allocator-api2",
"equivalent",
"foldhash",
]
@@ -1151,6 +1153,15 @@ dependencies = [
"cfg-if",
]
[[package]]
name = "inventory"
version = "0.3.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6928282826c822ad91bf1c9a1cb90a30ba1c26770749929b4656cd6be829cd7c"
dependencies = [
"rustversion",
]
[[package]]
name = "io-extras"
version = "0.19.0"
@@ -1467,6 +1478,16 @@ dependencies = [
"zerovec",
]
[[package]]
name = "prettyplease"
version = "0.2.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b"
dependencies = [
"proc-macro2",
"syn 2.0.119",
]
[[package]]
name = "proc-macro-crate"
version = "3.5.0"
@@ -1656,6 +1677,16 @@ version = "0.8.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4"
[[package]]
name = "regress"
version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "158a764437582235e3501f683b93a0a6f8d825d04a789dbe5ed30b8799b8908a"
dependencies = [
"hashbrown 0.16.1",
"memchr",
]
[[package]]
name = "ring"
version = "0.17.14"
@@ -1809,10 +1840,16 @@ dependencies = [
name = "sausage-interface"
version = "0.1.0"
dependencies = [
"prettyplease",
"proc-macro2",
"proptest",
"schemars",
"quote",
"schemars 0.8.22",
"schemars 1.2.3",
"serde",
"serde_json",
"syn 2.0.119",
"typify",
]
[[package]]
@@ -1820,9 +1857,10 @@ name = "sausage-plugin"
version = "0.1.0"
dependencies = [
"futures",
"inventory",
"sausage-interface",
"sausage-plugin-macros",
"schemars",
"schemars 1.2.3",
"serde",
"serde_json",
"trybuild",
@@ -1835,6 +1873,8 @@ version = "0.1.0"
dependencies = [
"proc-macro2",
"quote",
"sausage-interface",
"serde_json",
"syn 2.0.119",
]
@@ -1849,10 +1889,23 @@ dependencies = [
"rusqlite",
"tempfile",
"tokio",
"wasip2",
"wasmtime",
"wasmtime-wasi",
]
[[package]]
name = "schemars"
version = "0.8.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615"
dependencies = [
"dyn-clone",
"schemars_derive 0.8.22",
"serde",
"serde_json",
]
[[package]]
name = "schemars"
version = "1.2.3"
@@ -1861,11 +1914,23 @@ checksum = "ab508826f74a77ca9d5aba6ff19b522583ee3eaf28a19384ff3d0e5835fadf6e"
dependencies = [
"dyn-clone",
"ref-cast",
"schemars_derive",
"schemars_derive 1.2.3",
"serde",
"serde_json",
]
[[package]]
name = "schemars_derive"
version = "0.8.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d"
dependencies = [
"proc-macro2",
"quote",
"serde_derive_internals 0.29.1",
"syn 2.0.119",
]
[[package]]
name = "schemars_derive"
version = "1.2.3"
@@ -1874,7 +1939,7 @@ checksum = "e1c3a92094fa7d61aa124645844facb6b554dfc797136d0f5fd1f890e2bffc69"
dependencies = [
"proc-macro2",
"quote",
"serde_derive_internals",
"serde_derive_internals 0.30.0",
"syn 3.0.9",
]
@@ -1924,6 +1989,17 @@ dependencies = [
"syn 3.0.9",
]
[[package]]
name = "serde_derive_internals"
version = "0.29.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.119",
]
[[package]]
name = "serde_derive_internals"
version = "0.30.0"
@@ -1957,6 +2033,18 @@ dependencies = [
"serde_core",
]
[[package]]
name = "serde_tokenstream"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d7c49585c52c01f13c5c2ebb333f14f6885d76daa768d8a037d28017ec538c69"
dependencies = [
"proc-macro2",
"quote",
"serde",
"syn 2.0.119",
]
[[package]]
name = "sha2"
version = "0.10.9"
@@ -2324,6 +2412,53 @@ version = "1.20.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20"
[[package]]
name = "typify"
version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bc0b89f47309feaeb23c4509c15c9a04234f7deccef6f96c3bfe95319819a304"
dependencies = [
"typify-impl",
"typify-macro",
]
[[package]]
name = "typify-impl"
version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa7b026f540b148b81043c720889dbb942b08659aa8a43f624ac4f04dbfc1861"
dependencies = [
"heck",
"log",
"proc-macro2",
"quote",
"regress",
"schemars 0.8.22",
"semver",
"serde",
"serde_json",
"syn 2.0.119",
"thiserror 2.0.21",
"unicode-ident",
]
[[package]]
name = "typify-macro"
version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "39ed96c57f06ae0839416b986921a98f18b220da63bbb243a8570a00c8492183"
dependencies = [
"proc-macro2",
"quote",
"schemars 0.8.22",
"semver",
"serde",
"serde_json",
"serde_tokenstream",
"syn 2.0.119",
"typify-impl",
]
[[package]]
name = "unarray"
version = "0.1.4"