bloom_realtime_client library
Query cache invalidation extras for bloom_realtime.
Bridges channel broadcasts directly to bloom_js_native's pure-Dart
BloomData client query cache (signals-backed, zero Flutter dependency).
Import this library in client applications that use BloomQuery or BloomData.
Pure server entrypoints that do not need the client query invalidation bridge
can import package:bloom_realtime/bloom_realtime.dart instead.
Example
import 'package:bloom_js_native/bloom_js_native.dart';
import 'package:bloom_realtime/bloom_realtime_client.dart';
void main() async {
final client = BloomRealtimeClient(
uri: Uri.parse('ws://localhost:8080/ws/realtime'),
);
await client.connect();
// Automatically invalidate BloomData query cache when updates arrive
final bridge = client.invalidateQueriesOnBroadcast(
channel: 'lists:42',
key: ['lists', '42', 'todos'],
);
// Later, when tearing down or navigating away:
bridge.cancel();
}
Classes
- BloomChannelHub
- In-process registry and pub/sub broadcaster of WebSocket connections grouped by channel name.
- BloomPresenceTracker
- Simple presence tracker layered on top of BloomChannelHub.
- BloomRealtimeClient
- Client-side Realtime manager that connects to a Bloom WebSocket endpoint.
- BloomRealtimeCluster
- High-throughput multi-isolate cluster orchestrator for Bloom Realtime.
- PresenceUser
- Representation of a user's presence state in a channel.
- RealtimeMessage
- Wire message envelope shared between Bloom Realtime client and server.
- RealtimeQueryBridge
-
Bridges Realtime channel broadcasts to the
BloomDataclient query cache.
Enums
- RealtimeConnectionState
- Connection states for BloomRealtimeClient.
Extensions
- BloomRealtimeClientQueryBridgeExtension on BloomRealtimeClient
- Extension on BloomRealtimeClient for seamless query invalidation binding.
-
RealtimeChannelStreamQueryBridgeExtension
on Stream<
Map< String, dynamic> > - Extension on channel streams for ergonomic query invalidation binding.