[[bench]]
harness = false
name = "fs"
path = "benches/fs.rs"
[[bench]]
harness = false
name = "net"
path = "benches/net.rs"
[dependencies.compio-buf]
version = "0.5.0"
[dependencies.compio-dispatcher]
optional = true
version = "0.4.0"
[dependencies.compio-driver]
default-features = false
version = "0.5.0"
[dependencies.compio-fs]
optional = true
version = "0.5.0"
[dependencies.compio-io]
optional = true
version = "0.4.0"
[dependencies.compio-log]
version = "0.1.0"
[dependencies.compio-macros]
optional = true
version = "0.1.2"
[dependencies.compio-net]
optional = true
version = "0.5.0"
[dependencies.compio-process]
optional = true
version = "0.2.0"
[dependencies.compio-quic]
optional = true
version = "0.1.0"
[dependencies.compio-runtime]
optional = true
version = "0.5.0"
[dependencies.compio-signal]
optional = true
version = "0.3.0"
[dependencies.compio-tls]
default-features = false
optional = true
version = "0.3.0"
[dev-dependencies.compio-buf]
features = ["bumpalo"]
version = "0.5.0"
[dev-dependencies.compio-macros]
version = "0.1.2"
[dev-dependencies.compio-runtime]
features = ["criterion"]
version = "0.5.0"
[dev-dependencies.criterion]
features = ["async_tokio"]
version = "0.5.1"
[dev-dependencies.futures-channel]
version = "0.3.29"
[dev-dependencies.futures-util]
version = "0.3.29"
[dev-dependencies.rand]
version = "0.8.5"
[dev-dependencies.tempfile]
version = "3.8.1"
[dev-dependencies.tokio]
features = ["fs", "io-util", "macros", "net", "rt"]
version = "1.33.0"
[[example]]
name = "basic"
path = "examples/basic.rs"
required-features = ["macros"]
[[example]]
name = "dispatcher"
path = "examples/dispatcher.rs"
required-features = ["macros", "dispatcher"]
[[example]]
name = "driver"
path = "examples/driver.rs"
[[example]]
name = "named_pipe"
path = "examples/named_pipe.rs"
required-features = ["macros"]
[[example]]
name = "net"
path = "examples/net.rs"
required-features = ["macros"]
[[example]]
name = "resolve"
path = "examples/resolve.rs"
required-features = ["macros"]
[[example]]
name = "tick"
path = "examples/tick.rs"
required-features = ["time", "signal", "macros"]
[[example]]
name = "unix"
path = "examples/unix.rs"
required-features = ["macros"]
[features]
all = ["time", "macros", "signal", "dispatcher", "native-tls", "rustls", "process", "quic", "h3"]
allocator_api = ["compio-buf/allocator_api", "compio-io?/allocator_api"]
arrayvec = ["compio-buf/arrayvec"]
bumpalo = ["compio-buf/bumpalo"]
bytes = ["compio-buf/bytes"]
criterion = ["compio-runtime?/criterion"]
default = ["runtime", "io-uring"]
dispatcher = ["dep:compio-dispatcher", "runtime"]
enable_log = ["compio-log/enable_log"]
event = ["compio-runtime/event", "runtime"]
h3 = ["quic", "compio-quic/h3"]
io = ["dep:compio-io"]
io-compat = ["io", "compio-io/compat", "compio-quic?/io-compat"]
io-uring = ["compio-driver/io-uring", "compio-fs?/io-uring", "compio-net?/io-uring", "compio-signal?/io-uring"]
lazy_cell = ["compio-signal?/lazy_cell"]
linux_pidfd = ["compio-process?/linux_pidfd"]
macros = ["dep:compio-macros", "runtime"]
native-tls = ["tls", "compio-tls/native-tls"]
nightly = ["allocator_api", "lazy_cell", "linux_pidfd", "once_cell_try", "read_buf", "try_trait_v2", "windows_by_handle"]
once_cell_try = ["compio-driver/once_cell_try", "compio-signal?/once_cell_try"]
polling = ["compio-driver/polling"]
process = ["dep:compio-process"]
quic = ["dep:compio-quic"]
read_buf = ["compio-buf/read_buf", "compio-io?/read_buf", "compio-tls?/read_buf", "compio-fs?/read_buf"]
real_blackbox = ["criterion/real_blackbox"]
runtime = ["dep:compio-runtime", "dep:compio-fs", "dep:compio-net", "io"]
rustls = ["tls", "compio-tls/rustls"]
signal = ["dep:compio-signal", "event"]
time = ["compio-runtime/time", "runtime"]
tls = ["dep:compio-tls"]
try_trait_v2 = ["compio-buf/try_trait_v2"]
windows_by_handle = ["compio-fs?/windows_by_handle"]
[lib]
name = "compio"
path = "src/lib.rs"
[package]
authors = ["Berrysoft <Strawberry_Str@hotmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autotests = false
build = false
categories = ["asynchronous", "filesystem", "network-programming"]
description = "Completion based async runtime"
edition = "2021"
keywords = ["async", "fs", "iocp", "io-uring", "net"]
license = "MIT"
name = "compio"
readme = "README.md"
repository = "https://github.com/compio-rs/compio"
version = "0.12.0"
[package.metadata.docs.rs]
all-features = true
default-target = "x86_64-unknown-linux-gnu"
rustdoc-args = ["--cfg", "docsrs"]
targets = ["x86_64-pc-windows-gnu", "x86_64-unknown-linux-gnu", "x86_64-apple-darwin", "aarch64-apple-ios", "aarch64-linux-android", "x86_64-unknown-dragonfly", "x86_64-unknown-freebsd", "x86_64-unknown-illumos", "x86_64-unknown-netbsd", "x86_64-unknown-openbsd"]
[target.'cfg(target_os = "linux")'.dev-dependencies.monoio]
default-features = false
features = ["iouring"]
version = "0.2.2"
[target."cfg(unix)".dev-dependencies.libc]
version = "0.2.149"
[target."cfg(unix)".dev-dependencies.nix]
features = ["fs"]
version = "0.29.0"
[target."cfg(windows)".dev-dependencies.widestring]
version = "1.0.2"
[target."cfg(windows)".dev-dependencies.windows-sys]
features = ["Win32_Storage_FileSystem"]
version = "0.52.0"
[[test]]
name = "runtime"
path = "tests/runtime.rs"