[workspace]
resolver = "3"
members = ["./", "./proc_macros", "./xtask"]
[package]
name = "runite"
version = "0.1.0"
edition = "2024"
rust-version = "1.88"
description = "An event-loop-per-thread async runtime built on io_uring (Linux), kqueue (macOS), and IOCP (Windows)"
license = "MIT OR Apache-2.0"
repository = "https://github.com/willmtemple/runite"
homepage = "https://github.com/willmtemple/runite"
documentation = "https://docs.rs/runite"
readme = "README.md"
keywords = ["async", "runtime", "io_uring", "executor", "event-loop"]
categories = ["asynchronous", "concurrency", "network-programming"]
exclude = [
"/.github",
"/.claude",
"/target",
"/cop-checks",
"/xtask",
"/docs",
"mise.toml",
"mise.lock",
"rust-toolchain.toml",
"AGENTS.md",
"deny.toml",
]
[package.metadata.docs.rs]
all-features = true
targets = [
"x86_64-unknown-linux-gnu",
"aarch64-apple-darwin",
"x86_64-pc-windows-msvc",
]
rustdoc-args = ["--cfg", "docsrs"]
[features]
default = []
hyper = ["dep:hyper"]
futures-compat = ["dep:futures-io"]
[dependencies]
futures-io = { version = "0.3", optional = true }
hyper = { version = "1.8", default-features = false, features = [
"client",
"server",
"http1",
"http2",
], optional = true }
runite-proc-macros = { package = "runite-proc-macros", version = "=0.1.0", path = "./proc_macros" }
tracing = { version = "0.1", default-features = false, features = ["std"] }
[target.'cfg(unix)'.dependencies]
libc = "0.2"
[target.'cfg(windows)'.dependencies]
windows-sys = { version = "0.61", features = [
"Win32_Foundation",
"Win32_Networking_WinSock",
"Win32_Security",
"Win32_Storage_FileSystem",
"Win32_System_Console",
"Win32_System_IO",
"Win32_System_Performance",
"Win32_System_Pipes",
"Win32_System_Threading",
] }
[dev-dependencies]
bytes = "1"
criterion = { version = "0.5", default-features = false, features = ["cargo_bench_support"] }
http-body-util = "0.1"
[[example]]
name = "hyper_http_client"
required-features = ["hyper"]
[[bench]]
name = "runtime"
harness = false
[[bench]]
name = "io"
harness = false
[[bench]]
name = "primitives"
harness = false