struct HostPipeInner {
writer: Option<Arc<Mutex<Box<dyn AsyncWrite + Unpin + Send>>>>,
pending_buffer: VecDeque<PendingFrame>,
host_disconnected_at: Option<Instant>,
host_session_id: u64,
}Fields§
§writer: Option<Arc<Mutex<Box<dyn AsyncWrite + Unpin + Send>>>>§pending_buffer: VecDeque<PendingFrame>§host_disconnected_at: Option<Instant>Set when the writer transitions from Some -> None. Cleared on reconnect. Used to enforce the 30s disconnect timeout.
host_session_id: u64Monotonic generation incremented on every set_writer call.
Per-host fanout tasks capture this at start and pass it back
into send_event_for_session, which no-ops if it doesn’t
match the current generation. Prevents a stale fanout (from
an old host connection that hasn’t fully torn down yet) from
writing into a freshly-registered host’s writer.
(codex P1 PR #642 round 2.)
Implementations§
Source§impl HostPipeInner
impl HostPipeInner
Auto Trait Implementations§
impl Freeze for HostPipeInner
impl !RefUnwindSafe for HostPipeInner
impl Send for HostPipeInner
impl Sync for HostPipeInner
impl Unpin for HostPipeInner
impl !UnwindSafe for HostPipeInner
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more