hub v0.6.2 Hub

Pub-sub hub

Subscription is done with a pattern.

Example:

Hub.subscribe(“global”, %{count: count} when count > 42) Hub.publish(“global”, %{count: 45, message: “You rock!”})

Link to this section Summary

Functions

Publishes the term to all subscribers that matches it Returns the number of subscribers that got the message

Convenience macro for subscribing without the need to unquote the pattern

Subscribes to the quoted pattern in the given channel_name

Get all subscribers from channel

Unsubscribes using the reference returned on subscribe

Link to this section Functions

Link to this function publish(channel_name, term)
publish(String.t(), any()) :: non_neg_integer()

Publishes the term to all subscribers that matches it Returns the number of subscribers that got the message

Link to this macro subscribe(channel_name, pattern, options \\ []) (macro)

Convenience macro for subscribing without the need to unquote the pattern.

example:

Hub.subscribe(“global”, %{count: count} when count > 42)

Link to this function subscribe_quoted(channel_name, quoted_pattern, options \\ [])
subscribe_quoted(String.t(), any(), Hub.Channel.subscribe_options()) ::
  {:ok, Hub.Channel.subscription_ref()} | {:error, reason :: String.t()}

Subscribes to the quoted pattern in the given channel_name

example:

Hub.subscribe(“global”, quote do: %{count: count} when count > 42)

Link to this function subscribers(channel_name)
subscribers(String.t()) :: [Hub.Subscriber.t()]

Get all subscribers from channel

Link to this function traverse_pin(term, bindings)
Link to this function unsubscribe(ref)

Unsubscribes using the reference returned on subscribe