Skip to content

refactor: extract the Tail Follow Engine into Core - #669

Merged
Hirogen merged 3 commits into
Developmentfrom
refactor/tail-follow-engine
Jul 26, 2026
Merged

refactor: extract the Tail Follow Engine into Core#669
Hirogen merged 3 commits into
Developmentfrom
refactor/tail-follow-engine

Conversation

@Hirogen

@Hirogen Hirogen commented Jul 26, 2026

Copy link
Copy Markdown
Collaborator

Pulls the tail-event queue and worker out of LogWindow into LogExpert.Core.Classes.Tail.TailFollowEngine behind an ITailFollowSink implemented by the Log Window — rendering, trigger scan, and time spread stay in the UI. The engine owns the dispatch policies, each pinned by a headless test: in-order delivery, rollover shift before content, the #634 never-die guard, abandoned-sink exit, bounded teardown. Behavior-preserving: three original quirks are pinned rather than fixed, and the engine does not own the reader subscription (the Log Window swaps readers on reload/rollover; watcher ownership is re-decided with the LogfileReader decomposition). The tailing behavior of the log tailer is now verified — the last big untested engine has left the Log Window.

BRUNER Patrick and others added 3 commits July 26, 2026 09:32
Pulls the tail-event queue and worker out of LogWindow into
LogExpert.Core.Classes.Tail.TailFollowEngine, behind an ITailFollowSink
implemented by the Log Window (grid update, trigger scan, time spread
stay behind the sink). The engine owns the dispatch policies, each
pinned by a headless test: in-order delivery, rollover shift before
content, the #634 never-die guard, abandoned-sink exit, and the bounded
teardown join. The engine does not own the reader subscription - the
Log Window swaps its Logfile Reader on load/reload/rollover and keeps
forwarding FileSizeChanged into Post(). Resolves wayfinder ticket 04;
glossary entries added to CONTEXT.md.
Inlines the one-line StopLogEventWorkerThread wrapper (banned name per
the new CONTEXT.md entry, pure middle man), removes the stale worker
field comment, and documents the engine ctor and Dispose, including why
the Log Window deliberately calls only Stop() at close.
@Hirogen
Hirogen merged commit 3016201 into Development Jul 26, 2026
1 check passed
@Hirogen
Hirogen deleted the refactor/tail-follow-engine branch July 26, 2026 08:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant