zruntime 0.2.0

A simple single-threaded Rust async runtime
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.88"
name = "zruntime"
version = "0.2.0"
authors = ["Zeeshan Ali Khan <zeeshanak@gnome.org>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A simple single-threaded Rust async runtime"
readme = "README.md"
keywords = [
    "async",
    "runtime",
    "reactor",
    "single-threaded",
]
categories = ["asynchronous"]
license = "MIT"
repository = "https://github.com/z-galaxy/zruntime"

[package.metadata.docs.rs]
all-features = true
targets = [
    "x86_64-unknown-linux-gnu",
    "x86_64-pc-windows-gnu",
    "x86_64-apple-darwin",
    "wasm32-wasip2",
]

[features]
broadcast = [
    "event",
    "dep:futures-core",
]
default = [
    "runtime",
    "event",
    "tracing",
]
event = []
fs = [
    "dep:futures-io",
    "dep:futures-core",
]
helper = ["runtime"]
lock = ["event"]
mpmc = [
    "event",
    "dep:futures-core",
]
process = [
    "runtime",
    "unblock",
    "rustix?/process",
    "windows-sys?/Win32_Foundation",
    "windows-sys?/Win32_System_Threading",
]
runtime = [
    "dep:rustix",
    "dep:windows-sys",
    "dep:futures-core",
    "dep:futures-io",
]
tcp = [
    "runtime",
    "dep:socket2",
    "rustix?/net",
]
tracing = ["dep:tracing"]
udp = ["runtime"]
unblock = [
    "dep:futures-io",
    "dep:futures-core",
]
unix = [
    "runtime",
    "dep:socket2",
    "rustix?/net",
]

[lib]
name = "zruntime"
path = "src/lib.rs"
bench = false

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

[[bench]]
name = "broadcast"
path = "benches/broadcast.rs"
harness = false
required-features = ["broadcast"]

[[bench]]
name = "connection"
path = "benches/connection.rs"
harness = false
required-features = [
    "helper",
    "lock",
]

[[bench]]
name = "contention"
path = "benches/contention.rs"
harness = false
required-features = [
    "mpmc",
    "lock",
    "runtime",
]

[[bench]]
name = "event"
path = "benches/event.rs"
harness = false
required-features = ["lock"]

[[bench]]
name = "mpmc"
path = "benches/mpmc.rs"
harness = false
required-features = ["mpmc"]

[[bench]]
name = "runtime"
path = "benches/runtime.rs"
harness = false
required-features = ["helper"]

[[bench]]
name = "spawn"
path = "benches/spawn.rs"
harness = false
required-features = ["helper"]

[[bench]]
name = "unblock"
path = "benches/unblock.rs"
harness = false
required-features = ["unblock"]

[dependencies.futures-core]
version = "0.3.34"
optional = true
default-features = false

[dependencies.futures-io]
version = "0.3.34"
optional = true

[dependencies.tracing]
version = "0.1.44"
features = ["std"]
optional = true
default-features = false

[dev-dependencies.criterion]
version = "5.0.2"
features = ["async"]
package = "codspeed-criterion-compat"

[dev-dependencies.futures]
version = "0.3.34"
features = [
    "std",
    "executor",
]
default-features = false

[dev-dependencies.ntest]
version = "0.9.5"

[dev-dependencies.socket2]
version = "0.6.5"
features = ["all"]

[target.'cfg(any(unix, target_os = "wasi"))'.dependencies.rustix]
version = "1.1.5"
features = [
    "event",
    "pipe",
    "std",
    "time",
]
optional = true
default-features = false

[target.'cfg(not(all(target_os = "wasi", target_env = "p1")))'.dependencies.socket2]
version = "0.6.5"
optional = true

[target.'cfg(target_os = "linux")'.dev-dependencies.rustix]
version = "1.1.5"
features = ["thread"]

[target."cfg(windows)".dependencies.windows-sys]
version = "0.61.2"
features = ["Win32_Networking_WinSock"]
optional = true

[target."cfg(windows)".dev-dependencies.uds_windows]
version = "1.2.1"

[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
    "cfg(zruntime_poll)",
    "cfg(zruntime_kqueue)",
]

[profile.bench]
codegen-units = 1
debug = 2
strip = "none"