[package]
name = "nexus-rt"
version = "0.12.0"
description = "Single-threaded, event-driven runtime primitives with pre-resolved dispatch"
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
keywords.workspace = true
categories.workspace = true

[features]
full = ["smartptr", "timer", "mio", "signals"]
codegen-audit = []
smartptr = ["dep:nexus-smartptr"]
timer = ["dep:nexus-timer"]
mio = ["dep:mio", "dep:slab"]
signals = ["dep:signal-hook"]

[dependencies]
rustc-hash = "2"
nexus-smartptr = { version = "0.1", path = "../nexus-smartptr", optional = true }
nexus-timer = { version = "1.2", path = "../nexus-timer", optional = true }
mio = { version = "1", features = ["os-poll", "net"], optional = true }
slab = { version = "0.4", optional = true }
signal-hook = { version = "0.3", optional = true }

[dev-dependencies]
mio = { version = "1", features = ["os-poll", "net"] }

[[example]]
name = "mio_timer"
required-features = ["mio", "timer"]

[lints]
workspace = true
