[package] name = "nuclei" version = "0.4.4" authors = ["Mahmut Bulut "] edition = "2021" description = "Proactive IO & runtime system" keywords = ["io", "async", "uring", "iouring", "proactor"] categories = ["concurrency", "asynchronous"] homepage = "https://github.com/vertexclique/nuclei" repository = "https://github.com/vertexclique/nuclei" documentation = "https://docs.rs/nuclei" license = "Apache-2.0/MIT" readme = "README.md" exclude = [ "data/*", ".github/*", "examples/*", "graphstore/*", "tests/*", "img/*", "ci/*", "benches/*", "doc/*", "docs/*", "*.png", "*.dot", "*.yml", "*.toml", "*.md" ] autoexamples = false [features] default = ["async-exec", "iouring", "attributes"] # Devs should enable these features to use iouring on linux. #default = ["asyncstd", "iouring"] epoll = [] iouring = ["rustix-uring", "rustix"] async-exec = ["async-global-executor"] tokio = ["async-global-executor/tokio"] attributes = ["nuclei-attributes"] [dependencies] nuclei-attributes = { version = "0.1", optional = true } lever = "0.1" futures = { version = "0.3", default-features = false, features = ["std", "async-await"] } socket2 = { version = "0.3.19", features = ["pair", "unix"] } pin-utils = "0.1.0" pin-project-lite = "0.2" crossbeam-channel = "0.5" once_cell = "1.19.0" os_socketaddr = "0.2.5" ahash = "0.8.7" async-global-executor = { version = "2.4", optional = true, features = ["async-io"] } # Other backends [target.'cfg(target_os = "linux")'.dependencies] rustix = { version = "0.38", optional = true } rustix-uring = { version = "0.2.0", optional = true } [target.'cfg(target_family = "unix")'.dependencies] libc = { version = "0.2" } [workspace] members = [ ".", "examples", ]