You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit faecb85
Browse filesBrowse the repository at this point in the historyBrowse files
Answer an attached viewer's unchanged listing without resending it
An attached viewer asks for the full listing five times a second, even hidden,
and a full listing is every patch base64'd twice by the owner, inside its gate,
then parsed again by the viewer - to learn, almost every time, that nothing
changed.
The owner now tags each full listing, and the viewer sends back the tag of the
one it holds. While the tag still stands the owner answers "unchanged" and
nothing else, and the viewer keeps the queue it already parsed; the tracked
files are still stat'd each pass, since a re-run rewriting one changes no
listing. The tag is taken before the listing is built, so a change landing in
between costs one more full listing rather than a stale one kept.
A tag is cheap to take: both queues are immutable, so a new reference is a new
generation. The tray also folds in its tracked files, which its own scan
changes, and a count of stashed window commands, so a focus is never answered
unchanged. Each owner's tags carry an id of their own, so a tag held across an
owner restart cannot match.
A hidden window lists once a second instead of five times.
Older owners ignore the tag and answer in full; older viewers send none and
are answered in full.
0 commit comments