HorusRealtime class final

Typed server events from Thoth, as Dart streams.

final realtime = HorusRealtime(
  socketUri: Uri.parse('ws://localhost:6001/app/orders-key'),
  client: api,
);
final Stream<OrderUpdated> updates = realtime.stream(orderUpdated(7));

A channel is subscribed when its first listener arrives and dropped when its last one cancels, so a screen that pops stops paying for it.

Constructors

HorusRealtime({required Uri socketUri, HorusClient? client, String authPath = '/broadcasting/auth', Future<void> onAuthFailure()?, RealtimeTransport? transport, Backoff? backoff, String protocol = '7'})

Properties

authPath → String
Maat's channel authorization endpoint.
final
client → HorusClient?
Authorizes private channels and supplies the credentials to do it with. Only public channels work without one.
final
hashCode → int
The hash code for this object.
no setterinherited
onAuthFailure → Future<void> Function()?
Called once when authorization is refused, before one retry — the hook for refreshing an expired token. Returning normally means "try again".
final
protocol → String
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
socketId → String?
The connection's id, or null while it is down.
no setter
socketUri → Uri
Thoth's endpoint for this application, ws://host:port/app/{key}.
final
status → RealtimeStatus
no setter
statuses → Stream<RealtimeStatus>
no setter

Methods

close() → Future<void>
connect() → Future<void>
Opens the connection and completes once the server has assigned a socket id. Called for you by the first stream listener.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
stream<T>(ChannelEvent<T> event) → Stream<T>
The typed events matching event. Broadcast, so several widgets may listen to one channel.
toString() → String
A string representation of this object.
inherited

Operators

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