bloom_realtime 0.2.1
bloom_realtime: ^0.2.1 copied to clipboard
Real-time pub/sub layer for Bloom server + client apps (channels, broadcast, presence, query invalidation bridge).
0.2.1 #
- Fixed:
bloom_realtimecould not be installed alongsidebloom_serverorbloom_seo. It depended onbloom_js_native ^0.2.0while both of those requirebloom_js_native ^0.3.0; the two ranges are disjoint, so any app combiningbloom_realtimewith the rest of the Bloom server stack failed with "version solving failed". The constraint is now^0.3.0, matching the 0.3.6 that this package'sdependency_overridesalready built and tested against. Resolvingbloom_realtimeon its own always succeeded, which is why the break went unnoticed.
0.2.0 #
BloomRealtimeClusterMulti-Isolate Engine: Added native multi-core cluster orchestrator scaling WebSocket throughput to 78,000+ msgs/sec via kernel-level port sharing (shared: true) and peer-to-peerSendPortinter-isolate mesh pub/sub routing.- Zero-Allocation Broadcast Loop: Refactored
_channelSubscribersto direct connection pointer sets, eliminating 50,000 intermediate map lookups and heap list allocations during high-frequency message fan-outs. - High-Performance
BloomChannelHub.upgrade: Added production WebSocket upgrader with defaultCompressionOptions.compressionOffto eliminate zlib CPU overhead on small JSON packets. - Binary Frame Streaming: Added
msg.encodeBytes()andasBinary: truesupport toRealtimeMessage,BloomChannelHub.broadcast, andBloomRealtimeCluster.broadcast. - Streamlined Protocol Parsing: Enhanced
RealtimeMessage.tryParseto decode both UTF-8List<int>/Uint8Listbinary frames and JSON strings. - Memory Footprint: Optimized server memory consumption down to 3.70 MB RSS under 1,000 concurrent active WebSocket connections.
0.1.0 #
- Initial release of
bloom_realtime. - Server-side
BloomChannelHubfor in-memory channel subscriptions and broadcasts. - Automatic dead/closed WebSocket connection cleanup and lifecycle pruning.
- Server-side
BloomPresenceTrackerfor join/leave presence tracking. - Shared JSON wire protocol
RealtimeMessage(subscribe,unsubscribe,broadcast,presence_join,presence_leave,presence_state,error,ping,pong). - Client-side
BloomRealtimeClientwith automatic exponential backoff reconnection. - Client-side query invalidation bridge (
bindQueryInvalidation,invalidateQueryOnBroadcast) integrated withBloomData.invalidateQueries. - Server-side extension and helpers on
BloomWebSocketServerandBloomApiRouter.