=== all call_deadline() call sites at head10 === a9e786b2:crates/spt-daemon/src/brain.rs:619: let deadline = self.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:688: let deadline = self.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:770: let deadline = self.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:817: let deadline = self.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:850: let deadline = self.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:995: let deadline = self.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:1656: let deadline = self.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:1681: let deadline = self.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:1775: let deadline = self.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:1800: let deadline = self.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:1865: let deadline = self.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:1892: let deadline = self.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:1918: let deadline = self.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:1949: let deadline = self.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:1980: let deadline = self.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:2002: let deadline = self.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:2049: let deadline = self.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:2087: let deadline = self.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:2102: let deadline = self.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:2145: let deadline = self.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:2176: let deadline = self.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:2204: let deadline = self.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:2240: let deadline = self.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:2282: let deadline = self.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:2301: let deadline = self.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:2789: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:2801: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:2844: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:2865: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:2887: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:2913: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:2959: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:2971: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:2986: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:2996: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:3010: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:3015: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:3023: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:3058: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:3065: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:3109: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:3129: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:3188: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/src/brain.rs:3209: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/src/digestlink.rs:111: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/src/dispatch.rs:969: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/src/linkhost.rs:785: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/src/linkhost.rs:1029: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/src/propagate.rs:121: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/src/propagate.rs:600: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/src/resthost.rs:100: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/src/resthost.rs:227: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/src/serveprobe.rs:77: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/src/serveprobe.rs:126: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/src/shellchan.rs:435: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/src/sync.rs:199: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/tests/access.rs:109: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/tests/attach.rs:223: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/tests/attach.rs:877: let deadline = life1.call_deadline(); a9e786b2:crates/spt-daemon/tests/attach.rs:1159: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/tests/attach.rs:1221: let deadline = a.call_deadline(); a9e786b2:crates/spt-daemon/tests/attach.rs:1639: let deadline = driver.call_deadline(); a9e786b2:crates/spt-daemon/tests/attach.rs:1740: let deadline = driver.call_deadline(); a9e786b2:crates/spt-daemon/tests/attach.rs:1773: let deadline = succ.call_deadline(); a9e786b2:crates/spt-daemon/tests/brain_swap.rs:176: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/tests/controller_lease.rs:124: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/tests/controller_lease.rs:224: let read_deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/tests/controller_lease.rs:479: let deadline = a.call_deadline(); a9e786b2:crates/spt-daemon/tests/controller_lease.rs:492: let deadline = a.call_deadline(); a9e786b2:crates/spt-daemon/tests/controller_lease.rs:511: let read_deadline = b.call_deadline(); a9e786b2:crates/spt-daemon/tests/controller_lease.rs:538: let read_deadline = b.call_deadline(); a9e786b2:crates/spt-daemon/tests/controller_lease.rs:605: let read_deadline = b.call_deadline(); a9e786b2:crates/spt-daemon/tests/controller_lease.rs:620: let read_deadline = a.call_deadline(); a9e786b2:crates/spt-daemon/tests/dispatch.rs:526: let deadline = a.call_deadline(); a9e786b2:crates/spt-daemon/tests/dispatch.rs:559: let read_deadline = a.call_deadline(); a9e786b2:crates/spt-daemon/tests/handoff.rs:181: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/tests/idempotent.rs:135: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/tests/idempotent.rs:214: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/tests/netstream.rs:104: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/tests/notifsync.rs:92: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/tests/presence.rs:67: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/tests/propagate.rs:607: let deadline = serve_brain.call_deadline(); a9e786b2:crates/spt-daemon/tests/redispatch.rs:168: let deadline = operator.call_deadline(); a9e786b2:crates/spt-daemon/tests/redispatch_stall.rs:178: let deadline = operator.call_deadline(); a9e786b2:crates/spt-daemon/tests/redispatch_stall.rs:273: let deadline = f.call_deadline(); a9e786b2:crates/spt-daemon/tests/replicate.rs:217: let deadline = b_probe.call_deadline(); a9e786b2:crates/spt-daemon/tests/restart_replay_lifetime.rs:310: let deadline = operator.call_deadline(); a9e786b2:crates/spt-daemon/tests/resume.rs:114: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/tests/shellchan.rs:170: let read_deadline = probe.call_deadline(); a9e786b2:crates/spt-daemon/tests/sync.rs:569: let deadline = serve_brain.call_deadline(); a9e786b2:crates/spt-daemon/tests/transport_death_eof.rs:329: let deadline = operator.call_deadline(); a9e786b2:crates/spt-daemon/tests/twohost.rs:2220: let deadline = a.call_deadline(); a9e786b2:crates/spt-daemon/tests/twohost.rs:3360: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/tests/wanmsg.rs:131: let deadline = brain.call_deadline(); a9e786b2:crates/spt-daemon/tests/wanmsg.rs:353: let deadline = b_probe.call_deadline(); a9e786b2:crates/spt/src/cli.rs:9273: let deadline = brain.call_deadline(); a9e786b2:crates/xtask/src/brainread.rs:2://! from call_deadline() on a Whole carrier. This gate checks that distinction; a9e786b2:crates/xtask/src/brainread.rs:347: let src = "fn serve_future_feed() {\n brain.call_deadline();\n}\nfn peek_first_line() { brain.call_deadline(); }\nfn serve_attach() { brain.call_deadline(); }"; a9e786b2:crates/xtask/src/brainread.rs:369: let src = r###"fn serve_x_feed<'a>() { let s = r##"} brain.read_event()"##; let c = '}'; /* outer /* } */ */ brain.call_deadline(); }"###; a9e786b2:crates/xtask/src/brainread.rs:377: let valid = "fn peek_first_line() { brain.send(request); let deadline = brain.call_deadline(); loop { match brain.read_event_until(deadline) { Reply(value) => return value, _ => continue } } }"; a9e786b2:crates/xtask/src/brainread.rs:378: let rearmed = "fn peek_first_line() { brain.send(request); loop { let deadline = brain.call_deadline(); match brain.read_event_until(deadline) { Reply(value) => return value, _ => continue } } }"; === read_event_until sites === a9e786b2:crates/spt-daemon/src/attach.rs:252: match brain.read_event_until(deadline) { a9e786b2:crates/spt-daemon/src/attach.rs:580: _ => brain.read_event_until(deadline)?, a9e786b2:crates/spt-daemon/src/brain.rs:18://! the broker replays buffered output from there. [`Brain::read_event_until`] accepts a9e786b2:crates/spt-daemon/src/brain.rs:400: /// [`Brain::read_event_until`] under the same accept/dedup/gap discipline. a9e786b2:crates/spt-daemon/src/brain.rs:406: /// [`Brain::read_event_until`] under the same accept/dedup/gap discipline. a9e786b2:crates/spt-daemon/src/brain.rs:467: /// every reply read is bounded ([`Brain::read_event_until`] via a9e786b2:crates/spt-daemon/src/brain.rs:621: match self.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/brain.rs:690: match self.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/brain.rs:772: match self.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/brain.rs:802: /// calls [`Brain::read_event_until`] on every interleaved frame, so on a *resume-mode* a9e786b2:crates/spt-daemon/src/brain.rs:819: match self.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/brain.rs:852: match self.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/brain.rs:1000: match self.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/brain.rs:1361: /// Like [`Self::read_event_until`] but for a PEER-REPLY read (a pump leg a9e786b2:crates/spt-daemon/src/brain.rs:1375: self.read_event_until(deadline) a9e786b2:crates/spt-daemon/src/brain.rs:1496: /// ([`Brain::read_event_until`]), which FATALS the forward gap → a9e786b2:crates/spt-daemon/src/brain.rs:1537: /// so [`Brain::read_event_until`] dedups the broker's at-least-once boundary re-send a9e786b2:crates/spt-daemon/src/brain.rs:1544: /// DRAINS the resumed output (`Brain::read_event_until`) gets output-continuity from its a9e786b2:crates/spt-daemon/src/brain.rs:1658: match self.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/brain.rs:1867: match self.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/brain.rs:1894: match self.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/brain.rs:1920: match self.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/brain.rs:1951: match self.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/brain.rs:1982: match self.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/brain.rs:2004: match self.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/brain.rs:2051: match self.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/brain.rs:2089: match self.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/brain.rs:2104: match self.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/brain.rs:2147: match self.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/brain.rs:2178: match self.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/brain.rs:2206: match self.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/brain.rs:2242: match self.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/brain.rs:2284: match self.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/brain.rs:2303: match self.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/brain.rs:2790: match brain.read_event_until(deadline).expect("seq 0 accepted") { a9e786b2:crates/spt-daemon/src/brain.rs:2802: let err = brain.read_event_until(deadline).expect_err("a cold brain rejects a forward gap"); a9e786b2:crates/spt-daemon/src/brain.rs:2849: match brain.read_event_until(deadline).expect("contiguous controller frame accepted") { a9e786b2:crates/spt-daemon/src/brain.rs:2867: .read_event_until(deadline) a9e786b2:crates/spt-daemon/src/brain.rs:2892: match brain.read_event_until(deadline).expect("ring-replayed floor frame accepted") { a9e786b2:crates/spt-daemon/src/brain.rs:2915: .read_event_until(deadline) a9e786b2:crates/spt-daemon/src/brain.rs:2964: brain.read_event_until(deadline).expect("contiguous frame accepted"); a9e786b2:crates/spt-daemon/src/brain.rs:2972: match brain.read_event_until(deadline).expect("flagged forward jump accepted (legacy path)") { a9e786b2:crates/spt-daemon/src/brain.rs:2987: match brain.read_event_until(deadline).expect("post-sync live frame") { a9e786b2:crates/spt-daemon/src/brain.rs:2997: match brain.read_event_until(deadline).expect("the backward flagged frame is silently deduped") { a9e786b2:crates/spt-daemon/src/brain.rs:3011: brain.read_event_until(deadline).expect("seq 0 accepted"); a9e786b2:crates/spt-daemon/src/brain.rs:3016: match brain.read_event_until(deadline).expect("flagged forward jump accepted (map path)") { a9e786b2:crates/spt-daemon/src/brain.rs:3024: match brain.read_event_until(deadline).expect("backward flagged frame deduped on the map path") { a9e786b2:crates/spt-daemon/src/brain.rs:3059: match brain.read_event_until(deadline).expect("cold baseline accepts the unflagged pseudo-seq") { a9e786b2:crates/spt-daemon/src/brain.rs:3066: let err = brain.read_event_until(deadline).expect_err("unflagged jump stays reject-gap"); a9e786b2:crates/spt-daemon/src/brain.rs:3110: match brain.read_event_until(deadline).expect("post-eviction forward jump accepted") { a9e786b2:crates/spt-daemon/src/brain.rs:3131: match brain.read_event_until(deadline).expect("subsequent live frames") { a9e786b2:crates/spt-daemon/src/brain.rs:3189: match brain.read_event_until(deadline).expect("pre-eviction forward ring-roll gap accepted") { a9e786b2:crates/spt-daemon/src/brain.rs:3211: match brain.read_event_until(deadline).expect("subsequent live frames") { a9e786b2:crates/spt-daemon/src/digestlink.rs:113: match brain.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/digestlink.rs:246: // `read_event_until`, not `read_peer_reply_until`: the latter reclassifies a9e786b2:crates/spt-daemon/src/digestlink.rs:250: let ev = match brain.read_event_until(deadline) { a9e786b2:crates/spt-daemon/src/dispatch.rs:971: match brain.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/dispatch.rs:1353: match brain.read_event_until(deadline) { a9e786b2:crates/spt-daemon/src/dispatch.rs:1515: match brain.read_event_until(deadline) { a9e786b2:crates/spt-daemon/src/dispatch.rs:1582: match brain.read_event_until(deadline) { a9e786b2:crates/spt-daemon/src/dispatch.rs:1703: match brain.read_event_until(deadline) { a9e786b2:crates/spt-daemon/src/dispatch.rs:1759: match brain.read_event_until(deadline) { a9e786b2:crates/spt-daemon/src/dispatch.rs:1808: match brain.read_event_until(deadline) { a9e786b2:crates/spt-daemon/src/dispatch.rs:1858: match brain.read_event_until(deadline) { a9e786b2:crates/spt-daemon/src/dispatch.rs:2000: match brain.read_event_until(deadline) { a9e786b2:crates/spt-daemon/src/dispatch.rs:2217: match brain.read_event_until(deadline) { a9e786b2:crates/spt-daemon/src/linkhost.rs:787: match brain.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/linkhost.rs:1031: match brain.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/propagate.rs:123: match brain.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/propagate.rs:602: match brain.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/pump/mod.rs:829: match classify_drain_read(events.read_event_until(Some(read_deadline))) { a9e786b2:crates/spt-daemon/src/resthost.rs:102: match brain.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/resthost.rs:229: match brain.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/serveprobe.rs:79: match brain.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/serveprobe.rs:128: match brain.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/shellchan.rs:437: match brain.read_event_until(deadline).map_err(|e| format!("read: {e}"))? { a9e786b2:crates/spt-daemon/src/sync.rs:201: match brain.read_event_until(deadline)? { a9e786b2:crates/spt-daemon/src/wan.rs:336: // `read_event_until`, not `read_peer_reply_until`: the latter reclassifies a9e786b2:crates/spt-daemon/src/wan.rs:341: let ev = match brain.read_event_until(deadline) { a9e786b2:crates/spt-daemon/src/wan.rs:493: // slow reply is never mistaken for a dead one. `read_event_until`, not a9e786b2:crates/spt-daemon/src/wan.rs:500: let ev = match brain.read_event_until(deadline) { a9e786b2:crates/spt-daemon/src/wan.rs:611: // slow reply is never mistaken for a dead one. `read_event_until`, not a9e786b2:crates/spt-daemon/src/wan.rs:618: let ev = match brain.read_event_until(deadline) { a9e786b2:crates/spt-daemon/src/wan.rs:697: // slow reply is never mistaken for a dead one. `read_event_until`, not a9e786b2:crates/spt-daemon/src/wan.rs:704: let ev = match brain.read_event_until(deadline) { a9e786b2:crates/spt-daemon/src/wan.rs:807: // slow reply is never mistaken for a dead one. `read_event_until`, not a9e786b2:crates/spt-daemon/src/wan.rs:814: let ev = match brain.read_event_until(deadline) { a9e786b2:crates/spt-daemon/src/wan.rs:896: // reads through `read_event_until` rather than `read_peer_reply_until`. a9e786b2:crates/spt-daemon/src/wan.rs:900: let ev = match brain.read_event_until(deadline) { a9e786b2:crates/spt-daemon/src/webproxy.rs:592: let event = match brain.read_event_until(deadline) { a9e786b2:crates/spt-daemon/src/webproxy.rs:733: .read_event_until(deadline) a9e786b2:crates/spt-daemon/tests/access.rs:111: match brain.read_event_until(deadline).expect("read event") { a9e786b2:crates/spt-daemon/tests/attach.rs:225: match brain.read_event_until(deadline).expect("operator read event") { a9e786b2:crates/spt-daemon/tests/attach.rs:879: match life1.read_event_until(deadline).expect("life1 event") { a9e786b2:crates/spt-daemon/tests/attach.rs:1161: match brain.read_event_until(deadline).expect("event") { a9e786b2:crates/spt-daemon/tests/attach.rs:1222: let displaced = (0..2000).find_map(|_| match a.read_event_until(deadline).expect("A event") { a9e786b2:crates/spt-daemon/tests/attach.rs:1243: // `first` rides the PUMP carrier so `read_event_until` can perform a bounded a9e786b2:crates/spt-daemon/tests/attach.rs:1280: match first.read_event_until(Some(std::time::Instant::now() + Duration::from_millis(20))) { a9e786b2:crates/spt-daemon/tests/attach.rs:1305: // `read_event_until` deadline is only honored on the pump carrier — a Whole a9e786b2:crates/spt-daemon/tests/attach.rs:1333: match view.read_event_until(Some(std::time::Instant::now() + Duration::from_millis(20))) { a9e786b2:crates/spt-daemon/tests/attach.rs:1348: ctrl.read_event_until(Some(std::time::Instant::now() + Duration::from_millis(50))); a9e786b2:crates/spt-daemon/tests/attach.rs:1491: match probe.read_event_until(Some(deadline)) { a9e786b2:crates/spt-daemon/tests/attach.rs:1508: match brain.read_event_until(Some(std::time::Instant::now() + Duration::from_millis(200))) { a9e786b2:crates/spt-daemon/tests/attach.rs:1641: match driver.read_event_until(deadline).expect("driver event") { a9e786b2:crates/spt-daemon/tests/attach.rs:1742: match driver.read_event_until(deadline).expect("driver event") { a9e786b2:crates/spt-daemon/tests/attach.rs:1775: match succ.read_event_until(deadline).expect("successor event") { a9e786b2:crates/spt-daemon/tests/attach_idempotent_replay.rs:144: match brain.read_event_until(Some(deadline)) { a9e786b2:crates/spt-daemon/tests/attach_idempotent_replay.rs:164: match brain.read_event_until(Some(deadline)) { a9e786b2:crates/spt-daemon/tests/attach_idempotent_replay.rs:179: match brain.read_event_until(Some(deadline)) { a9e786b2:crates/spt-daemon/tests/attach_idempotent_replay.rs:201: match brain.read_event_until(Some(deadline)) { a9e786b2:crates/spt-daemon/tests/attach_idempotent_replay.rs:227: match brain.read_event_until(Some(bounded)) { a9e786b2:crates/spt-daemon/tests/attach_resize_capture.rs:210: match brain.read_event_until(Some(Instant::now() + Duration::from_millis(20))) { a9e786b2:crates/spt-daemon/tests/attach_resize_repaint.rs:169: match brain.read_event_until(Some(Instant::now() + Duration::from_millis(20))) { a9e786b2:crates/spt-daemon/tests/attach_resize_repaint.rs:182: match brain.read_event_until(Some(Instant::now() + Duration::from_millis(50))) { a9e786b2:crates/spt-daemon/tests/brain_read_deadline.rs:23://! default — `read_event_until(None)` on a `Whole` carrier is the ordinary a9e786b2:crates/spt-daemon/tests/brain_read_deadline.rs:130: let outcome = brain.read_event_until(Some(started + DEADLINE)); a9e786b2:crates/spt-daemon/tests/brain_read_deadline.rs:184: let outcome = brain.read_event_until(Some(started + DEADLINE)); a9e786b2:crates/spt-daemon/tests/brain_swap.rs:178: if let BrokerEvent::Exit { session_id, .. } = brain.read_event_until(deadline).expect("read until exit") { a9e786b2:crates/spt-daemon/tests/controller_lease.rs:126: match brain.read_event_until(deadline).expect("event") { a9e786b2:crates/spt-daemon/tests/controller_lease.rs:231: match brain.read_event_until(read_deadline).expect("operator event") { a9e786b2:crates/spt-daemon/tests/controller_lease.rs:429: // (`read_event_until`): a quiet window ends in TimedOut, which is the point. a9e786b2:crates/spt-daemon/tests/controller_lease.rs:432: match a.read_event_until(Some(absence_deadline)) { a9e786b2:crates/spt-daemon/tests/controller_lease.rs:480: let rejected = (0..2000).find_map(|_| match a.read_event_until(deadline) { a9e786b2:crates/spt-daemon/tests/controller_lease.rs:493: let resize_rejected = (0..2000).find_map(|_| match a.read_event_until(deadline) { a9e786b2:crates/spt-daemon/tests/controller_lease.rs:518: if let BrokerEvent::Output { bytes, .. } = b.read_event_until(read_deadline).expect("B event") { a9e786b2:crates/spt-daemon/tests/controller_lease.rs:544: if let BrokerEvent::Output { bytes, .. } = b.read_event_until(read_deadline).expect("B event") { a9e786b2:crates/spt-daemon/tests/controller_lease.rs:611: if let BrokerEvent::Output { bytes, .. } = b.read_event_until(read_deadline).expect("B event") { a9e786b2:crates/spt-daemon/tests/controller_lease.rs:622: match a.read_event_until(read_deadline) { a9e786b2:crates/spt-daemon/tests/digest_cross_node.rs:600: match a.read_event_until(Some(watch_until)) { a9e786b2:crates/spt-daemon/tests/dispatch.rs:528: match a.read_event_until(deadline).expect("event") { a9e786b2:crates/spt-daemon/tests/dispatch.rs:561: match a.read_event_until(read_deadline).expect("event") { a9e786b2:crates/spt-daemon/tests/dispatch.rs:656: a.read_event_until(Some(std::time::Instant::now() + Duration::from_millis(200))) a9e786b2:crates/spt-daemon/tests/dispatch.rs:703: a.read_event_until(Some(std::time::Instant::now() + Duration::from_millis(200))) a9e786b2:crates/spt-daemon/tests/exit_every_reap.rs:244: let ev = match op.read_event_until(Some(Instant::now() + Duration::from_secs(2))) { a9e786b2:crates/spt-daemon/tests/handoff.rs:183: if let BrokerEvent::Exit { session_id, .. } = brain.read_event_until(deadline).expect("read until exit") { a9e786b2:crates/spt-daemon/tests/idempotent.rs:137: match brain.read_event_until(deadline).expect("read event") { a9e786b2:crates/spt-daemon/tests/idempotent.rs:219: match brain.read_event_until(deadline) { a9e786b2:crates/spt-daemon/tests/inject_control_wedge.rs:111:/// every bounded read (`read_event_until`), never to `LocalSocketTransport::connect` a9e786b2:crates/spt-daemon/tests/inject_control_wedge.rs:687: let _ = w.read_event_until(Some(std::time::Instant::now() + Duration::from_millis(20))); a9e786b2:crates/spt-daemon/tests/inject_control_wedge.rs:711: // each `read_event_until(now+250ms)` slice. A plain `Whole` carrier refuses a9e786b2:crates/spt-daemon/tests/inject_control_wedge.rs:799: .read_event_until(Some(std::time::Instant::now() + Duration::from_millis(250))) a9e786b2:crates/spt-daemon/tests/inject_control_wedge.rs:834: .read_event_until(Some(std::time::Instant::now() + Duration::from_millis(200))) a9e786b2:crates/spt-daemon/tests/inject_control_wedge.rs:1055: // PUMP mode (Split) supplies the bounded `read_event_until` this absence-capable a9e786b2:crates/spt-daemon/tests/inject_control_wedge.rs:1073: match viewer.read_event_until(Some(Instant::now() + Duration::from_millis(150))) { a9e786b2:crates/spt-daemon/tests/inject_control_wedge.rs:1127: match op.read_event_until(Some(Instant::now() + Duration::from_millis(120))) { a9e786b2:crates/spt-daemon/tests/inject_control_wedge.rs:1362: let _ = controller.read_event_until(Some(Instant::now() + Duration::from_millis(100))); a9e786b2:crates/spt-daemon/tests/inject_control_wedge.rs:1499: let _ = controller.read_event_until(Some(Instant::now() + Duration::from_millis(150))); a9e786b2:crates/spt-daemon/tests/inject_control_wedge.rs:1616: let _ = controller.read_event_until(Some(Instant::now() + Duration::from_millis(40))); a9e786b2:crates/spt-daemon/tests/inject_control_wedge.rs:2138: let _ = controller.read_event_until(Some(Instant::now() + Duration::from_millis(100))); a9e786b2:crates/spt-daemon/tests/inject_control_wedge.rs:2664: let _ = w.read_event_until(Some(Instant::now() + Duration::from_millis(15))); a9e786b2:crates/spt-daemon/tests/inject_control_wedge.rs:2702: // PUMP mode (Split) supports the 250ms `read_event_until` slices used below; a9e786b2:crates/spt-daemon/tests/inject_control_wedge.rs:2780: match operator.read_event_until(Some(Instant::now() + Duration::from_millis(250))) { a9e786b2:crates/spt-daemon/tests/inject_control_wedge.rs:2805: match operator.read_event_until(Some(Instant::now() + Duration::from_millis(200))) { a9e786b2:crates/spt-daemon/tests/inject_control_wedge.rs:3054: let _ = controller.read_event_until(Some(Instant::now() + Duration::from_millis(100))); a9e786b2:crates/spt-daemon/tests/inject_control_wedge.rs:3186: let _ = controller.read_event_until(Some(Instant::now() + Duration::from_millis(100))); a9e786b2:crates/spt-daemon/tests/inject_control_wedge.rs:3285: let _ = controller.read_event_until(Some(Instant::now() + Duration::from_millis(100))); a9e786b2:crates/spt-daemon/tests/inject_control_wedge.rs:3369: let _ = controller.read_event_until(Some(Instant::now() + Duration::from_millis(100))); a9e786b2:crates/spt-daemon/tests/input_ack_deadlock.rs:583: match operator.read_event_until(Some(slice_deadline)) { a9e786b2:crates/spt-daemon/tests/netstream.rs:106: match brain.read_event_until(deadline).expect("read event") { a9e786b2:crates/spt-daemon/tests/notifsync.rs:94: match brain.read_event_until(deadline).expect("read event") { a9e786b2:crates/spt-daemon/tests/presence.rs:69: match brain.read_event_until(deadline).expect("read event") { a9e786b2:crates/spt-daemon/tests/propagate.rs:609: match serve_brain.read_event_until(deadline).expect("event") { a9e786b2:crates/spt-daemon/tests/pump.rs:940: match sub.read_event_until(Some(slice_deadline)) { a9e786b2:crates/spt-daemon/tests/pump.rs:960: match nosub.read_event_until(Some(Instant::now() + Duration::from_millis(200))) { a9e786b2:crates/spt-daemon/tests/redispatch.rs:176: match operator.read_event_until(deadline).expect("operator read event") { a9e786b2:crates/spt-daemon/tests/redispatch_stall.rs:186: match operator.read_event_until(deadline).expect("operator read event") { a9e786b2:crates/spt-daemon/tests/redispatch_stall.rs:281: match f.read_event_until(deadline) { a9e786b2:crates/spt-daemon/tests/render_lifecycle.rs:199: let ev = match op.read_event_until(Some(Instant::now() + Duration::from_secs(5))) { a9e786b2:crates/spt-daemon/tests/replicate.rs:219: match b_probe.read_event_until(deadline).expect("read event") { a9e786b2:crates/spt-daemon/tests/resize_geometry_epoch.rs:171: match brain.read_event_until(Some(Instant::now() + Duration::from_millis(20))) { a9e786b2:crates/spt-daemon/tests/resize_geometry_epoch.rs:186: match brain.read_event_until(Some(Instant::now() + Duration::from_millis(50))) { a9e786b2:crates/spt-daemon/tests/resize_geometry_epoch.rs:280: letterbox.read_event_until(Some(Instant::now() + Duration::from_millis(50))) a9e786b2:crates/spt-daemon/tests/resize_geometry_epoch.rs:304: match cold.read_event_until(Some(Instant::now() + Duration::from_millis(50))) { a9e786b2:crates/spt-daemon/tests/resize_presentation_barrier.rs:171: match brain.read_event_until(Some(Instant::now() + Duration::from_millis(20))) { a9e786b2:crates/spt-daemon/tests/resize_presentation_barrier.rs:187: match brain.read_event_until(Some(Instant::now() + Duration::from_millis(50))) { a9e786b2:crates/spt-daemon/tests/resize_presentation_barrier.rs:312: match letterbox.read_event_until(Some(Instant::now() + Duration::from_millis(50))) { a9e786b2:crates/spt-daemon/tests/resize_presentation_barrier.rs:338: match letterbox.read_event_until(Some(Instant::now() + Duration::from_millis(50))) { a9e786b2:crates/spt-daemon/tests/resize_presentation_barrier.rs:356: match letterbox.read_event_until(Some(Instant::now() + Duration::from_millis(50))) { a9e786b2:crates/spt-daemon/tests/resize_presentation_barrier.rs:450: letterbox.read_event_until(Some(Instant::now() + Duration::from_millis(50))) a9e786b2:crates/spt-daemon/tests/resize_presentation_barrier.rs:465: match a2.read_event_until(Some(Instant::now() + Duration::from_millis(50))) { a9e786b2:crates/spt-daemon/tests/restart_replay_lifetime.rs:318: match operator.read_event_until(deadline).expect("operator read event") { a9e786b2:crates/spt-daemon/tests/resume.rs:112:/// surface here as an `Err` from `read_event_until` (it must not). a9e786b2:crates/spt-daemon/tests/resume.rs:117: .read_event_until(deadline) a9e786b2:crates/spt-daemon/tests/resume.rs:118: .expect("resume read_event_until (no gap-reject)") a9e786b2:crates/spt-daemon/tests/shellchan.rs:172: match probe.read_event_until(read_deadline) { a9e786b2:crates/spt-daemon/tests/sync.rs:571: match serve_brain.read_event_until(deadline).expect("event") { a9e786b2:crates/spt-daemon/tests/transport_death_eof.rs:337: match operator.read_event_until(deadline).expect("operator read event") { a9e786b2:crates/spt-daemon/tests/twohost.rs:2222: match a.read_event_until(deadline).expect("event") { a9e786b2:crates/spt-daemon/tests/twohost.rs:3362: if brain.read_event_until(deadline).is_err() { a9e786b2:crates/spt-daemon/tests/wanmsg.rs:133: match brain.read_event_until(deadline).expect("read event") { a9e786b2:crates/spt-daemon/tests/wanmsg.rs:355: match b_probe.read_event_until(deadline).expect("read event") { a9e786b2:crates/spt/src/rc.rs:21://! channel into `send_attach_input` with `read_event_until` for inbound `Output`. a9e786b2:crates/spt/src/rc.rs:2845:/// How the rc pump treats a `read_event_until` error (REQ-HAZARD-RC-EOF). a9e786b2:crates/spt/src/rc.rs:2857:/// Classify a `read_event_until` error kind. A poll-slice timeout retries; a a9e786b2:crates/spt/src/rc.rs:3097: let ev = match brain.read_event_until(Some(Instant::now() + POLL_SLICE)) { a9e786b2:crates/spt/tests/engine_room_bringup_e2e.rs:1407: match brain.read_event_until(Some(deadline)) { a9e786b2:crates/xtask/src/brainread.rs:249: if !has(f.body, &binding) || !has(f.body, &["read_event_until", "(", "deadline", ")"]) { a9e786b2:crates/xtask/src/brainread.rs:377: let valid = "fn peek_first_line() { brain.send(request); let deadline = brain.call_deadline(); loop { match brain.read_event_until(deadline) { Reply(value) => return value, _ => continue } } }"; a9e786b2:crates/xtask/src/brainread.rs:378: let rearmed = "fn peek_first_line() { brain.send(request); loop { let deadline = brain.call_deadline(); match brain.read_event_until(deadline) { Reply(value) => return value, _ => continue } } }";