[package]
name = "ringolo"
version = "0.1.0-alpha.2"
edition = "2024"
rust-version = "1.89"
authors = ["Samuel Blais-Dowdy <samuel.blaisdowdy@protonmail.com>"]
license = "Apache-2.0"
readme = "README.md"
repository = "https://github.com/sugarraysam/ringolo"
description = "An asynchronous runtime built on top of io-uring."
categories = ["asynchronous", "network-programming"]
keywords = ["io-uring", "io", "async", "non-blocking", "futures"]

[features]
default = []
experimental = []

[package.metadata.docs.rs]
# Ensure we show "experimental" libraries
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[lib]
doctest = true

[dependencies]
anyhow = "~1.0.99"
bitflags = "~2.9.4"
crossbeam-deque = "~0.8.6"
dashmap = { version = "~6.1.0", features = ["raw-api"] }
either = "~1.15.0"
fastrand = "~2.3.0"
futures = "~0.3.31"
io-uring = "~0.7.11"
libc = { version = "~0.2.98", default-features = false }
linux-raw-sys = "0.12.0"
parking_lot = "~0.12.5"
paste = "~1.0.15"
pin-project = "~1.1.10"
ringolo-macros = "~0.1.0-alpha.1"
slab = "~0.4.11"
smallvec = "~1.15.1"
thiserror = "~2.0.17"
tracing = "~0.1.41"

[dev-dependencies]
nix = { version = "~0.30.1", features = ["socket"] }
rstest = "~0.26.1"
static_assertions = "~1.1.0"
tempfile = "~3.23.0"
uuid = { version = "~1.18.1", features = ["v4"] }
