fix(websocket): byte-based caps for pending buffer + inbound WS sizes (WS-05, WS-06)

This commit is contained in:
2026-08-29 12:00:04 +00:00
parent 5024d99862
commit 92cc11a74f
5 changed files with 264 additions and 23 deletions
+13 -5
View File
@@ -196,11 +196,19 @@ impl WssSession {
);
}
let (ws, _response) = tokio_tungstenite::connect_async(request)
.await
.map_err(|e| AdapterError::Transport {
message: format!("WSS connect failed: {e}"),
})?;
let (ws, _response) = tokio_tungstenite::connect_async_with_config(
request,
Some(
tokio_tungstenite::tungstenite::protocol::WebSocketConfig::default()
.max_message_size(Some(crate::websocket::INBOUND_WS_MESSAGE_CAP))
.max_frame_size(Some(crate::websocket::INBOUND_WS_FRAME_CAP)),
),
false,
)
.await
.map_err(|e| AdapterError::Transport {
message: format!("WSS connect failed: {e}"),
})?;
let (byte_stream, pumps) = split_tungstenite_to_bytes(ws);
let conn = Connection::from_bidi(byte_stream, b"alk/channels".to_vec(), None);