[package] name = "spacetimedb-commitlog" version.workspace = true edition.workspace = true rust-version.workspace = true license-file = "LICENSE" description = "Implementation of the SpacetimeDB commitlog." [features] default = ["serde"] # Enable streaming reads + writes streaming = ["dep:async-stream", "dep:bytes", "dep:futures", "dep:tokio", "dep:tokio-util"] # Enable types + impls useful for testing test = ["dep:env_logger"] # Enable `fallocate` of segments fallocate = ["dep:nix"] [dependencies] async-stream = { workspace = true, optional = true } bitflags.workspace = true bytes= { workspace = true, optional = true } crc32c.workspace = true futures = { workspace = true, optional = true } itertools.workspace = true log.workspace = true memmap2 = "0.9.4" nix = { workspace = true, optional = true, features = ["fs"] } serde = { workspace = true, optional = true } spacetimedb-fs-utils.workspace = true spacetimedb-paths.workspace = true spacetimedb-primitives.workspace = true spacetimedb-sats.workspace = true tempfile.workspace = true thiserror.workspace = true tokio = { workspace = true, optional = true } tokio-util = { workspace = true, optional = true, features = ["io-util"] } zstd-framed.workspace = true # For the 'test' feature env_logger = { workspace = true, optional = true } pretty_assertions.workspace = true [dev-dependencies] # Enable streaming in tests # Also enable 'test' feature, so integration tests can use the helpers. spacetimedb-commitlog = { path = ".", features = ["test", "streaming"] } env_logger.workspace = true once_cell.workspace = true pretty_assertions = { workspace = true, features = ["unstable"] } proptest-derive.workspace = true proptest.workspace = true rand.workspace = true tempfile.workspace = true tokio-stream = { version = "0.1.17", features = ["fs"] } [lints] workspace = true