runite 0.1.0

An event-loop-per-thread async runtime built on io_uring (Linux), kqueue (macOS), and IOCP (Windows)
Documentation
[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"]
# Keep the crates.io package to what a *user* of the library needs: source,
# examples, README/CHANGELOG/ARCHITECTURE, licenses. Repo process files (CI,
# agent guides, roadmap, toolchain pins, static-analysis rules) stay out.
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",
]
# docs.rs builds with nightly; --cfg docsrs enables doc_auto_cfg so every
# feature-gated item is badged with its required feature in the rendered docs.
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