i2o2 0.5.0

A io_uring based IO executor for sync and async runtimes
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "i2o2"
version = "0.5.0"
build = false
exclude = ["/.idea"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A io_uring based IO executor for sync and async runtimes"
readme = "README.md"
keywords = [
    "io_uring",
    "scheduler",
]
categories = [
    "asynchronous",
    "concurrency",
]
license = "MIT"
repository = "https://github.com/lnx-search/i2o2"

[features]
fail = ["dep:fail"]
trace-hotpath = []

[lib]
name = "i2o2"
path = "src/lib.rs"

[[example]]
name = "async_no_op"
path = "examples/async_no_op.rs"
test = true

[[example]]
name = "fail_points"
path = "examples/fail_points.rs"
test = true
required-features = ["fail"]

[[example]]
name = "sync_no_op"
path = "examples/sync_no_op.rs"
test = true

[[bench]]
name = "buffered_io_write_throughput_async"
path = "benches/buffered_io_write_throughput_async.rs"
harness = false

[[bench]]
name = "buffered_io_write_throughput_sync"
path = "benches/buffered_io_write_throughput_sync.rs"
harness = false

[[bench]]
name = "direct_io_random_read"
path = "benches/direct_io_random_read.rs"
harness = false

[[bench]]
name = "io_shared"
path = "benches/io_shared.rs"

[[bench]]
name = "no_op_shared"
path = "benches/no_op_shared.rs"

[[bench]]
name = "no_op_throughput_async"
path = "benches/no_op_throughput_async.rs"
harness = false

[[bench]]
name = "no_op_throughput_sync"
path = "benches/no_op_throughput_sync.rs"
harness = false

[dependencies.axboe-liburing]
version = "2.12"

[dependencies.crossbeam-queue]
version = "0.3"

[dependencies.fail]
version = "0.5.1"
features = ["failpoints"]
optional = true

[dependencies.futures-executor]
version = "0.3"

[dependencies.libc]
version = "0.2"

[dependencies.parking_lot]
version = "0.12"

[dependencies.slab]
version = "0.4"

[dependencies.thiserror]
version = "2"

[dependencies.tokio]
version = "1"
features = ["sync"]

[dependencies.tracing]
version = "0.1"

[dev-dependencies.anyhow]
version = "1"

[dev-dependencies.fail]
version = "0.5.1"
features = ["failpoints"]

[dev-dependencies.fastrand]
version = "2.3"

[dev-dependencies.glommio]
version = "0.9.0"

[dev-dependencies.humansize]
version = "2.1.3"

[dev-dependencies.memmap2]
version = "0.9.5"

[dev-dependencies.rstest]
version = "0.26"

[dev-dependencies.tabled]
version = "0.19"

[dev-dependencies.tempfile]
version = "3.20"

[dev-dependencies.tokio]
version = "1"
features = ["full"]

[dev-dependencies.tracing-subscriber]
version = "0.3.19"

[dev-dependencies.ulid]
version = "1.2"

[profile.bench]
debug = 2