mirror of
https://gitlab.com/veilid/veilid.git
synced 2025-03-12 08:56:33 -04:00
[ci skip]revert rtnetlink upgrade
This commit is contained in:
parent
d0e751ea25
commit
7f36cc0092
439
Cargo.lock
generated
439
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -27,12 +27,12 @@ rt-async-std = [
|
||||
rt-tokio = ["tokio", "tokio-util", "veilid-tools/rt-tokio", "cursive/rt-tokio"]
|
||||
|
||||
[dependencies]
|
||||
async-std = { version = "1.12.0", features = [
|
||||
async-std = { version = "1.13.0", features = [
|
||||
"unstable",
|
||||
"attributes",
|
||||
], optional = true }
|
||||
tokio = { version = "1.38.1", features = ["full", "tracing"], optional = true }
|
||||
tokio-util = { version = "0.7.11", features = ["compat"], optional = true }
|
||||
tokio = { version = "1.43.0", features = ["full", "tracing"], optional = true }
|
||||
tokio-util = { version = "0.7.13", features = ["compat"], optional = true }
|
||||
async-tungstenite = { version = "^0.23" }
|
||||
cursive = { git = "https://gitlab.com/veilid/cursive.git", default-features = false, features = [
|
||||
"crossterm",
|
||||
@ -44,7 +44,7 @@ cursive_buffered_backend = { git = "https://gitlab.com/veilid/cursive-buffered-b
|
||||
# cursive-multiplex = "0.6.0"
|
||||
# cursive_tree_view = "0.6.0"
|
||||
cursive_table_view = { git = "https://gitlab.com/veilid/cursive-table-view.git" }
|
||||
arboard = { version = "3.4.0", default-features = false }
|
||||
arboard = { version = "3.4.1", default-features = false }
|
||||
# cursive-tabs = "0.5.0"
|
||||
clap = { version = "4", features = ["derive"] }
|
||||
directories = "^5"
|
||||
@ -68,12 +68,12 @@ flume = { version = "^0", features = ["async"] }
|
||||
data-encoding = { version = "^2" }
|
||||
indent = { version = "0.1.1" }
|
||||
|
||||
chrono = "0.4.38"
|
||||
chrono = "0.4.40"
|
||||
owning_ref = "0.4.1"
|
||||
unicode-width = "0.1.13"
|
||||
unicode-width = "0.1.14"
|
||||
lru = "0.10.1"
|
||||
rustyline-async = "0.4.2"
|
||||
console = "0.15.8"
|
||||
rustyline-async = "0.4.5"
|
||||
console = "0.15.11"
|
||||
|
||||
[dev-dependencies]
|
||||
serial_test = "^2"
|
||||
|
@ -71,8 +71,8 @@ veilid-tools = { version = "0.4.3", path = "../veilid-tools", features = [
|
||||
"tracing",
|
||||
], default-features = false }
|
||||
paste = "1.0.15"
|
||||
once_cell = "1.19.0"
|
||||
backtrace = "0.3.71"
|
||||
once_cell = "1.20.3"
|
||||
backtrace = "^0.3.71"
|
||||
num-traits = "0.2.19"
|
||||
shell-words = "1.1.0"
|
||||
static_assertions = "1.1.0"
|
||||
@ -82,14 +82,14 @@ lazy_static = "1.5.0"
|
||||
directories = "5.0.1"
|
||||
|
||||
# Logging
|
||||
tracing = { version = "0.1.40", features = ["log", "attributes"] }
|
||||
tracing = { version = "0.1.41", features = ["log", "attributes"] }
|
||||
tracing-subscriber = "0.3.19"
|
||||
tracing-error = "0.2.0"
|
||||
tracing-error = "0.2.1"
|
||||
eyre = "0.6.12"
|
||||
thiserror = "1.0.63"
|
||||
thiserror = "1.0.69"
|
||||
|
||||
# Data structures
|
||||
enumset = { version = "1.1.3", features = ["serde"] }
|
||||
enumset = { version = "1.1.5", features = ["serde"] }
|
||||
keyvaluedb = "0.1.2"
|
||||
range-set-blaze = "0.1.16"
|
||||
weak-table = "0.3.2"
|
||||
@ -98,10 +98,10 @@ hashlink = { package = "veilid-hashlink", version = "0.1.1", features = [
|
||||
] }
|
||||
|
||||
# System
|
||||
futures-util = { version = "0.3.30", default-features = false, features = [
|
||||
futures-util = { version = "0.3.31", default-features = false, features = [
|
||||
"alloc",
|
||||
] }
|
||||
flume = { version = "0.11.0", features = ["async"] }
|
||||
flume = { version = "0.11.1", features = ["async"] }
|
||||
parking_lot = "0.12.3"
|
||||
lock_api = "0.4.12"
|
||||
stop-token = { version = "0.7.0", default-features = false }
|
||||
@ -124,23 +124,23 @@ curve25519-dalek = { version = "4.1.3", default-features = false, features = [
|
||||
"zeroize",
|
||||
"precomputed-tables",
|
||||
] }
|
||||
blake3 = { version = "1.5.3" }
|
||||
blake3 = { version = "1.6.1" }
|
||||
chacha20poly1305 = "0.10.1"
|
||||
chacha20 = "0.9.1"
|
||||
argon2 = "0.5.3"
|
||||
|
||||
# Network
|
||||
async-std-resolver = { version = "0.24.1", optional = true }
|
||||
hickory-resolver = { version = "0.24.1", optional = true }
|
||||
async-std-resolver = { version = "0.24.4", optional = true }
|
||||
hickory-resolver = { version = "0.24.4", optional = true }
|
||||
|
||||
# Serialization
|
||||
capnp = { version = "0.19.6", default-features = false, features = ["alloc"] }
|
||||
serde = { version = "1.0.214", features = ["derive", "rc"] }
|
||||
serde_json = { version = "1.0.132" }
|
||||
capnp = { version = "0.19.8", default-features = false, features = ["alloc"] }
|
||||
serde = { version = "1.0.218", features = ["derive", "rc"] }
|
||||
serde_json = { version = "1.0.140" }
|
||||
serde-big-array = "0.5.1"
|
||||
json = "0.12.4"
|
||||
data-encoding = { version = "2.6.0" }
|
||||
schemars = "0.8.21"
|
||||
data-encoding = { version = "2.8.0" }
|
||||
schemars = "0.8.22"
|
||||
lz4_flex = { version = "0.11.3", default-features = false, features = [
|
||||
"safe-encode",
|
||||
"safe-decode",
|
||||
@ -155,18 +155,18 @@ sanitize-filename = "0.5.0"
|
||||
# Tools
|
||||
config = { version = "0.13.4", default-features = false, features = ["yaml"] }
|
||||
bugsalot = { package = "veilid-bugsalot", version = "0.2.0" }
|
||||
chrono = "0.4.38"
|
||||
libc = "0.2.155"
|
||||
chrono = "0.4.40"
|
||||
libc = "0.2.170"
|
||||
nix = "0.27.1"
|
||||
maxminddb = { version = "0.24.0", optional = true }
|
||||
|
||||
# System
|
||||
async-std = { version = "1.12.0", features = ["unstable"], optional = true }
|
||||
async-std = { version = "1.13.0", features = ["unstable"], optional = true }
|
||||
sysinfo = { version = "^0.30.13", default-features = false }
|
||||
tokio = { version = "1.38.1", features = ["full"], optional = true }
|
||||
tokio-util = { version = "0.7.11", features = ["compat"], optional = true }
|
||||
tokio-stream = { version = "0.1.15", features = ["net"], optional = true }
|
||||
futures-util = { version = "0.3.30", default-features = false, features = [
|
||||
tokio = { version = "1.43.0", features = ["full"], optional = true }
|
||||
tokio-util = { version = "0.7.13", features = ["compat"], optional = true }
|
||||
tokio-stream = { version = "0.1.17", features = ["net"], optional = true }
|
||||
futures-util = { version = "0.3.31", default-features = false, features = [
|
||||
"async-await",
|
||||
"sink",
|
||||
"std",
|
||||
@ -201,9 +201,9 @@ async_executors = { version = "0.7.0", default-features = false, features = [
|
||||
"bindgen",
|
||||
"timer",
|
||||
] }
|
||||
wasm-bindgen = "0.2.92"
|
||||
js-sys = "0.3.69"
|
||||
wasm-bindgen-futures = "0.4.42"
|
||||
wasm-bindgen = "0.2.100"
|
||||
js-sys = "0.3.77"
|
||||
wasm-bindgen-futures = "0.4.50"
|
||||
send_wrapper = { version = "0.6.0", features = ["futures"] }
|
||||
serde_bytes = { version = "0.11", default-features = false, features = [
|
||||
"alloc",
|
||||
@ -223,7 +223,7 @@ keyvaluedb-web = "0.1.2"
|
||||
|
||||
### Configuration for WASM32 'web-sys' crate
|
||||
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies.web-sys]
|
||||
version = "0.3.69"
|
||||
version = "0.3.77"
|
||||
features = [
|
||||
'Document',
|
||||
'HtmlDocument',
|
||||
@ -263,13 +263,13 @@ tracing-oslog = { version = "0.1.2", optional = true }
|
||||
[target.'cfg(not(all(target_arch = "wasm32", target_os = "unknown")))'.dev-dependencies]
|
||||
simplelog = { version = "0.12.2", features = ["test"] }
|
||||
serial_test = "2.0.0"
|
||||
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
|
||||
tracing-subscriber = { version = "0.3.19", features = ["env-filter"] }
|
||||
|
||||
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dev-dependencies]
|
||||
serial_test = { version = "2.0.0", default-features = false, features = [
|
||||
"async",
|
||||
] }
|
||||
wasm-bindgen-test = "0.3.42"
|
||||
wasm-bindgen-test = "0.3.50"
|
||||
console_error_panic_hook = "0.1.7"
|
||||
wee_alloc = "0.4.5"
|
||||
wasm-logger = "0.2.0"
|
||||
@ -278,8 +278,8 @@ wasm-logger = "0.2.0"
|
||||
|
||||
[build-dependencies]
|
||||
capnpc = "0.19.0"
|
||||
glob = "0.3.1"
|
||||
filetime = "0.2.23"
|
||||
glob = "0.3.2"
|
||||
filetime = "0.2.25"
|
||||
sha2 = "0.10.8"
|
||||
hex = "0.4.3"
|
||||
reqwest = { version = "0.11", features = ["blocking"], optional = true }
|
||||
|
@ -35,17 +35,17 @@ debug-load = ["dep:ctor", "dep:libc-print", "dep:android_log-sys", "dep:oslog"]
|
||||
|
||||
[dependencies]
|
||||
veilid-core = { path = "../../veilid-core", default-features = false }
|
||||
tracing = { version = "0.1.40", features = ["log", "attributes"] }
|
||||
tracing = { version = "0.1.41", features = ["log", "attributes"] }
|
||||
tracing-subscriber = "0.3.19"
|
||||
parking_lot = "0.12.3"
|
||||
backtrace = "0.3.71"
|
||||
serde_json = "1.0.120"
|
||||
serde = "1.0.204"
|
||||
futures-util = { version = "0.3.30", default-features = false, features = [
|
||||
backtrace = "^0.3.71"
|
||||
serde_json = "1.0.140"
|
||||
serde = "1.0.218"
|
||||
futures-util = { version = "0.3.31", default-features = false, features = [
|
||||
"alloc",
|
||||
] }
|
||||
cfg-if = "1.0.0"
|
||||
data-encoding = { version = "2.6.0" }
|
||||
data-encoding = { version = "2.8.0" }
|
||||
tracing-flame = "0.2.0"
|
||||
|
||||
# Dependencies for native builds only
|
||||
@ -55,15 +55,15 @@ tracing-opentelemetry = "0.21"
|
||||
opentelemetry = { version = "0.20" }
|
||||
opentelemetry-otlp = { version = "0.13" }
|
||||
opentelemetry-semantic-conventions = "0.12"
|
||||
async-std = { version = "1.12.0", features = ["unstable"], optional = true }
|
||||
tokio = { version = "1.38.1", features = ["full"], optional = true }
|
||||
tokio-stream = { version = "0.1.15", features = ["net"], optional = true }
|
||||
tokio-util = { version = "0.7.11", features = ["compat"], optional = true }
|
||||
allo-isolate = "0.1.25"
|
||||
async-std = { version = "1.13.0", features = ["unstable"], optional = true }
|
||||
tokio = { version = "1.43.0", features = ["full"], optional = true }
|
||||
tokio-stream = { version = "0.1.17", features = ["net"], optional = true }
|
||||
tokio-util = { version = "0.7.13", features = ["compat"], optional = true }
|
||||
allo-isolate = "0.1.26"
|
||||
ffi-support = "0.4.4"
|
||||
lazy_static = "1.5.0"
|
||||
hostname = "0.3.1"
|
||||
ctor = { version = "0.2.8", optional = true }
|
||||
ctor = { version = "0.2.9", optional = true }
|
||||
libc-print = { version = "0.1.23", optional = true }
|
||||
|
||||
|
||||
@ -74,7 +74,7 @@ libc-print = { version = "0.1.23", optional = true }
|
||||
[target.'cfg(target_os = "android")'.dependencies]
|
||||
jni = "0.21.1"
|
||||
paranoid-android = "0.2.2"
|
||||
android_log-sys = { version = "0.3.1", optional = true }
|
||||
android_log-sys = { version = "0.3.2", optional = true }
|
||||
|
||||
# Dependencies for iOS builds only
|
||||
[target.'cfg(target_os = "ios")'.dependencies]
|
||||
|
@ -53,8 +53,8 @@ geolocation = ["veilid-core/geolocation"]
|
||||
|
||||
[dependencies]
|
||||
veilid-core = { path = "../veilid-core", default-features = false }
|
||||
tracing = { version = "^0.1.40", features = ["log", "attributes"] }
|
||||
tracing-subscriber = { version = "^0.3.18", features = ["env-filter", "time"] }
|
||||
tracing = { version = "^0.1.41", features = ["log", "attributes"] }
|
||||
tracing-subscriber = { version = "^0.3.19", features = ["env-filter", "time"] }
|
||||
tracing-appender = "^0.2.3"
|
||||
tracing-opentelemetry = "^0.24.0"
|
||||
# Buggy: tracing-error = "^0"
|
||||
@ -62,21 +62,21 @@ opentelemetry = { version = "^0.23" }
|
||||
opentelemetry-otlp = { version = "^0.16.0", default-features = false, optional = true }
|
||||
opentelemetry_sdk = "0.23.0"
|
||||
opentelemetry-semantic-conventions = "^0.16.0"
|
||||
async-std = { version = "^1.12.0", features = ["unstable"], optional = true }
|
||||
tokio = { version = "^1.38.1", features = ["full", "tracing"], optional = true }
|
||||
tokio-stream = { version = "^0.1.15", features = ["net"], optional = true }
|
||||
tokio-util = { version = "^0.7.11", features = ["compat"], optional = true }
|
||||
async-std = { version = "^1.13.0", features = ["unstable"], optional = true }
|
||||
tokio = { version = "^1.43.0", features = ["full", "tracing"], optional = true }
|
||||
tokio-stream = { version = "^0.1.17", features = ["net"], optional = true }
|
||||
tokio-util = { version = "^0.7.13", features = ["compat"], optional = true }
|
||||
console-subscriber = { version = "^0.3.0", optional = true }
|
||||
async-tungstenite = { version = "^0.27.0", features = ["async-tls"] }
|
||||
color-eyre = { version = "^0.6.3", default-features = false }
|
||||
backtrace = "^0.3.71"
|
||||
clap = { version = "^4.5.9", features = ["derive", "string", "wrap_help"] }
|
||||
clap = { version = "^4.5.31", features = ["derive", "string", "wrap_help"] }
|
||||
directories = "^5.0.1"
|
||||
parking_lot = "^0.12.3"
|
||||
config = { version = "^0.14.0", default-features = false, features = ["yaml"] }
|
||||
config = { version = "^0.14.1", default-features = false, features = ["yaml"] }
|
||||
cfg-if = "^1.0.0"
|
||||
serde = "^1.0.204"
|
||||
serde_derive = "^1.0.204"
|
||||
serde = "^1.0.218"
|
||||
serde_derive = "^1.0.218"
|
||||
serde_yaml = { package = "serde_yaml_ng", version = "^0.10.0" }
|
||||
json = "^0"
|
||||
futures-util = { version = "^0", default-features = false, features = [
|
||||
@ -91,10 +91,10 @@ rpassword = "^7"
|
||||
hostname = "^0"
|
||||
stop-token = { version = "^0", default-features = false }
|
||||
sysinfo = { version = "^0.30.13", default-features = false }
|
||||
wg = { version = "^0.9.1", features = ["future"] }
|
||||
wg = { version = "^0.9.2", features = ["future"] }
|
||||
tracing-flame = { version = "0.2.0", optional = true }
|
||||
time = { version = "0.3.36", features = ["local-offset"] }
|
||||
chrono = "0.4.38"
|
||||
time = { version = "0.3.38", features = ["local-offset"] }
|
||||
chrono = "0.4.40"
|
||||
|
||||
[target.'cfg(windows)'.dependencies]
|
||||
windows-service = "^0"
|
||||
@ -108,10 +108,10 @@ nix = "^0.29.0"
|
||||
tracing-perfetto = { version = "0.1.5", optional = true }
|
||||
|
||||
[target.'cfg(target_os = "linux")'.dependencies]
|
||||
tracing-journald = "^0.3.0"
|
||||
tracing-journald = "^0.3.1"
|
||||
|
||||
[dev-dependencies]
|
||||
serial_test = "^3.1.1"
|
||||
serial_test = "^3.2.0"
|
||||
|
||||
[lints]
|
||||
workspace = true
|
||||
|
@ -68,66 +68,65 @@ virtual-router-bin = [
|
||||
]
|
||||
|
||||
[dependencies]
|
||||
tracing = { version = "0.1.40", features = [
|
||||
tracing = { version = "0.1.41", features = [
|
||||
"log",
|
||||
"attributes",
|
||||
], optional = true }
|
||||
tracing-subscriber = { version = "0.3.18", features = [
|
||||
tracing-subscriber = { version = "0.3.19", features = [
|
||||
"env-filter",
|
||||
"time",
|
||||
], optional = true }
|
||||
log = { version = "0.4.22" }
|
||||
log = { version = "0.4.26" }
|
||||
eyre = "0.6.12"
|
||||
static_assertions = "1.1.0"
|
||||
serde = { version = "1.0.214", features = ["derive", "rc"] }
|
||||
postcard = { version = "1.0.10", features = ["use-std"] }
|
||||
serde = { version = "1.0.218", features = ["derive", "rc"] }
|
||||
postcard = { version = "1.1.1", features = ["use-std"] }
|
||||
cfg-if = "1.0.0"
|
||||
thiserror = "1.0.63"
|
||||
futures-util = { version = "0.3.30", default-features = false, features = [
|
||||
thiserror = "1.0.69"
|
||||
futures-util = { version = "0.3.31", default-features = false, features = [
|
||||
"alloc",
|
||||
] }
|
||||
futures_codec = "0.4.1"
|
||||
parking_lot = "0.12.3"
|
||||
async-lock = "3.4.0"
|
||||
once_cell = "1.19.0"
|
||||
once_cell = "1.20.3"
|
||||
stop-token = { version = "0.7.0", default-features = false }
|
||||
rand = "0.8.5"
|
||||
rand_core = "0.6.4"
|
||||
backtrace = "0.3.71"
|
||||
backtrace = "^0.3.71"
|
||||
fn_name = "0.1.0"
|
||||
range-set-blaze = "0.1.16"
|
||||
flume = { version = "0.11.0", features = ["async"] }
|
||||
flume = { version = "0.11.1", features = ["async"] }
|
||||
imbl = { version = "3.0.0", features = ["serde"] }
|
||||
|
||||
|
||||
# Dependencies for native builds only
|
||||
# Linux, Windows, Mac, iOS, Android
|
||||
[target.'cfg(not(all(target_arch = "wasm32", target_os = "unknown")))'.dependencies]
|
||||
async-io = { version = "1.13.0" }
|
||||
async-std = { version = "1.12.0", features = ["unstable"], optional = true }
|
||||
async-std = { version = "1.13.0", features = ["unstable"], optional = true }
|
||||
bugsalot = { package = "veilid-bugsalot", version = "0.2.0", optional = true }
|
||||
time = { version = "0.3.36", features = [
|
||||
time = { version = "0.3.38", features = [
|
||||
"local-offset",
|
||||
"formatting",
|
||||
], optional = true }
|
||||
chrono = "0.4.38"
|
||||
chrono = "0.4.40"
|
||||
ctrlc = "^3"
|
||||
futures-util = { version = "0.3.30", default-features = false, features = [
|
||||
futures-util = { version = "0.3.31", default-features = false, features = [
|
||||
"async-await",
|
||||
"sink",
|
||||
"std",
|
||||
"io",
|
||||
] }
|
||||
indent = { version = "0.1.1", optional = true }
|
||||
libc = "0.2.155"
|
||||
libc = "0.2.170"
|
||||
nix = { version = "0.27.1", features = ["user"] }
|
||||
socket2 = { version = "0.5.7", features = ["all"] }
|
||||
tokio = { version = "1.38.1", features = ["full"], optional = true }
|
||||
tokio-util = { version = "0.7.11", features = ["compat"], optional = true }
|
||||
tokio-stream = { version = "0.1.15", features = ["net"], optional = true }
|
||||
socket2 = { version = "0.5.8", features = ["all"] }
|
||||
tokio = { version = "1.43.0", features = ["full"], optional = true }
|
||||
tokio-util = { version = "0.7.13", features = ["compat"], optional = true }
|
||||
tokio-stream = { version = "0.1.17", features = ["net"], optional = true }
|
||||
|
||||
ws_stream_tungstenite = { version = "0.14.0", optional = true }
|
||||
async-tungstenite = { version = "0.28.0", optional = true }
|
||||
async-tungstenite = { version = "0.28.2", optional = true }
|
||||
clap = { version = "4", features = ["derive"], optional = true }
|
||||
ipnet = { version = "2", features = ["serde"], optional = true }
|
||||
serde_yaml = { package = "serde_yaml_ng", version = "^0.10.0", optional = true }
|
||||
@ -136,9 +135,9 @@ rand_chacha = { version = "0.3.1", optional = true }
|
||||
|
||||
# Dependencies for WASM builds only
|
||||
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies]
|
||||
wasm-bindgen = "0.2.92"
|
||||
js-sys = "0.3.70"
|
||||
wasm-bindgen-futures = "0.4.42"
|
||||
wasm-bindgen = "0.2.100"
|
||||
js-sys = "0.3.77"
|
||||
wasm-bindgen-futures = "0.4.50"
|
||||
async_executors = { version = "0.7.0", default-features = false }
|
||||
getrandom = { version = "0.2", features = ["js"] }
|
||||
ws_stream_wasm = { version = "0.7.4", optional = true }
|
||||
@ -184,7 +183,7 @@ serial_test = { version = "2.0.0", default-features = false, features = [
|
||||
"async",
|
||||
] }
|
||||
console_error_panic_hook = "0.1.7"
|
||||
wasm-bindgen-test = "0.3.42"
|
||||
wasm-bindgen-test = "0.3.50"
|
||||
wee_alloc = "0.4.5"
|
||||
wasm-logger = "0.2.0"
|
||||
tracing-wasm = { version = "0.2.1" }
|
||||
|
@ -14,9 +14,6 @@ type SequenceType = u16;
|
||||
const HEADER_LEN: usize = 8;
|
||||
const MAX_LEN: usize = LengthType::MAX as usize;
|
||||
|
||||
// XXX: keep statistics on all drops and why we dropped them
|
||||
// XXX: move to config eventually?
|
||||
|
||||
/// The hard-coded maximum fragment size used by AssemblyBuffer
|
||||
///
|
||||
/// Eventually this should parameterized and made configurable.
|
||||
@ -119,7 +116,7 @@ impl PeerMessages {
|
||||
let mut assembly = MessageAssembly {
|
||||
timestamp,
|
||||
seq,
|
||||
data: vec![0u8; len as usize],
|
||||
data: unsafe { unaligned_u8_vec_uninit(len as usize) },
|
||||
parts: RangeSetBlaze::from_iter([part_start..=part_end]),
|
||||
};
|
||||
assembly.data[part_start as usize..=part_end as usize].copy_from_slice(chunk);
|
||||
@ -229,6 +226,7 @@ struct AssemblyBufferUnlockedInner {
|
||||
/// * No sequencing of packets. Packets may still be delivered to the application out of order, but this guarantees that only whole packets will be delivered if all of their fragments are received.
|
||||
|
||||
#[derive(Clone)]
|
||||
#[must_use]
|
||||
pub struct AssemblyBuffer {
|
||||
inner: Arc<Mutex<AssemblyBufferInner>>,
|
||||
unlocked_inner: Arc<AssemblyBufferUnlockedInner>,
|
||||
@ -247,7 +245,6 @@ impl AssemblyBuffer {
|
||||
}
|
||||
}
|
||||
|
||||
#[must_use]
|
||||
pub fn new() -> Self {
|
||||
Self {
|
||||
inner: Arc::new(Mutex::new(Self::new_inner())),
|
||||
|
Loading…
x
Reference in New Issue
Block a user