forked from compio-rs/compio
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
105 lines (89 loc) · 2.67 KB
/
Cargo.toml
File metadata and controls
105 lines (89 loc) · 2.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
[package]
name = "compio-driver"
version = "0.12.0-rc.1"
description = "Low-level driver for compio"
categories = ["asynchronous"]
keywords = ["async", "iocp", "io-uring"]
readme = "README.md"
edition = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
targets = [
"x86_64-unknown-linux-gnu",
"x86_64-pc-windows-msvc",
"aarch64-apple-darwin",
]
[dependencies]
# Workspace dependencies
compio-buf = { workspace = true }
compio-log = { workspace = true }
compio-send-wrapper = { workspace = true }
# Utils
cfg-if = { workspace = true }
flume = { workspace = true, default-features = false }
futures-util = { workspace = true }
socket2 = { workspace = true, features = ["all"] }
thin-cell = { workspace = true, features = ["weak"] }
synchrony = { workspace = true, features = ["waker_slot"] }
bitflags = { version = "2.11.0" }
paste = { workspace = true }
mod_use = "0.2.3"
rustix = { workspace = true, features = ["net"] }
# Windows specific dependencies
[target.'cfg(windows)'.dependencies]
once_cell = { workspace = true }
windows-sys = { workspace = true, 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",
"Win32_System_WindowsProgramming",
] }
# Linux specific dependencies
[target.'cfg(target_os = "linux")'.dependencies]
compile_warning = { version = "0.1.0", optional = true }
io-uring = { version = "0.7.12", optional = true }
once_cell = { workspace = true, optional = true }
polling = { version = "3.3.0", optional = true }
rustix = { workspace = true, features = ["linux_5_11"] }
# Other platform dependencies
[target.'cfg(all(unix, not(target_os = "linux")))'.dependencies]
polling = "3.3.0"
[target.'cfg(unix)'.dependencies]
smallvec = { workspace = true, features = ["union"] }
crossbeam-queue = { workspace = true }
libc = { workspace = true }
rustix = { workspace = true, features = ["fs", "pipe"] }
[dev-dependencies]
nix = { workspace = true, features = ["mman"] }
[build-dependencies]
cfg_aliases = { workspace = true }
[features]
default = ["io-uring"]
io-uring = [
"rustix/mm",
"rustix/event",
"rustix/system",
"dep:io-uring",
"dep:once_cell",
]
polling = ["dep:polling"]
sync = []
io-uring-sqe128 = []
io-uring-cqe32 = []
iocp-global = []
iocp-wait-packet = []
# Nightly features
once_cell_try = []
proc_macro_diagnostic = ["dep:compile_warning"]
nightly = ["once_cell_try", "proc_macro_diagnostic"]
[[test]]
name = "buffer_pool"