Internals¶
Developer documentation for the non-obvious parts of nless. Start here if you're about to modify the streaming pipeline, delimiter logic, or session persistence.
Architecture¶
- State Architecture — the six state objects, mixin structure, and how they interact
- Threading Model — three threads, lock protocol, generation counter, chain rebuild backoff
Data flow¶
- Streaming Pipeline — how rows flow from stdin to the DataTable, incremental vs full rebuild, parsed row cache
- Delimiter Inference — scoring algorithm, preamble handling, auto-switch logic
- Copy & History — copy-on-write buffers, merge, filter compaction
Features¶
- Column Operations — column splitting, JSON extraction, dedup/pivot, pinning
- Log Format Detection — known format matching, inferred pattern construction, token classification
- Time Windows — fixed vs rolling, timer mechanism, interaction with streaming
- Session Persistence — capture/apply round-trip, serialization, file reload, views
Rendering¶
- Custom DataTable — why a custom widget, render_line hot path, RawPager, fixed columns