Topics are the subject of information exchanged within Pubkeeper. Topics are used to describe the information being produced as well what information is to be consumed.
A topic follows the following grammar
topic = segment *subtopic subtopic = segment-delim segment segment = segment-txt / wildcard / dwildcard segment-txt = *(alpha / digit) wildcard = "*" dwildcard = "**" segment-delim = "." alpha = "a-z" / "A-Z" digit = "0-9"
Topics are generally structured in a tree pattern, wherein the most general topic is the segment on the left. With each added segment, the tree increases in specificity. For example:
When creating a
Brewer, a fully qualified topic must be specified. However,
when creating a
Patron you are allowed to use wildcards. A wildcard
segment-txt between a single
segment-delim. A double wildcard
however will allow any number of
With our above example we can examine a couple cases of matching. Wildcard matching:
broomfield.*.*.lab - match broomfield.*.temperature.* - match broomfield.*.humidity.* - no match
With double wildcard matching we can see the following:
broomfield.** - match broomfield.**.lab - match broomfield.**.*.lab - match broomfield.**.temperature.lab - match broomfield.**.conference - no match broomfield.**.*.*.lab - no match