lio 0.3.0

A platform-independent async I/O library with native support for io_uring (Linux), IOCP (Windows), and kqueue (macOS)
Documentation
[build-dependencies.cfg_aliases]
version = "0.2.1"

[dependencies.libc]
version = "0.2.174"

[dependencies.oneshot]
optional = true
version = "0.1.11"

[dependencies.parking_lot]
version = "0.12"

[dependencies.paste]
version = "1.0"

[dependencies.socket2]
version = "0.6.0"

[dependencies.tracing]
optional = true
version = "0.1.41"

[dev-dependencies.futures-task]
version = "0.3.31"

[dev-dependencies.proptest]
version = "1.4"

[dev-dependencies.tracing-subscriber]
features = ["env-filter"]
version = "0.3.20"

[features]
high = ["dep:oneshot"]
tracing = ["dep:tracing"]
unstable_ffi = []

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

[package]
authors = ["Vincent Thomas <vincent@v-thomas.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = "build.rs"
categories = ["asynchronous", "network-programming", "filesystem"]
description = "A platform-independent async I/O library with native support for io_uring (Linux), IOCP (Windows), and kqueue (macOS)"
documentation = "https://docs.rs/lio"
edition = "2024"
keywords = ["async", "io", "networking", "filesystem"]
license = "MIT"
name = "lio"
readme = false
repository = "https://github.com/liten-rs/liten"
version = "0.3.0"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[target."cfg(loom)".dependencies.tracing-subscriber]
features = ["env-filter"]
version = "0.3.20"

[target.'cfg(not(target_os = "linux"))'.dependencies.polling]
version = "3.10.0"

[target.'cfg(target_os = "linux")'.dependencies.io-uring]
version = "0.7.9"

[[test]]
name = "common"
path = "tests/common.rs"

[[test]]
name = "test_accept"
path = "tests/test_accept.rs"

[[test]]
name = "test_bind"
path = "tests/test_bind.rs"

[[test]]
name = "test_callback"
path = "tests/test_callback.rs"

[[test]]
name = "test_close"
path = "tests/test_close.rs"

[[test]]
name = "test_close_timing"
path = "tests/test_close_timing.rs"

[[test]]
name = "test_connect"
path = "tests/test_connect.rs"

[[test]]
name = "test_detach_safe"
path = "tests/test_detach_safe.rs"

[[test]]
name = "test_driver"
path = "tests/test_driver.rs"

[[test]]
name = "test_listen"
path = "tests/test_listen.rs"

[[test]]
name = "test_openat"
path = "tests/test_openat.rs"

[[test]]
name = "test_read"
path = "tests/test_read.rs"

[[test]]
name = "test_recv"
path = "tests/test_recv.rs"

[[test]]
name = "test_send"
path = "tests/test_send.rs"

[[test]]
name = "test_shutdown"
path = "tests/test_shutdown.rs"

[[test]]
name = "test_socket"
path = "tests/test_socket.rs"

[[test]]
name = "test_tee"
path = "tests/test_tee.rs"

[[test]]
name = "test_timeout"
path = "tests/test_timeout.rs"

[[test]]
name = "test_truncate"
path = "tests/test_truncate.rs"

[[test]]
name = "test_write"
path = "tests/test_write.rs"