mirror of
https://github.com/tursodatabase/libsql.git
synced 2024-12-15 17:59:41 +00:00
06bb81bbb1
* introduce checkpointer * fmt * impl IoBuf(Mut) for BytesMut * add tokio_util dep * implement FileStreamBody wrapper stream arounf File, to send as payload to s3 * introduce SegmentKey * add copy stream to FileExt compat method * add warning comment * fix imports * add read_at and read_at_async methods * update Backend trait to return segmetn index * introduce S3Backend * add s3 keys formatters * implement Backend for S3Backend * fix imports * remove old implementation * add basic s3 test * remove unused implementation of FileExt for Vec<u8> * add net abstraction * feature gate s3 backend * s3 backend with custom connector * fmt * expose WalRegistry::get_async * expose seal_current method * implement get_durable_frame_no * expose convenient constructor for AsyncStorage * implement Clone for LibsqlWalManager * pass config to Storage methods * add unhandled storage variant * cargo bucket already exist error * return optional segment * remove net abstraction the connector can be passed to the SdkConfig * add basic shell to interact with libsql-wal * fmt * do not publish libsql wal
84 lines
2.3 KiB
TOML
84 lines
2.3 KiB
TOML
[package]
|
|
name = "libsql-wal"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
publish = false
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[dependencies]
|
|
arc-swap = "1.7.1"
|
|
async-stream = "0.3.5"
|
|
bitflags = "2.5.0"
|
|
bytes = "1.6.0"
|
|
chrono = "0.4.38"
|
|
crc32fast = "1.4.2"
|
|
crossbeam = "0.8.4"
|
|
crossbeam-skiplist = "0.1.3"
|
|
fst = "0.4.7"
|
|
hashbrown = "0.14.3"
|
|
libsql-sys = { path = "../libsql-sys", features = ["rusqlite"] }
|
|
nix = { version = "0.28.0", features = ["uio", "fs"] }
|
|
parking_lot = { version = "0.12.3", features = ["arc_lock"] }
|
|
priority-queue = "2.0.2"
|
|
roaring = "0.10.5"
|
|
tempfile = "3.10.1"
|
|
thiserror = "1.0.58"
|
|
tokio = { version = "1", features = ["full"] }
|
|
tokio-stream = "0.1.15"
|
|
tracing = "0.1.40"
|
|
uuid = { version = "1.8.0", features = ["v4"] }
|
|
walkdir = "2.5.0"
|
|
zerocopy = { version = "0.7.32", features = ["derive", "alloc"] }
|
|
|
|
aws-config = { version = "1", optional = true, features = ["behavior-version-latest"] }
|
|
aws-sdk-s3 = { version = "1", optional = true }
|
|
http-body = "1.0.0"
|
|
tokio-util = "0.7.11"
|
|
hyper = { workspace = true, optional = true, features = ["client", "http2"] }
|
|
aws-smithy-runtime = { version = "1.6.2", optional = true, features = ["connector-hyper-0-14-x", "client"]}
|
|
clap = { version = "4.5.9", optional = true, features = ["derive"] }
|
|
inquire = { version = "0.7.5", optional = true }
|
|
tracing-subscriber = { version = "0.3.18", optional = true }
|
|
aws-credential-types = { version = "1.2.0", optional = true }
|
|
|
|
[dev-dependencies]
|
|
criterion = "0.5.1"
|
|
hex = "0.4.3"
|
|
insta = "1.39.0"
|
|
once_cell = "1.19.0"
|
|
rand = "0.8.5"
|
|
rand_chacha = "0.3.1"
|
|
regex = "1.10.4"
|
|
s3s = { git = "https://github.com/Nugine/s3s" }
|
|
s3s-fs = { git = "https://github.com/Nugine/s3s" }
|
|
s3s-aws = { git = "https://github.com/Nugine/s3s" }
|
|
tracing-subscriber = "0.3"
|
|
aws-credential-types = { version = "1", features = ["test-util"] }
|
|
tokio = { version = "*", features = ["test-util"] }
|
|
|
|
[[bench]]
|
|
name = "benchmarks"
|
|
harness = false
|
|
|
|
[features]
|
|
default = ["s3", "shell-bin"]
|
|
s3 = [
|
|
"dep:hyper",
|
|
"dep:aws-smithy-runtime",
|
|
"dep:aws-sdk-s3",
|
|
"dep:aws-config",
|
|
"dep:aws-credential-types",
|
|
]
|
|
shell-bin = [
|
|
"dep:clap",
|
|
"dep:inquire",
|
|
"s3",
|
|
"dep:tracing-subscriber",
|
|
]
|
|
|
|
[[bin]]
|
|
name = "shell"
|
|
path = "src/bins/shell/main.rs"
|
|
required-features = ["shell-bin"]
|