Skip to main content
Version: 2.0.x


A THub is a transactional message hub. Publishers can publish messages to the hub and subscribers can subscribe to take messages from the hub.

A THub is an asynchronous message hub like Hub but it can participate in STM transactions. APIs are almost identical, but they are in the STM world rather than the ZIO world.

The fundamental operators on a THub are publish and subscribe:

trait THub[A] {
def publish(a: A): USTM[Boolean]
def subscribe: USTM[TDequeue[B]]