[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