macula_topic_pattern (macula v10.20.3)
View SourceSegment-wise wildcard matching for hierarchical mesh addresses — pubsub topics, RPC procedure names, capability advertisements — shared by any caller that needs "does this pattern match this concrete address" without committing to one fixed segment count.
* is a literal, single-segment wildcard: it matches exactly one segment, in exactly that position, and nothing else — no multi- segment (**) wildcards, no partial-segment globs. Both Pattern and Concrete are ordinary lists of binaries (already split on whatever delimiter the caller's own address format uses) — this module has no opinion on segment count or delimiter, deliberately: hecate_om_capabilities's capability names are 2 dynamic segments (org, name); macula_topic's pubsub/RPC topics are 4 (org-or-_org sentinel, app-or-_realm sentinel, domain, name). Both fit this same primitive, unmodified — a mismatched segment count between Pattern and Concrete is simply not a match, never a crash.
A concrete address never itself contains * — that is a query-side (or subscription-side) syntax only. This module does not enforce that; a caller advertising or publishing a literal * segment is a caller error, not something this module can or should police.
Summary
Functions
Whether Pattern matches Concrete, segment by segment.