Skip to content

Commit 6747f57

Browse files
committed
refactor(try): parallel try-block dispatch with flat-buf slot tracking
All <esi:try> includes are dispatched into the same select() pool as bare includes, removing the Nx sequential penalty for consecutive try blocks. Try-block content reuses the main buf slots (no separate content_slots); a TryBlockTracker/AttemptTracker pair records which slots belong to each attempt and assembles the result when all resolve. - 3 new types: TryBlockTracker, AttemptTracker, SlotEntry - Request correlation keyed by (method, URL) - process_queue renamed from process_ready_queue_items for clarity
1 parent a13aef3 commit 6747f57

3 files changed

Lines changed: 614 additions & 164 deletions

File tree

esi/src/element_handler.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ pub(crate) trait ElementHandler {
8888
///
8989
/// Called after processing each top-level element in the main parse loop.
9090
/// Default is a no-op — only meaningful in the streaming context.
91-
fn process_ready_queue_items(&mut self) -> Result<()> {
91+
fn process_queue(&mut self) -> Result<()> {
9292
Ok(())
9393
}
9494

0 commit comments

Comments
 (0)