WEB Session Lifecycle Observability + Bridge Recovery Drafts

Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com>
This commit is contained in:
Alexey
2026-09-01 19:19:52 +03:00
parent aec7d1619a
commit 01ffca5d34
47 changed files with 1678 additions and 441 deletions
+3 -3
View File
@@ -8,7 +8,7 @@ use tokio_util::sync::CancellationToken;
use super::CarrierSocket;
use super::io::{flush, process_lane, read_message, record_message, reserve_data, send};
use crate::web::manager::{WebProcessRuntime, WebSocketBudgetLease, WebSocketConnection};
use crate::web::session::{WebSession, WebSocketLaneReservation};
use crate::web::session::{SessionCloseReason, WebSession, WebSocketLaneReservation};
use crate::web::trace::{TraceDirection, TraceWebSocketContext};
#[allow(clippy::too_many_arguments)]
@@ -92,7 +92,7 @@ pub(super) async fn run_lane(
.await
.is_err()
{
session.close();
session.close(SessionCloseReason::Protocol);
return Err(());
}
record_message(
@@ -104,7 +104,7 @@ pub(super) async fn run_lane(
started,
);
if !session.websocket_commit_ack_written(connection.id()) {
session.close();
session.close(SessionCloseReason::Protocol);
return Err(());
}
} else if acknowledge_commit