Merge pull request #107 from greatest-ape/work-2023-01-03

Fix ws issue, update dependencies
This commit is contained in:
Joakim Frostegård 2023-01-03 18:47:24 +01:00 committed by GitHub
commit 892b77ca61
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 40 additions and 57 deletions

74
Cargo.lock generated
View file

@ -366,9 +366,9 @@ dependencies = [
[[package]] [[package]]
name = "arc-swap" name = "arc-swap"
version = "1.5.1" version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "983cd8b9d4b02a6dc6ffa557262eb5858a27a0038ffffe21a0f133eaa819a164" checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
[[package]] [[package]]
name = "arrayref" name = "arrayref"
@ -395,9 +395,9 @@ dependencies = [
[[package]] [[package]]
name = "async-tungstenite" name = "async-tungstenite"
version = "0.18.0" version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4b750efd83b7e716a015eed5ebb583cda83c52d9b24a8f0125e5c48c3313c9f8" checksum = "8e6acf7e4a267eecbb127ed696bb2d50572c22ba7f586a646321e1798d8336a1"
dependencies = [ dependencies = [
"futures-io", "futures-io",
"futures-util", "futures-util",
@ -657,16 +657,15 @@ dependencies = [
[[package]] [[package]]
name = "console" name = "console"
version = "0.15.2" version = "0.15.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c050367d967ced717c04b65d8c619d863ef9292ce0c5760028655a2fb298718c" checksum = "c9b6515d269224923b26b5febea2ed42b2d5f2ce37284a4dd670fedd6cb8347a"
dependencies = [ dependencies = [
"encode_unicode", "encode_unicode",
"lazy_static", "lazy_static",
"libc", "libc",
"terminal_size",
"unicode-width", "unicode-width",
"winapi 0.3.9", "windows-sys",
] ]
[[package]] [[package]]
@ -1177,9 +1176,9 @@ checksum = "dec7af912d60cdbd3677c1af9352ebae6fb8394d165568a2234df0fa00f87793"
[[package]] [[package]]
name = "git-testament" name = "git-testament"
version = "0.2.1" version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "080c47ef3c243fb13474429c14dce386021cd64de731c353998a745c2fa2435b" checksum = "2bddca8182c031676362c5ceb276478870044cd714da27a0637aaa143994ad74"
dependencies = [ dependencies = [
"git-testament-derive", "git-testament-derive",
"no-std-compat", "no-std-compat",
@ -1187,9 +1186,9 @@ dependencies = [
[[package]] [[package]]
name = "git-testament-derive" name = "git-testament-derive"
version = "0.1.13" version = "0.1.14"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0803898541a48d6f0809fa681bc8d38603f727d191f179631d85ddc3b6a9a2c" checksum = "4a782db5866c7ab75f3552dda4cbf34e3e257cc64c963c6ed5af1e12818e8ae6"
dependencies = [ dependencies = [
"log", "log",
"proc-macro2", "proc-macro2",
@ -1555,9 +1554,9 @@ dependencies = [
[[package]] [[package]]
name = "libc" name = "libc"
version = "0.2.138" version = "0.2.139"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "db6d7e329c562c5dfab7a46a2afabc8b987ab9a4834c9d1ca04dc54c1546cef8" checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
[[package]] [[package]]
name = "libm" name = "libm"
@ -1737,9 +1736,9 @@ checksum = "b93853da6d84c2e3c7d730d6473e8817692dd89be387eb01b94d7f108ecb5b8c"
[[package]] [[package]]
name = "nom" name = "nom"
version = "7.1.1" version = "7.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36" checksum = "e5507769c4919c998e69e49c839d9dc6e693ede4cc4290d6ad8b41d4f09c548c"
dependencies = [ dependencies = [
"memchr", "memchr",
"minimal-lexical", "minimal-lexical",
@ -1861,9 +1860,9 @@ dependencies = [
[[package]] [[package]]
name = "once_cell" name = "once_cell"
version = "1.16.0" version = "1.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66"
[[package]] [[package]]
name = "oorandom" name = "oorandom"
@ -2042,9 +2041,9 @@ dependencies = [
[[package]] [[package]]
name = "portable-atomic" name = "portable-atomic"
version = "0.3.18" version = "0.3.19"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "81bdd679d533107e090c2704a35982fc06302e30898e63ffa26a81155c012e92" checksum = "26f6a7b87c2e435a3241addceeeff740ff8b7e76b74c13bf9acb17fa454ea00b"
[[package]] [[package]]
name = "ppv-lite86" name = "ppv-lite86"
@ -2336,9 +2335,9 @@ dependencies = [
[[package]] [[package]]
name = "serde" name = "serde"
version = "1.0.151" version = "1.0.152"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97fed41fc1a24994d044e6db6935e69511a1153b52c15eb42493b26fa87feba0" checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb"
dependencies = [ dependencies = [
"serde_derive", "serde_derive",
] ]
@ -2374,9 +2373,9 @@ dependencies = [
[[package]] [[package]]
name = "serde_derive" name = "serde_derive"
version = "1.0.151" version = "1.0.152"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "255abe9a125a985c05190d687b320c12f9b1f0b99445e608c21ba0782c719ad8" checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -2394,17 +2393,6 @@ dependencies = [
"serde", "serde",
] ]
[[package]]
name = "sha-1"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f5058ada175748e33390e40e872bd0fe59a19f265d0158daa551c5a88a76009c"
dependencies = [
"cfg-if",
"cpufeatures",
"digest",
]
[[package]] [[package]]
name = "sha1" name = "sha1"
version = "0.10.5" version = "0.10.5"
@ -2717,16 +2705,6 @@ version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "20518fe4a4c9acf048008599e464deb21beeae3d3578418951a189c235a7a9a8" checksum = "20518fe4a4c9acf048008599e464deb21beeae3d3578418951a189c235a7a9a8"
[[package]]
name = "terminal_size"
version = "0.1.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df"
dependencies = [
"libc",
"winapi 0.3.9",
]
[[package]] [[package]]
name = "textwrap" name = "textwrap"
version = "0.11.0" version = "0.11.0"
@ -2960,9 +2938,9 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
[[package]] [[package]]
name = "tungstenite" name = "tungstenite"
version = "0.17.3" version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e27992fd6a8c29ee7eef28fc78349aa244134e10ad447ce3b9f0ac0ed0fa4ce0" checksum = "30ee6ab729cd4cf0fd55218530c4522ed30b7b6081752839b68fcec8d0960788"
dependencies = [ dependencies = [
"base64", "base64",
"byteorder", "byteorder",
@ -2971,7 +2949,7 @@ dependencies = [
"httparse", "httparse",
"log", "log",
"rand", "rand",
"sha-1", "sha1",
"thiserror", "thiserror",
"url", "url",
"utf-8", "utf-8",

View file

@ -2,10 +2,9 @@
## High priority ## High priority
* Upgrade tungstenite and async-tungstenite
* Do new udp load test round * Do new udp load test round
* udp: support link to arbitrary homepage as well as embedded tracker URL in statistics page * udp: support link to arbitrary homepage as well as embedded tracker URL in statistics page
* ws: wait for crates release of glommio with membarrier fix * ws: wait for crates release of glommio with membarrier fix (PR #558)
* Release new version * Release new version
## Medium priority ## Medium priority

View file

@ -22,7 +22,7 @@ aquatic_toml_config.workspace = true
aquatic_ws_protocol.workspace = true aquatic_ws_protocol.workspace = true
anyhow = "1" anyhow = "1"
async-tungstenite = "0.18" async-tungstenite = "0.19"
cfg-if = "1" cfg-if = "1"
either = "1" either = "1"
futures = "0.3" futures = "0.3"
@ -41,7 +41,7 @@ serde = { version = "1", features = ["derive"] }
signal-hook = { version = "0.3" } signal-hook = { version = "0.3" }
slab = "0.4" slab = "0.4"
socket2 = { version = "0.4", features = ["all"] } socket2 = { version = "0.4", features = ["all"] }
tungstenite = "0.17" tungstenite = "0.18"
[dev-dependencies] [dev-dependencies]
quickcheck = "1" quickcheck = "1"

View file

@ -430,7 +430,9 @@ async fn run_stream_agnostic_connection<
.unwrap() .unwrap()
.detach(); .detach();
race(reader_handle, writer_handle).await.unwrap() race(reader_handle, writer_handle)
.await
.expect("reader/writer task should not be closed")
} }
struct ConnectionReader<S> { struct ConnectionReader<S> {
@ -455,7 +457,11 @@ impl<S: futures::AsyncRead + futures::AsyncWrite + Unpin> ConnectionReader<S> {
yield_if_needed().await; yield_if_needed().await;
} }
let message = self.ws_in.next().await.unwrap()?; let message = self
.ws_in
.next()
.await
.ok_or_else(|| anyhow::anyhow!("Stream ended"))??;
match InMessage::from_ws_message(message) { match InMessage::from_ws_message(message) {
Ok(in_message) => { Ok(in_message) => {

View file

@ -19,7 +19,7 @@ aquatic_toml_config.workspace = true
aquatic_ws_protocol.workspace = true aquatic_ws_protocol.workspace = true
anyhow = "1" anyhow = "1"
async-tungstenite = "0.18" async-tungstenite = "0.19"
futures = "0.3" futures = "0.3"
futures-rustls = "0.22" futures-rustls = "0.22"
glommio = "0.7" glommio = "0.7"
@ -30,7 +30,7 @@ rand_distr = "0.4"
rustls = { version = "0.20", default-features = false, features = ["dangerous_configuration"] } rustls = { version = "0.20", default-features = false, features = ["dangerous_configuration"] }
serde = { version = "1", features = ["derive"] } serde = { version = "1", features = ["derive"] }
serde_json = "1" serde_json = "1"
tungstenite = "0.17" tungstenite = "0.18"
[dev-dependencies] [dev-dependencies]
quickcheck = "1" quickcheck = "1"

View file

@ -27,7 +27,7 @@ serde_json = "1"
# simd-json version 0.7 seems to have bugs in string parsing # simd-json version 0.7 seems to have bugs in string parsing
# with custom visitor, where it includes quotes in strings # with custom visitor, where it includes quotes in strings
simd-json = { version = "0.6", features = ["allow-non-simd"] } simd-json = { version = "0.6", features = ["allow-non-simd"] }
tungstenite = "0.17" tungstenite = "0.18"
[dev-dependencies] [dev-dependencies]
criterion = "0.3" criterion = "0.3"