Skip to content

PubSub

[Source]

Topic-based publish-subscribe for delivering messages to LiveView connections.

Create a PubSub instance and pass it to Listener. LiveViews subscribe via Socket.subscribe(topic). External actors publish via pub_sub.publish(topic, message), which delivers to all current subscribers via InfoReceiver.info.

actor tag PubSub

Constructors

create

[Source]

new tag create()
: PubSub tag^

Returns


Public Behaviours

subscribe

[Source]

Add a subscriber to a topic. Idempotent — subscribing the same connection to the same topic twice has no additional effect.

be subscribe(
  topic: String val,
  subscriber: InfoReceiver tag)

Parameters


unsubscribe

[Source]

Remove a subscriber from a topic.

be unsubscribe(
  topic: String val,
  subscriber: InfoReceiver tag)

Parameters


unsubscribe_all

[Source]

Remove a subscriber from all topics. Called automatically by the connection actor when a WebSocket closes.

be unsubscribe_all(
  subscriber: InfoReceiver tag)

Parameters


publish

[Source]

Send a message to all subscribers of a topic.

be publish(
  topic: String val,
  message: Any val)

Parameters