[package]
name = "rsloop"
version = "0.1.15"
edition = "2021"
description = "An event loop for asyncio written in Rust"
license = "Apache-2.0"
readme = "README.md"
repository = "https://github.com/RustedBytes/rsloop"
homepage = "https://github.com/RustedBytes/rsloop"
documentation = "https://github.com/RustedBytes/rsloop#readme"

[lib]
name = "rsloop"
crate-type = ["cdylib", "rlib"]

[features]
default = []
profiler = ["dep:tracy-client", "profiling/profile-with-tracy"]

[dependencies]
async-std = "1"
compio = { version = "0.18", default-features = false, features = ["runtime", "net", "io", "signal", "time", "io-uring"] }
crossbeam-channel = "0.5"
futures = { version = "0.3", default-features = false, features = ["std"] }
libc = "0.2"
profiling = "1"
pyo3 = { version = "0.28", features = ["extension-module"] }
pyo3-async-runtimes = { version = "0.28", features = ["async-std-runtime"] }
rustls = "0.23"
rustls-native-certs = "0.8"
rustls-pemfile = "2"
signal-hook = "0.4"
socket2 = "0.6"
tracy-client = { version = "0.18", default-features = false, features = ["enable", "only-localhost", "sampling", "flush-on-exit"], optional = true }

[target.'cfg(windows)'.dependencies]
tokio = { version = "1", default-features = false, features = ["io-util"] }
vibeio = { version = "0.2.5", default-features = false }
windows-sys = { version = "0.61", features = ["Win32_Foundation", "Win32_Networking_WinSock", "Win32_System_Pipes", "Win32_System_Threading"] }

[build-dependencies]
pyo3-build-config = "0.28"

[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
incremental = false
# strip = true

[profile.bench]
inherits = "release"
