[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 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [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 # TODO: remove in the future 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