rustfs-uring 0.2.1

Cancel-safe async io_uring read backend for RustFS storage.
Documentation
# 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-uring"
version = "0.2.1"
edition = "2024"
rust-version = "1.96"
license = "Apache-2.0"
description = "Cancel-safe async io_uring read backend for RustFS storage."
repository = "https://github.com/rustfs/uring"
documentation = "https://docs.rs/rustfs-uring"
readme = "README.md"
homepage = "https://rustfs.com"
keywords = ["io_uring", "async", "storage", "rustfs", "linux"]
categories = ["asynchronous", "filesystem"]

[features]
# Test-only fault-injection seams (rustfs/backlog#1103). OFF by default and in
# every published/production build; enabled only by the test harness
# (run-docker.sh) to drive the panic-abort, bounded-drain-timeout, and
# probe-drain leak paths deterministically. All gated code is `#[cfg(feature =
# "fault-injection")]`, so a default build compiles none of it.
fault-injection = []

[dependencies]
# tracing for driver diagnostics: unifies with the RustFS tracing pipeline for
# structured, filterable observability; a no-op when no subscriber is installed.
tracing = { version = "0.1", default-features = false, features = ["std"] }
tokio = { version = "1.52.3", default-features = false, features = ["sync"] }

[target.'cfg(target_os = "linux")'.dependencies]
io-uring = "0.7.13"
libc = "0.2.186"

[dev-dependencies]
tokio = { version = "1.52.3", features = ["rt-multi-thread", "macros", "sync", "time"] }