[package]
name = "helyim"
version.workspace = true
edition.workspace = true
homepage.workspace = true
repository.workspace = true
license.workspace = true
authors.workspace = true
description = """
helyim is a object storage written by Rust.
"""
documentation = "https://github.com/helyim/helyim"
readme = "../README.md"
categories.workspace = true
keywords.workspace = true
[dependencies]
async-scoped = { workspace = true, features = ["use-tokio"] }
async-broadcast.workspace = true
async-stream.workspace = true
async-trait.workspace = true
axum = { workspace = true, features = ["multipart"] }
axum-extra = { workspace = true, features = ["typed-header"] }
axum-macros.workspace = true
bincode.workspace = true
bytes = { workspace = true, features = ["serde"] }
chrono.workspace = true
clap = { workspace = true, features = ["derive"] }
crc32fast.workspace = true
dashmap = { workspace = true, features = ["serde"] }
faststr = { workspace = true, features = ["serde"] }
futures.workspace = true
ginepro.workspace = true
helyim-proto = { path = "../proto", version = "0.1.0" }
hyper = { workspace = true, features = ["full"] }
hyper-util.workspace = true
indexmap.workspace = true
kanal.workspace = true
leapfrog.workspace = true
libflate.workspace = true
lru.workspace = true
mime_guess.workspace = true
moka = { workspace = true, features = ["sync"] }
multer.workspace = true
nom.workspace = true
openraft = { workspace = true, features = ["serde", "storage-v2"] }
once_cell.workspace = true
parking_lot.workspace = true
rand.workspace = true
reed-solomon-erasure = { workspace = true, features = ["simd-accel"] }
regex.workspace = true
rustix = { workspace = true, features = ["fs", "process"] }
serde = { workspace = true, features = ["derive"] }
serde_json.workspace = true
sonyflake.workspace = true
thiserror.workspace = true
tokio = { workspace = true, features = ["full"] }
tokio-stream.workspace = true
tokio-uring = { workspace = true, optional = true }
tonic.workspace = true
tower-http = { workspace = true, features = ["timeout", "set-header", "compression-gzip"] }
tracing.workspace = true
tracing-appender.workspace = true
tracing-subscriber = { workspace = true, features = ["env-filter"] }
url.workspace = true
reqwest = { version = "0.11", features = ["json"] }
[dev-dependencies]
criterion = { workspace = true, features = ["html_reports"] }
helyim-benchmark = { path = "../benchmark" }
pprof = { workspace = true, features = ["flamegraph", "criterion", "frame-pointer"] }
reqwest = { workspace = true, features = ["json", "blocking", "multipart"] }
tempfile.workspace = true
tokio = { workspace = true, features = ["full"] }
[features]
default = []
iouring = ["tokio-uring"]
[[bench]]
name = "read_upload_files"
harness = false