Lane Open Modes

Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com>
This commit is contained in:
Alexey
2026-08-26 18:36:43 +03:00
parent 01cb219482
commit 75b2aae009
6 changed files with 48 additions and 19 deletions
+6
View File
@@ -124,6 +124,8 @@ struct SessionState {
last_up_sequence: u64,
last_up_digest: TokenHash,
carrier_lanes: HashMap<u32, CarrierLane>,
lane_open_claims: HashSet<u32>,
lane_open_waits: usize,
next_lane_instance: u64,
websocket_lane_reservations: HashMap<u32, u16>,
pending_bytes: usize,
@@ -160,6 +162,7 @@ pub(crate) struct WebSession {
timeouts: WebTimeoutsConfig,
state: Mutex<SessionState>,
down_notify: Arc<Notify>,
lane_open_notify: Arc<Notify>,
cancel: CancellationToken,
tasks_live: AtomicUsize,
tasks_done: Arc<Notify>,
@@ -228,6 +231,8 @@ impl WebSession {
last_up_sequence: 0,
last_up_digest: [0; 32],
carrier_lanes,
lane_open_claims: HashSet::new(),
lane_open_waits: 0,
next_lane_instance,
websocket_lane_reservations: HashMap::new(),
pending_bytes: 0,
@@ -240,6 +245,7 @@ impl WebSession {
closed: false,
}),
down_notify: Arc::new(Notify::new()),
lane_open_notify: Arc::new(Notify::new()),
cancel: CancellationToken::new(),
tasks_live: AtomicUsize::new(0),
tasks_done: Arc::new(Notify::new()),