WEB: Lifecycle + Lane ownership + Diag fixes

Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com>
This commit is contained in:
Alexey
2026-08-27 09:02:19 +03:00
parent c75cf5cc9d
commit f73f52a033
25 changed files with 2050 additions and 245 deletions
+16
View File
@@ -76,10 +76,26 @@ pub(super) async fn handle_down(
} else {
None
};
let poll_timeout = match lane_id {
Some(_) => Duration::from_secs(session.timeouts().lane_open_wait_secs)
.checked_add(Duration::from_secs(session.timeouts().long_poll_secs)),
None => Some(Duration::from_secs(session.timeouts().long_poll_secs)),
};
let Some(poll_timeout) = poll_timeout else {
return service_unavailable();
};
let _deadline_lease = match super::request_deadline(&request) {
Some(deadline) => match deadline.lease_for(poll_timeout) {
Some(lease) => Some(lease),
None => return service_unavailable(),
},
None => None,
};
let result = match lane_id {
Some(lane_id) => session.poll_down_lane(lane_id, cursor).await,
None => session.poll_down(cursor).await,
};
drop(_deadline_lease);
match result {
Ok(result) if result.body.is_empty() => {
let mut response = carrier_empty(StatusCode::NO_CONTENT);