Skip to main content

PubSubClient

Session-scoped facade over PubSubHub.

This client binds all pub/sub operations to one session ID so callers can publish and subscribe without passing their session identity explicitly on each call.

Methods

  • send_all - Broadcasts a global message to all sessions.
  • send_all_on_topic - Broadcasts a topic message to all subscribers of topic.
  • send_others - Broadcasts a global message to all sessions except this client session.
  • send_others_on_topic - Broadcasts a topic message excluding this client session.
  • subscribe - Subscribes this session to global messages.
  • subscribe_topic - Subscribes this session to a topic.
  • unsubscribe - Removes global subscriptions for this session.
  • unsubscribe_all - Removes all global and topic subscriptions for this session.
  • unsubscribe_topic - Removes this session's subscriptions for a specific topic.

Methods

send_all

send_all(message: Any)

Broadcasts a global message to all sessions.

Parameters:

  • message (Any) - Payload to publish.

send_all_on_topic

send_all_on_topic(topic: str, message: Any)

Broadcasts a topic message to all subscribers of topic.

Parameters:

  • topic (str) - Topic name to publish on.
  • message (Any) - Payload to publish.

send_others

send_others(message: Any)

Broadcasts a global message to all sessions except this client session.

Parameters:

  • message (Any) - Payload to publish.

send_others_on_topic

send_others_on_topic(topic: str, message: Any)

Broadcasts a topic message excluding this client session.

Parameters:

  • topic (str) - Topic name to publish on.
  • message (Any) - Payload to publish.

subscribe

subscribe(handler: Callable)

Subscribes this session to global messages.

The handler is invoked with one positional argument: message.

Parameters:

  • handler (Callable) - Sync or async callback for global messages.

subscribe_topic

subscribe_topic(topic: str, handler: Callable)

Subscribes this session to a topic.

The handler is invoked with two positional arguments: (topic, message).

Parameters:

  • topic (str) - Topic name to subscribe to.
  • handler (Callable) - Sync or async callback for topic messages.

unsubscribe

unsubscribe()

Removes global subscriptions for this session.

unsubscribe_all

unsubscribe_all()

Removes all global and topic subscriptions for this session.

unsubscribe_topic

unsubscribe_topic(topic: str)

Removes this session's subscriptions for a specific topic.

Parameters:

  • topic (str) - Topic to unsubscribe from.