# 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-rio" edition.workspace = true license.workspace = true repository.workspace = true rust-version.workspace = true version.workspace = true homepage.workspace = true description = "Rio is a RustFS component that provides a high-performance, asynchronous I/O framework for building scalable and efficient applications." keywords = ["asynchronous", "IO", "framework", "rustfs", "Minio"] categories = ["web-programming", "development-tools", "asynchronous"] documentation = "https://docs.rs/rustfs-rio/latest/rustfs_rio/" [lints] workspace = true [features] default = [] hotpath = ["dep:hotpath", "hotpath/hotpath"] [dependencies] hotpath = { workspace = true, optional = true } arc-swap.workspace = true tokio = { workspace = true, features = ["io-util", "macros", "net", "rt-multi-thread", "sync", "time"] } rand = { workspace = true, features = ["serde"] } http.workspace = true aes-gcm = { workspace = true, features = ["rand_core"] } crc-fast = { workspace = true } pin-project-lite.workspace = true serde = { workspace = true, features = ["derive"] } bytes = { workspace = true, features = ["serde"] } reqwest = { workspace = true, default-features = false, features = ["rustls", "http2", "system-proxy", "stream"] } rustls-pki-types.workspace = true tokio-util = { workspace = true, features = ["io", "compat"] } faster-hex.workspace = true futures.workspace = true rustfs-config = { workspace = true, features = ["constants"] } rustfs-io-metrics.workspace = true rustfs-tls-runtime.workspace = true rustfs-utils = { workspace = true, features = ["io", "hash", "compress"] } serde_json = { workspace = true, features = ["raw_value"] } md-5 = { workspace = true } tracing.workspace = true thiserror.workspace = true base64.workspace = true sha1.workspace = true sha2.workspace = true xxhash-rust = { workspace = true, features = ["xxh64", "xxh3"] } s3s = { workspace = true, features = ["minio"] } hex-simd.workspace = true [dev-dependencies] tokio-test = { workspace = true } axum = { workspace = true } http-body-util = { workspace = true }