[package]
authors = ["ChiHai <ihciah@gmail.com>", "XuShuai <dyxushuai@gmail.com>"]
categories = ["asynchronous", "network-programming"]
description = "A thread per core runtime based on iouring."
edition = "2021"
keywords = ["runtime", "iouring", "async"]
license = "MIT OR Apache-2.0"
name = "monoio"
readme = "../README.md"
repository = "https://github.com/bytedance/monoio"
version = "0.2.4"
[dependencies]
monoio-macros = { version = "0.1.0", path = "../monoio-macros", optional = true }
auto-const-array = "0.2"
fxhash = "0.2"
libc = "0.2"
pin-project-lite = "0.2"
socket2 = { version = "0.5", features = ["all"] }
memchr = "2.7"
bytes = { version = "1", optional = true }
flume = { version = "0.11", optional = true }
mio = { version = "0.8", features = [
"net",
"os-poll",
"os-ext",
], optional = true }
threadpool = { version = "1", optional = true }
tokio = { version = "1", default-features = false, optional = true }
tracing = { version = "0.1", default-features = false, features = [
"std",
], optional = true }
ctrlc = { version = "3", optional = true }
lazy_static = { version = "1", optional = true }
once_cell = { version = "1.19.0", optional = true }
[target.'cfg(windows)'.dependencies]
windows-sys = { version = "0.48.0", features = [
"Win32_Foundation",
"Win32_Networking_WinSock",
"Win32_System_IO",
"Win32_Storage_FileSystem",
"Win32_Security"
] }
[target.'cfg(unix)'.dependencies]
nix = { version = "0.26", optional = true }
[target.'cfg(target_os = "linux")'.dependencies]
io-uring = { version = "0.6", optional = true }
[dev-dependencies]
futures = "0.3"
local-sync = "0.0.5"
tempfile = "3.2"
[features]
unstable = []
async-cancel = []
zero-copy = []
splice = []
mkdirat = []
unlinkat = []
renameat = []
macros = ["monoio-macros"]
sync = ["flume", "threadpool", "once_cell"]
utils = ["nix"]
debug = ["tracing"]
legacy = ["mio"]
iouring = ["io-uring"]
tokio-compat = ["tokio"]
poll-io = ["tokio", "mio"]
signal = ["ctrlc", "sync"]
signal-termination = ["signal", "ctrlc/termination"]
default = ["async-cancel", "bytes", "iouring", "legacy", "macros", "utils"]
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(loom)'] }