macula_pubsub_registry (macula v0.20.5)
View SourceLocal subscription registry for pub/sub. Maps topic patterns to local subscribers (callback PIDs).
Summary
Functions
Get specific subscription.
List all unique patterns.
Find subscriptions matching a topic.
Create new empty registry.
Get number of subscriptions.
Subscribe to a pattern. If subscription already exists (same subscriber_id + pattern), updates callback.
Unsubscribe from a pattern.
Types
-type registry() :: #{subscriptions := [subscription()], pattern_index := #{binary() => [subscription()]}}.
Functions
-spec get_subscription(registry(), binary(), binary()) -> {ok, subscription()} | not_found.
Get specific subscription.
List all unique patterns.
-spec match(registry(), binary()) -> [subscription()].
Find subscriptions matching a topic.
-spec new() -> registry().
Create new empty registry.
-spec size(registry()) -> non_neg_integer().
Get number of subscriptions.
Subscribe to a pattern. If subscription already exists (same subscriber_id + pattern), updates callback.
Unsubscribe from a pattern.