Module query

Source
Expand description

LkQuery functions

Structs§

LkQuery
A set of predicates and options used to select a range of packets

Enums§

KnownOptions
PredicateType
A list of all supported query predicates

Statics§

LK_Q
An immutable empty_query

Functions§

lkq_add
Merge statements into a new query.
lkq_add_mut
Add multiple ABE encoded statements to a [Query]
lkq_clear_mut
Clear a [Query] for reuse
lkq_compile
Compile a [Query] into a function that tests packets to deteremine if they match
lkq_exact_domain
If the query has any domain predicate return it - errors if it is a set of domains
lkq_exact_group
If the query has any group predicate return it - errors if it is a set of groups
lkq_hash
Create a new LkQuery specifically for matching a hash. Sets the right mode and limit count. See system::lks_scan_hashes if you don’t care to watch the db.
lkq_insert_mut
Add a statement or option similar to lkq_add_mut, but use three arguments and skip an evaluation step. I.e. lkq_add_mut(q,“{field} {op} {lka_encode(bytes)}”) becomes lkq_insert_mut(q,field,op,bytes).
lkq_new
Create a new [Query] from a set of statements. See [Query]
lkq_path
lkq_prefix
lkq_space
Create a query form a space_expr i.e. domain:group:/path The domain and group resolve to [crate::thread_local] variants if not supplied. i.e. “::/path” The path matches the exact path. alternatively use “::/my/path//*” for all matches, or you can be more specific such as “::/my/path//././?” for matches starting with /my/path and 4 or 5 parts. */
lkq_stringify
Get the string representation of a [Query] - abe indicates wether to use [] expressions
lkq_watch

Type Aliases§

CompiledQuery