On this page
ControlSession.notifications
- Declared in
- ControlSession
- Package
- libtmux-swift
- Source
- Sources/LibTmux/ControlSession.swift
- notifications : var notifications: ControlNotificationStream
-
Everything the server volunteered:
%output,%window-add, and the rest.Each access is an observer of its own, and every observer sees every notification. Two iterators of one
AsyncStreamwould divide them instead — which is the shape a waiter and a watcher on the same connection have, so it cannot be left to the caller to avoid.Anything that arrived before the first observer is replayed to it, so acting and then observing is not a race. That replay covers the first observer alone, and every later one starts where it subscribed — so two observers of one event are both taken before the command that causes it. An
async letis late enough to miss it: its initializer is evaluated in the child task, not where it is written. A slow observer fails withTmuxError/notificationBufferOverflow(limit:)rather than retaining connection output without bound.
0 declared, 0 inherited