# Copyright 2024 RustFS Team # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. [package] name = "rustfs-object-data-cache" version.workspace = true edition.workspace = true license.workspace = true repository.workspace = true rust-version.workspace = true homepage.workspace = true description = "Long-term object body cache engine for RustFS." keywords = ["cache", "object-storage", "rustfs"] categories = ["web-programming", "development-tools"] [lib] doctest = false [dependencies] bytes = { workspace = true, features = ["serde"] } metrics = { workspace = true } moka = { workspace = true, features = ["future"] } starshard = { workspace = true, features = ["rayon", "async", "serde"] } sysinfo = { workspace = true, features = ["multithread"] } thiserror.workspace = true tokio = { workspace = true, features = ["sync", "time", "fs", "rt-multi-thread"] } tracing.workspace = true [dev-dependencies] criterion = { workspace = true, features = ["html_reports"] } metrics-util = { version = "0.20", features = ["debugging"] } # `rt-multi-thread` lets the concurrency stress tests run tasks on real worker # threads, so they exercise true parallelism on the shared singleflight/index # state rather than only cooperative interleaving. tokio = { workspace = true, features = ["macros", "rt-multi-thread", "time", "fs"] } [[bench]] name = "cache_bench" harness = false [lints] workspace = true