Expand description
Zero-copy semi-structured log parsing: streaming lines plus optional arena AST.
§mmap safety
See MappedFile.
Structs§
- Arena
Parser - Parses lines into bump-allocated ASTs. Combine with
Bump::resetbetween lines for cheap rollback of speculative work. - Borrowed
Record - One parsed line with zero-copy field references into the source.
- Field
Node - Field
Ref - Zero-copy key/value or value-only field.
- LineAst
- AST for a single line; field slice memory is owned by the arena (
'arena). - Line
Iter - Iterator over logical lines in
buf, validated as UTF-8 per line. - Line
View - One line of text with its starting byte offset in the parent buffer.
- LogDialect
- Configurable delimiters for semi-structured logs.
- LogStream
- Stream
BorrowedRecordvalues from a contiguous byte buffer (UTF-8 validated per line). - Mapped
File - Read-only mmap of an entire file, owning the
memmap2::Mmaphandle. - Span
- Inclusive-exclusive byte span into UTF-8 source text
[start, end).
Enums§
- Parse
Error - Source
- Convenience holder for contiguous input (
mmapvs caller-owned/borrowed string). - Split
Mode - How to split field tokens on a line.
Functions§
- fields_
on_ line - Collect key/value or space-token fields from one line (heap
Vecper call). - lines_
in_ str - Stream all lines from a UTF-8
&str(no per-line mmap cost beyond validation). - parse_
log_ stream - Convenience: stream from a guaranteed UTF-8
&str(same bytes assrc.as_bytes()). - push_
fields_ on_ line - Bump-friendly: push fields into
outwithout extra allocation beyondoutgrowth.