MessageBroker class abstract interface

A message broker this service publishes to and consumes from.

Revali does not run a broker. Like a database, the broker is infrastructure you deploy; this is the client side of it. Implementations live in their own packages so the framework never has to pick a winner between brokers whose delivery and ordering guarantees genuinely differ.

Handlers must be idempotent. Every broker worth using delivers at least once, which means a message that was handled but whose acknowledgement was lost will arrive again. That is not a bug to be engineered away at this layer — it is the contract.

Implementers

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

close() Future<void>
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
publish(String topic, String payload, {Map<String, String> headers = const {}}) Future<void>
Sends payload to topic.
subscribe(String topic, {required String group, required MessageHandler onMessage}) Future<BrokerSubscription>
Receives messages from topic, calling onMessage for each.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited