[package]
edition = "2024"
rust-version = "1.90"
name = "regolith"
version = "0.1.2"
authors = [
"Ivan Vercenco <ivan@source.network>",
"Theo Bulut <theo@source.network>",
]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "ACID, performance oriented, embedded key-value database engine for edge systems"
homepage = "https://github.com/sourcenetwork/regolith"
readme = "README.md"
keywords = [
"database",
"key-value",
"lsm-tree",
"storage",
"embedded",
]
categories = ["database-implementations"]
license = "Apache-2.0 OR MIT"
repository = "https://github.com/sourcenetwork/regolith"
resolver = "2"
[features]
critical-section = ["portable-atomic/critical-section"]
fuzzing = []
[lib]
name = "regolith"
path = "src/lib.rs"
[[example]]
name = "embedded_profile"
path = "examples/embedded_profile.rs"
[[example]]
name = "read_scaling"
path = "examples/read_scaling.rs"
[[example]]
name = "stack_depth"
path = "examples/stack_depth.rs"
[[example]]
name = "stack_probe"
path = "examples/stack_probe.rs"
[[example]]
name = "xplat_format"
path = "examples/xplat_format.rs"
[[test]]
name = "adv_atom_drop_all_race"
path = "tests/adv_atom_drop_all_race.rs"
[[test]]
name = "adv_atom_reclaim"
path = "tests/adv_atom_reclaim.rs"
[[test]]
name = "adv_atom_stalled_reader"
path = "tests/adv_atom_stalled_reader.rs"
[[test]]
name = "adv_block_cache_footprint"
path = "tests/adv_block_cache_footprint.rs"
[[test]]
name = "adv_block_cache_integrity"
path = "tests/adv_block_cache_integrity.rs"
[[test]]
name = "adv_block_cache_overhead"
path = "tests/adv_block_cache_overhead.rs"
[[test]]
name = "adv_checkpoint_probe"
path = "tests/adv_checkpoint_probe.rs"
[[test]]
name = "adv_open_bench"
path = "tests/adv_open_bench.rs"
[[test]]
name = "adversarial_bounds"
path = "tests/adversarial_bounds.rs"
[[test]]
name = "adversarial_crash"
path = "tests/adversarial_crash.rs"
[[test]]
name = "adversarial_index_cache"
path = "tests/adversarial_index_cache.rs"
[[test]]
name = "adversarial_ingest"
path = "tests/adversarial_ingest.rs"
[[test]]
name = "adversarial_mvcc"
path = "tests/adversarial_mvcc.rs"
[[test]]
name = "adversarial_open_guard"
path = "tests/adversarial_open_guard.rs"
[[test]]
name = "adversarial_read_paths"
path = "tests/adversarial_read_paths.rs"
[[test]]
name = "adversarial_readview"
path = "tests/adversarial_readview.rs"
[[test]]
name = "adversarial_recovery"
path = "tests/adversarial_recovery.rs"
[[test]]
name = "adversarial_reverse_iteration"
path = "tests/adversarial_reverse_iteration.rs"
[[test]]
name = "adversarial_reverse_seek"
path = "tests/adversarial_reverse_seek.rs"
[[test]]
name = "adversarial_slice"
path = "tests/adversarial_slice.rs"
[[test]]
name = "adversarial_sstable_flips"
path = "tests/adversarial_sstable_flips.rs"
[[test]]
name = "adversarial_surfaces"
path = "tests/adversarial_surfaces.rs"
[[test]]
name = "adversarial_wal"
path = "tests/adversarial_wal.rs"
[[test]]
name = "adversarial_write_guard"
path = "tests/adversarial_write_guard.rs"
[[test]]
name = "alloc_budget_reads"
path = "tests/alloc_budget_reads.rs"
[[test]]
name = "block_cache_budget"
path = "tests/block_cache_budget.rs"
[[test]]
name = "checkpoint_history"
path = "tests/checkpoint_history.rs"
[[test]]
name = "concurrency"
path = "tests/concurrency.rs"
[[test]]
name = "concurrent_flush_retire"
path = "tests/concurrent_flush_retire.rs"
[[test]]
name = "corruption"
path = "tests/corruption.rs"
[[test]]
name = "corruption_exhaustive"
path = "tests/corruption_exhaustive.rs"
[[test]]
name = "crash_recovery"
path = "tests/crash_recovery.rs"
[[test]]
name = "db_basic"
path = "tests/db_basic.rs"
[[test]]
name = "db_slice"
path = "tests/db_slice.rs"
[[test]]
name = "discarded_table_guard"
path = "tests/discarded_table_guard.rs"
[[test]]
name = "discarded_table_open_guard"
path = "tests/discarded_table_open_guard.rs"
[[test]]
name = "env_matrix"
path = "tests/env_matrix.rs"
[[test]]
name = "env_reopen"
path = "tests/env_reopen.rs"
[[test]]
name = "fault_smoke"
path = "tests/fault_smoke.rs"
[[test]]
name = "foreground_compaction"
path = "tests/foreground_compaction.rs"
[[test]]
name = "foreground_compaction_stall"
path = "tests/foreground_compaction_stall.rs"
[[test]]
name = "group_commit"
path = "tests/group_commit.rs"
[[test]]
name = "group_commit_and_arena_memtable"
path = "tests/group_commit_and_arena_memtable.rs"
[[test]]
name = "idempotent_write"
path = "tests/idempotent_write.rs"
[[test]]
name = "ingest_block_cache_isolation"
path = "tests/ingest_block_cache_isolation.rs"
[[test]]
name = "lifecycle"
path = "tests/lifecycle.rs"
[[test]]
name = "loom_memtable"
path = "tests/loom_memtable.rs"
[[test]]
name = "loom_read_view"
path = "tests/loom_read_view.rs"
[[test]]
name = "memory_options"
path = "tests/memory_options.rs"
[[test]]
name = "metadata_cache"
path = "tests/metadata_cache.rs"
[[test]]
name = "mutating_surface_probes"
path = "tests/mutating_surface_probes.rs"
[[test]]
name = "mvcc_invariants"
path = "tests/mvcc_invariants.rs"
[[test]]
name = "open_and_corruption"
path = "tests/open_and_corruption.rs"
[[test]]
name = "orphan_table_open_guard"
path = "tests/orphan_table_open_guard.rs"
[[test]]
name = "owned_transaction"
path = "tests/owned_transaction.rs"
[[test]]
name = "parity"
path = "tests/parity.rs"
[[test]]
name = "positioned_cursor"
path = "tests/positioned_cursor.rs"
[[test]]
name = "power_loss"
path = "tests/power_loss.rs"
[[test]]
name = "proptest_durability"
path = "tests/proptest_durability.rs"
[[test]]
name = "proptest_invariants"
path = "tests/proptest_invariants.rs"
[[test]]
name = "read_api"
path = "tests/read_api.rs"
[[test]]
name = "read_view_chaos_workload"
path = "tests/read_view_chaos_workload.rs"
[[test]]
name = "read_view_consistency"
path = "tests/read_view_consistency.rs"
[[test]]
name = "read_view_hammer"
path = "tests/read_view_hammer.rs"
[[test]]
name = "read_your_own_writes"
path = "tests/read_your_own_writes.rs"
[[test]]
name = "repro_seek_for_prev"
path = "tests/repro_seek_for_prev.rs"
[[test]]
name = "resource_limits"
path = "tests/resource_limits.rs"
[[test]]
name = "reverse_iteration_differential"
path = "tests/reverse_iteration_differential.rs"
[[test]]
name = "reverse_iteration_review"
path = "tests/reverse_iteration_review.rs"
[[test]]
name = "scan_read_horizon_ordering"
path = "tests/scan_read_horizon_ordering.rs"
[[test]]
name = "scan_stream_allocs"
path = "tests/scan_stream_allocs.rs"
[[test]]
name = "scratch_ingest"
path = "tests/scratch_ingest.rs"
[[test]]
name = "serializable"
path = "tests/serializable.rs"
[[test]]
name = "sstable_checksummed_format_roundtrip"
path = "tests/sstable_checksummed_format_roundtrip.rs"
[[test]]
name = "sstable_metadata_checksums"
path = "tests/sstable_metadata_checksums.rs"
[[test]]
name = "sstable_metadata_scan_get_agreement"
path = "tests/sstable_metadata_scan_get_agreement.rs"
[[test]]
name = "streaming"
path = "tests/streaming.rs"
[[test]]
name = "transaction_conflicts"
path = "tests/transaction_conflicts.rs"
[[test]]
name = "transactions"
path = "tests/transactions.rs"
[[test]]
name = "txn_commit_allocs"
path = "tests/txn_commit_allocs.rs"
[[test]]
name = "txn_reverse_scan"
path = "tests/txn_reverse_scan.rs"
[[test]]
name = "txn_scan_allocs"
path = "tests/txn_scan_allocs.rs"
[[test]]
name = "vectored_syscalls"
path = "tests/vectored_syscalls.rs"
[[test]]
name = "wal_byte_substitution_sweep"
path = "tests/wal_byte_substitution_sweep.rs"
[[test]]
name = "wal_torn_tail_contract"
path = "tests/wal_torn_tail_contract.rs"
[[test]]
name = "wal_torn_write_modes"
path = "tests/wal_torn_write_modes.rs"
[[test]]
name = "wasm_opfs"
path = "tests/wasm_opfs.rs"
[[test]]
name = "wasm_opfs_main"
path = "tests/wasm_opfs_main.rs"
[[test]]
name = "wasm_opfs_memory"
path = "tests/wasm_opfs_memory.rs"
[[bench]]
name = "allocs"
path = "benches/allocs.rs"
harness = false
[[bench]]
name = "batch"
path = "benches/batch.rs"
harness = false
[[bench]]
name = "collect"
path = "benches/collect.rs"
harness = false
[[bench]]
name = "large_value"
path = "benches/large_value.rs"
harness = false
[[bench]]
name = "memory"
path = "benches/memory.rs"
harness = false
[[bench]]
name = "point_read"
path = "benches/point_read.rs"
harness = false
[[bench]]
name = "scan"
path = "benches/scan.rs"
harness = false
[[bench]]
name = "scan_stream"
path = "benches/scan_stream.rs"
harness = false
[[bench]]
name = "size"
path = "benches/size.rs"
harness = false
[[bench]]
name = "soak"
path = "benches/soak.rs"
harness = false
[[bench]]
name = "transaction"
path = "benches/transaction.rs"
harness = false
[[bench]]
name = "write_buffered"
path = "benches/write_buffered.rs"
harness = false
[[bench]]
name = "write_durable"
path = "benches/write_durable.rs"
harness = false
[dependencies.kovan]
version = "0.1.20"
[dependencies.kovan-channel]
version = "0.1.20"
[dependencies.kovan-map]
version = "0.1.20"
[dependencies.kovan-mvcc]
version = "0.1.20"
[dependencies.kovan-queue]
version = "0.1.20"
[dependencies.lz4_flex]
version = "0.11"
[dependencies.portable-atomic]
version = "1"
features = [
"fallback",
"require-cas",
]
default-features = false
[dependencies.snap]
version = "1"
[dependencies.thiserror]
version = "1.0"
[dependencies.tracing]
version = "0.1"
[dependencies.xxhash-rust]
version = "0.8"
features = ["xxh3"]
[dev-dependencies.tempfile]
version = "3.8"
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies.js-sys]
version = "0.3"
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies.wasm-bindgen]
version = "0.2"
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies.wasm-bindgen-futures]
version = "0.4"
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dev-dependencies.js-sys]
version = "0.3"
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dev-dependencies.wasm-bindgen]
version = "0.2"
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dev-dependencies.wasm-bindgen-test]
version = "0.3"
[target."cfg(loom)".dependencies.loom]
version = "0.7"
[target."cfg(loom)".dev-dependencies.loom]
version = "0.7"
[target.'cfg(not(target_family = "wasm"))'.dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[target.'cfg(not(target_family = "wasm"))'.dev-dependencies.proptest]
version = "1"
[target."cfg(unix)".dependencies.rustix]
version = "1.1"
features = ["fs"]
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(loom)"]
[profile.bench]
opt-level = 3
[profile.dev]
opt-level = 1
debug-assertions = true
overflow-checks = true
[profile.dev.package."*"]
opt-level = 3
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true