rosbridge_dart_client 0.1.1
rosbridge_dart_client: ^0.1.1 copied to clipboard
Subscribe-only Dart client for rosbridge_suite — ROS 2 topic JSON streams over WebSocket. Pure Dart, no transport-layer lock-in.
Changelog #
0.1.1 #
- Republish from the embedded-target Dart 3.10.1 SDK (Flutter 3.38.3) to correct a stale
^3.11.0SDK floor in the previously-published artifact. No source or behavior change; the source already declaredsdk: ^3.10.0. Restorespub getfor embedded/automotive Dart consumers on Dart 3.10.x.
0.1.0 — 2026-05-10 — Initial subscribe-only client #
RosbridgeClient: WebSocket client + subscribe Stream multiplexer. Connects to arosbridge_serverROS 2 node and surfaces topic- subscribe streams asStream<Map<String, dynamic>>. Caller maps the maps to typed records (e.g. viaNav2CollisionMonitorState.fromJsonfromnav2_safety_layer).RosbridgeProtocolException/RosbridgeTransportException: caller-side discriminable error types for server-reported protocol errors vs WebSocket transport-layer failures.- Four supported
optypes:subscribe(outbound),unsubscribe(outbound on Stream cancel),publish(inbound topic message payload),status(inbound protocol notifications). - Tests run against a synthetic in-process WebSocket channel
(
StreamChannelMixin+ dev-onlystream_channeldep); CI does not require a ROS bridge server.
Out of scope for 0.1.0 #
op:publishoutbound (publish-to-topic from Dart) — deferredop:call_service(service calls) — deferredop:advertise/op:unadvertise— deferred- Action goals / action clients — deferred
- PNG-compressed messages — deferred
- Authentication helpers — deferred (integrator wraps auth into the WebSocket connect URI if needed)