bump tungstenite to 0.20.1 (#2807)
Co-authored-by: Przemyslaw Hugh Kaznowski <hughkaznowski@protonmail.com> Co-authored-by: Tristan F. <LeoDog896@hotmail.com>
This commit is contained in:
parent
3a3125d030
commit
87859158d3
4 changed files with 37 additions and 82 deletions
92
Cargo.lock
generated
92
Cargo.lock
generated
|
@ -591,7 +591,7 @@ dependencies = [
|
|||
"sha1",
|
||||
"sync_wrapper",
|
||||
"tokio 1.32.0",
|
||||
"tokio-tungstenite 0.20.0",
|
||||
"tokio-tungstenite 0.20.1",
|
||||
"tower",
|
||||
"tower-layer",
|
||||
"tower-service",
|
||||
|
@ -688,10 +688,10 @@ dependencies = [
|
|||
"http-body",
|
||||
"hyper",
|
||||
"pin-project-lite",
|
||||
"rustls 0.21.6",
|
||||
"rustls",
|
||||
"rustls-pemfile",
|
||||
"tokio 1.32.0",
|
||||
"tokio-rustls 0.24.1",
|
||||
"tokio-rustls",
|
||||
"tower-service",
|
||||
]
|
||||
|
||||
|
@ -2544,9 +2544,9 @@ dependencies = [
|
|||
"futures-util",
|
||||
"http",
|
||||
"hyper",
|
||||
"rustls 0.21.6",
|
||||
"rustls",
|
||||
"tokio 1.32.0",
|
||||
"tokio-rustls 0.24.1",
|
||||
"tokio-rustls",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -4234,14 +4234,14 @@ dependencies = [
|
|||
"once_cell",
|
||||
"percent-encoding",
|
||||
"pin-project-lite",
|
||||
"rustls 0.21.6",
|
||||
"rustls",
|
||||
"rustls-pemfile",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"serde_urlencoded",
|
||||
"tokio 1.32.0",
|
||||
"tokio-native-tls",
|
||||
"tokio-rustls 0.24.1",
|
||||
"tokio-rustls",
|
||||
"tokio-util",
|
||||
"tower-service",
|
||||
"url",
|
||||
|
@ -4249,7 +4249,7 @@ dependencies = [
|
|||
"wasm-bindgen-futures",
|
||||
"wasm-streams",
|
||||
"web-sys",
|
||||
"webpki-roots 0.25.2",
|
||||
"webpki-roots",
|
||||
"winreg",
|
||||
]
|
||||
|
||||
|
@ -4598,18 +4598,6 @@ dependencies = [
|
|||
"windows-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rustls"
|
||||
version = "0.20.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f"
|
||||
dependencies = [
|
||||
"log",
|
||||
"ring",
|
||||
"sct",
|
||||
"webpki",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rustls"
|
||||
version = "0.21.6"
|
||||
|
@ -5322,7 +5310,7 @@ dependencies = [
|
|||
"rquickjs",
|
||||
"rust-stemmers",
|
||||
"rust_decimal",
|
||||
"rustls 0.20.8",
|
||||
"rustls",
|
||||
"scrypt",
|
||||
"semver 1.0.18",
|
||||
"serde",
|
||||
|
@ -5341,7 +5329,7 @@ dependencies = [
|
|||
"thiserror",
|
||||
"time 0.3.27",
|
||||
"tokio 1.32.0",
|
||||
"tokio-tungstenite 0.18.0",
|
||||
"tokio-tungstenite 0.20.1",
|
||||
"tokio-util",
|
||||
"tracing",
|
||||
"tracing-subscriber",
|
||||
|
@ -5799,24 +5787,13 @@ dependencies = [
|
|||
"tokio-sync",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tokio-rustls"
|
||||
version = "0.23.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59"
|
||||
dependencies = [
|
||||
"rustls 0.20.8",
|
||||
"tokio 1.32.0",
|
||||
"webpki",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tokio-rustls"
|
||||
version = "0.24.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
|
||||
dependencies = [
|
||||
"rustls 0.21.6",
|
||||
"rustls",
|
||||
"tokio 1.32.0",
|
||||
]
|
||||
|
||||
|
@ -5892,26 +5869,25 @@ checksum = "54319c93411147bced34cb5609a80e0a8e44c5999c93903a81cd866630ec0bfd"
|
|||
dependencies = [
|
||||
"futures-util",
|
||||
"log",
|
||||
"native-tls",
|
||||
"rustls 0.20.8",
|
||||
"tokio 1.32.0",
|
||||
"tokio-native-tls",
|
||||
"tokio-rustls 0.23.4",
|
||||
"tungstenite 0.18.0",
|
||||
"webpki",
|
||||
"webpki-roots 0.22.6",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tokio-tungstenite"
|
||||
version = "0.20.0"
|
||||
version = "0.20.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2b2dbec703c26b00d74844519606ef15d09a7d6857860f84ad223dec002ddea2"
|
||||
checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c"
|
||||
dependencies = [
|
||||
"futures-util",
|
||||
"log",
|
||||
"native-tls",
|
||||
"rustls",
|
||||
"tokio 1.32.0",
|
||||
"tungstenite 0.20.0",
|
||||
"tokio-native-tls",
|
||||
"tokio-rustls",
|
||||
"tungstenite 0.20.1",
|
||||
"webpki-roots",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -6043,7 +6019,7 @@ dependencies = [
|
|||
"prost",
|
||||
"rustls-pemfile",
|
||||
"tokio 1.32.0",
|
||||
"tokio-rustls 0.24.1",
|
||||
"tokio-rustls",
|
||||
"tokio-stream",
|
||||
"tower",
|
||||
"tower-layer",
|
||||
|
@ -6229,21 +6205,18 @@ dependencies = [
|
|||
"http",
|
||||
"httparse",
|
||||
"log",
|
||||
"native-tls",
|
||||
"rand 0.8.5",
|
||||
"rustls 0.20.8",
|
||||
"sha1",
|
||||
"thiserror",
|
||||
"url",
|
||||
"utf-8",
|
||||
"webpki",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tungstenite"
|
||||
version = "0.20.0"
|
||||
version = "0.20.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e862a1c4128df0112ab625f55cd5c934bcb4312ba80b39ae4b4835a3fd58e649"
|
||||
checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9"
|
||||
dependencies = [
|
||||
"byteorder",
|
||||
"bytes 1.4.0",
|
||||
|
@ -6251,7 +6224,9 @@ dependencies = [
|
|||
"http",
|
||||
"httparse",
|
||||
"log",
|
||||
"native-tls",
|
||||
"rand 0.8.5",
|
||||
"rustls",
|
||||
"sha1",
|
||||
"thiserror",
|
||||
"url",
|
||||
|
@ -6551,25 +6526,6 @@ dependencies = [
|
|||
"wasm-bindgen",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "webpki"
|
||||
version = "0.22.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd"
|
||||
dependencies = [
|
||||
"ring",
|
||||
"untrusted",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "webpki-roots"
|
||||
version = "0.22.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87"
|
||||
dependencies = [
|
||||
"webpki",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "webpki-roots"
|
||||
version = "0.25.2"
|
||||
|
|
|
@ -98,7 +98,7 @@ roaring = { version = "0.10.2", features = ["serde"] }
|
|||
rocksdb = { version = "0.21.0", optional = true }
|
||||
rust_decimal = { version = "1.31.0", features = ["maths", "serde-str"] }
|
||||
rust-stemmers = "1.2.0"
|
||||
rustls = { version = "0.20.8", optional = true }
|
||||
rustls = { version = "0.21.6", optional = true }
|
||||
scrypt = "0.11.0"
|
||||
semver = { version = "1.0.18", features = ["serde"] }
|
||||
serde = { version = "1.0.183", features = ["derive"] }
|
||||
|
@ -138,7 +138,7 @@ ws_stream_wasm = "0.7.4"
|
|||
|
||||
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
||||
tokio = { version = "1.31.0", default-features = false, features = ["macros", "io-util", "io-std", "fs", "rt-multi-thread", "time", "sync"] }
|
||||
tokio-tungstenite = { version = "0.18.0", optional = true }
|
||||
tokio-tungstenite = { version = "0.20.1", optional = true }
|
||||
uuid = { version = "1.4.1", features = ["serde", "v4", "v7"] }
|
||||
|
||||
[lib]
|
||||
|
|
|
@ -174,14 +174,12 @@ impl Connection for Any {
|
|||
let maybe_connector = address.config.tls_config.map(Connector::from);
|
||||
#[cfg(not(any(feature = "native-tls", feature = "rustls")))]
|
||||
let maybe_connector = None;
|
||||
|
||||
let config = WebSocketConfig {
|
||||
max_send_queue: match capacity {
|
||||
0 => None,
|
||||
capacity => Some(capacity),
|
||||
},
|
||||
max_message_size: Some(engine::remote::ws::native::MAX_MESSAGE_SIZE),
|
||||
max_frame_size: Some(engine::remote::ws::native::MAX_FRAME_SIZE),
|
||||
accept_unmasked_frames: false,
|
||||
max_write_buffer_size: engine::remote::ws::native::MAX_MESSAGE_SIZE,
|
||||
..Default::default()
|
||||
};
|
||||
let socket = engine::remote::ws::native::connect(
|
||||
&url,
|
||||
|
|
|
@ -55,6 +55,9 @@ type WsResult<T> = std::result::Result<T, WsError>;
|
|||
|
||||
pub(crate) const MAX_MESSAGE_SIZE: usize = 64 << 20; // 64 MiB
|
||||
pub(crate) const MAX_FRAME_SIZE: usize = 16 << 20; // 16 MiB
|
||||
pub(crate) const WRITE_BUFFER_SIZE: usize = 128000; // tungstenite default
|
||||
pub(crate) const MAX_WRITE_BUFFER_SIZE: usize = WRITE_BUFFER_SIZE + MAX_MESSAGE_SIZE; // Recommended max according to tungstenite docs
|
||||
pub(crate) const NAGLE_ALG: bool = false;
|
||||
|
||||
pub(crate) enum Either {
|
||||
Request(Option<Route>),
|
||||
|
@ -81,10 +84,11 @@ pub(crate) async fn connect(
|
|||
) -> Result<WebSocketStream<MaybeTlsStream<TcpStream>>> {
|
||||
#[cfg(any(feature = "native-tls", feature = "rustls"))]
|
||||
let (socket, _) =
|
||||
tokio_tungstenite::connect_async_tls_with_config(url, config, maybe_connector).await?;
|
||||
tokio_tungstenite::connect_async_tls_with_config(url, config, NAGLE_ALG, maybe_connector)
|
||||
.await?;
|
||||
|
||||
#[cfg(not(any(feature = "native-tls", feature = "rustls")))]
|
||||
let (socket, _) = tokio_tungstenite::connect_async_with_config(url, config).await?;
|
||||
let (socket, _) = tokio_tungstenite::connect_async_with_config(url, config, NAGLE_ALG).await?;
|
||||
|
||||
Ok(socket)
|
||||
}
|
||||
|
@ -111,13 +115,10 @@ impl Connection for Client {
|
|||
let maybe_connector = None;
|
||||
|
||||
let config = WebSocketConfig {
|
||||
max_send_queue: match capacity {
|
||||
0 => None,
|
||||
capacity => Some(capacity),
|
||||
},
|
||||
max_message_size: Some(MAX_MESSAGE_SIZE),
|
||||
max_frame_size: Some(MAX_FRAME_SIZE),
|
||||
accept_unmasked_frames: false,
|
||||
max_write_buffer_size: MAX_WRITE_BUFFER_SIZE,
|
||||
..Default::default()
|
||||
};
|
||||
|
||||
let socket = connect(&url, Some(config), maybe_connector.clone()).await?;
|
||||
|
|
Loading…
Reference in a new issue