mirror of
https://github.com/clockworklabs/SpacetimeDB.git
synced 2026-05-12 18:57:51 -04:00
ef61c7c123
This is the second step to make in-memory-only databases not touch the disk at all. While at it, also make it so file-backed module logs are streamed in constant memory where possible. Depends-on: #3912 # Expected complexity level and risk 2 # Testing Added some unit-level tests. --------- Signed-off-by: Kim Altintop <kim@eagain.io> Co-authored-by: Phoebe Goldman <phoebe@clockworklabs.io>
169 lines
5.2 KiB
TOML
169 lines
5.2 KiB
TOML
[package]
|
|
name = "spacetimedb-core"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license-file = "LICENSE"
|
|
description = "The core library for SpacetimeDB"
|
|
rust-version.workspace = true
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
[lib]
|
|
name = "spacetimedb" # The name of the target.
|
|
path = "src/lib.rs" # The source file of the target.
|
|
|
|
# Benching off, because of https://bheisler.github.io/criterion.rs/book/faq.html#cargo-bench-gives-unrecognized-option-errors-for-valid-command-line-options
|
|
bench = false
|
|
|
|
[dependencies]
|
|
spacetimedb-auth.workspace = true
|
|
spacetimedb-data-structures.workspace = true
|
|
spacetimedb-lib = { workspace = true, features = ["serde", "metrics_impls"] }
|
|
spacetimedb-client-api-messages.workspace = true
|
|
spacetimedb-commitlog.workspace = true
|
|
spacetimedb-datastore.workspace = true
|
|
spacetimedb-durability.workspace = true
|
|
spacetimedb-memory-usage.workspace = true
|
|
spacetimedb-metrics.workspace = true
|
|
spacetimedb-primitives.workspace = true
|
|
spacetimedb-paths.workspace = true
|
|
spacetimedb-physical-plan.workspace = true
|
|
spacetimedb-query.workspace = true
|
|
spacetimedb-sats = { workspace = true, features = ["serde"] }
|
|
spacetimedb-schema.workspace = true
|
|
spacetimedb-table.workspace = true
|
|
spacetimedb-vm.workspace = true
|
|
spacetimedb-snapshot.workspace = true
|
|
spacetimedb-subscription.workspace = true
|
|
spacetimedb-expr.workspace = true
|
|
spacetimedb-execution.workspace = true
|
|
spacetimedb-fs-utils.workspace = true
|
|
|
|
anyhow = { workspace = true, features = ["backtrace"] }
|
|
arrayvec.workspace = true
|
|
async-trait.workspace = true
|
|
backtrace.workspace = true
|
|
base64.workspace = true
|
|
blake3.workspace = true
|
|
brotli.workspace = true
|
|
bytemuck.workspace = true
|
|
bytes.workspace = true
|
|
bytestring.workspace = true
|
|
chrono.workspace = true
|
|
crossbeam-channel.workspace = true
|
|
crossbeam-queue.workspace = true
|
|
derive_more.workspace = true
|
|
dirs.workspace = true
|
|
enum-as-inner.workspace = true
|
|
enum-map.workspace = true
|
|
flate2.workspace = true
|
|
flume.workspace = true
|
|
fs2.workspace = true
|
|
futures.workspace = true
|
|
futures-util.workspace = true
|
|
hex.workspace = true
|
|
hostname.workspace = true
|
|
http.workspace = true
|
|
http-body-util.workspace = true
|
|
hyper.workspace = true
|
|
imara-diff.workspace = true
|
|
indexmap.workspace = true
|
|
itertools.workspace = true
|
|
jsonwebtoken.workspace = true
|
|
lazy_static.workspace = true
|
|
log.workspace = true
|
|
memchr.workspace = true
|
|
nohash-hasher.workspace = true
|
|
once_cell.workspace = true
|
|
openssl.workspace = true
|
|
parking_lot.workspace = true
|
|
paste.workspace = true
|
|
pin-project-lite.workspace = true
|
|
prometheus.workspace = true
|
|
rayon.workspace = true
|
|
rayon-core.workspace = true
|
|
regex.workspace = true
|
|
reqwest.workspace = true
|
|
rustc-demangle.workspace = true
|
|
rustc-hash.workspace = true
|
|
scopeguard.workspace = true
|
|
semver = { workspace = true, features = ["serde"] }
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
serde_path_to_error.workspace = true
|
|
serde_with = { workspace = true, features = ["chrono_0_4"] }
|
|
sha1.workspace = true
|
|
similar.workspace = true
|
|
slab.workspace = true
|
|
sled.workspace = true
|
|
smallvec.workspace = true
|
|
sourcemap.workspace = true
|
|
sqlparser.workspace = true
|
|
strum.workspace = true
|
|
tabled.workspace = true
|
|
tempfile.workspace = true
|
|
thiserror.workspace = true
|
|
thin-vec.workspace = true
|
|
tokio-util.workspace = true
|
|
tokio.workspace = true
|
|
tokio-stream = { workspace = true, features = ["sync"] }
|
|
tokio-metrics = { version = "0.4.0", features = ["rt"] }
|
|
toml.workspace = true
|
|
tracing-appender.workspace = true
|
|
tracing-core.workspace = true
|
|
tracing-flame.workspace = true
|
|
tracing-log.workspace = true
|
|
tracing-subscriber.workspace = true
|
|
tracing-tracy.workspace = true
|
|
tracing.workspace = true
|
|
url.workspace = true
|
|
urlencoding.workspace = true
|
|
uuid.workspace = true
|
|
v8.workspace = true
|
|
wasmtime.workspace = true
|
|
wasmtime-internal-fiber.workspace = true
|
|
jwks.workspace = true
|
|
async_cache = "0.3.1"
|
|
faststr = "0.2.23"
|
|
core_affinity = "0.8"
|
|
|
|
[target.'cfg(not(target_env = "msvc"))'.dependencies]
|
|
tikv-jemallocator = {workspace = true}
|
|
tikv-jemalloc-ctl = {workspace = true}
|
|
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
nix = { workspace = true, features = ["sched"] }
|
|
|
|
[features]
|
|
# Print a warning when doing an unindexed `iter_by_col_range` on a large table.
|
|
unindexed_iter_by_col_range_warn = []
|
|
default = ["unindexed_iter_by_col_range_warn"]
|
|
# Enable timing for wasm ABI calls
|
|
spacetimedb-wasm-instance-env-times = []
|
|
# Enable test helpers and utils
|
|
test = ["spacetimedb-commitlog/test", "spacetimedb-datastore/test"]
|
|
# Perfmaps for profiling modules
|
|
perfmap = []
|
|
# Disables core pinning
|
|
no-core-pinning = []
|
|
no-job-core-pinning = []
|
|
|
|
[dev-dependencies]
|
|
spacetimedb-lib = { path = "../lib", features = ["proptest", "test"] }
|
|
spacetimedb-sats = { path = "../sats", features = ["proptest"] }
|
|
spacetimedb-commitlog = { path = "../commitlog", features = ["test"] }
|
|
spacetimedb-datastore = { path = "../datastore/", features = ["test"] }
|
|
|
|
criterion.workspace = true
|
|
# Also as dev-dependencies for use in _this_ crate's tests.
|
|
proptest.workspace = true
|
|
proptest-derive.workspace = true
|
|
rand.workspace = true
|
|
env_logger.workspace = true
|
|
pretty_assertions.workspace = true
|
|
jsonwebtoken.workspace = true
|
|
axum.workspace = true
|
|
fs_extra.workspace = true
|
|
|
|
[lints]
|
|
workspace = true
|