[package] name = "completeio" version = "0.1.0" edition = "2021" authors = ["Rinat Shigapov ", "Berrysoft "] readme = "README.md" license = "MIT" description = "Completion based IO drivers and async runtime" categories = ["asynchronous", "filesystem", "network-programming"] keywords = ["io-uring", "fs", "iocp", "net", "async"] repository = "https://github.com/DXist/completeio" [package.metadata.docs.rs] all-features = true targets = [ "aarch64-apple-ios", "aarch64-linux-android", "x86_64-apple-darwin", "x86_64-pc-windows-msvc", "x86_64-unknown-dragonfly", "x86_64-unknown-freebsd", "x86_64-unknown-illumos", "x86_64-unknown-linux-gnu", "x86_64-unknown-netbsd", "x86_64-unknown-openbsd", ] # Shared dependencies for all platforms [dependencies] arrayvec = { version = "0.7", optional = true } async-task = { version = "4", optional = true } boot-time = { version = "0.1", optional = true } bytes = { version = "1", optional = true } cfg-if = "1" futures-util = { version = "0.3", optional = true } # may be excluded from linking if the unstable equivalent is used once_cell = "1" slab = { version = "0.4", optional = true } socket2 = { version = ">=0.5.4", features = ["all"] } # Shared dev dependencies for all platforms [dev-dependencies] arrayvec = "0.7" bumpalo = "3" criterion = { version = "0.5", features = ["async_tokio"] } futures-channel = "0.3" tempfile = "3" tokio = { version = "1", features = ["fs", "io-util", "macros", "net", "rt"] } # Windows specific dependencies [target.'cfg(target_os = "windows")'.dependencies] boot-time = "0.1" widestring = "1" windows-sys = { version = "0.48", features = [ "Win32_Foundation", "Win32_Networking_WinSock", "Win32_Security", "Win32_Storage_FileSystem", "Win32_System_Console", "Win32_System_IO", "Win32_System_Pipes", "Win32_System_SystemServices", "Win32_System_Threading", ] } # Windows specific dev dependencies [target.'cfg(target_os = "windows")'.dev-dependencies] windows-sys = { version = "0.48", features = ["Win32_Security_Authorization"] } # Linux specific dependencies [target.'cfg(target_os = "linux")'.dependencies] io-uring = "0.6.2" libc = "0.2" # Other platform dependencies [target.'cfg(all(not(target_os = "linux"), unix))'.dependencies] mio = { version = "0.8", features = ["os-ext"] } libc = "0.2" boot-time = "0.1" [features] default = ["time"] time = [] runtime = ["dep:async-task", "dep:futures-util", "dep:slab"] runtime-time = ["runtime", "time", "dep:boot-time"] event = ["runtime", "arrayvec"] signal = ["event"] all = ["runtime-time", "signal"] allocator_api = ["bumpalo/allocator_api"] lazy_cell = [] once_cell_try = [] read_buf = [] nightly = ["allocator_api", "lazy_cell", "once_cell_try", "read_buf"] [[example]] name = "tick" required-features = ["time", "signal"] [[bench]] name = "fs" harness = false [[bench]] name = "net" harness = false [[bench]] name = "named_pipe" harness = false [[test]] name = "event" required-features = ["event"]