dart_nats_client 0.2.0
dart_nats_client: ^0.2.0 copied to clipboard

A Dart client for the NATS messaging system. Design to use with Dart and flutter. Forked from https://github.com/chartchuo/dart-nats

Dart NATS Client #

A Dart client for the NATS messaging system. Design to use with Dart and flutter.

Dart Examples #

All examples can be found in example folder.

App permissions #

Android permissions

For android you need to add to android/app/src/profile/AndroidManifest file lines:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

For activiy in backgroud:

<!-- Allows run app in background -->
<uses-permission android:name="android.permission.REQUEST_COMPANION_RUN_IN_BACKGROUND"/>
<!-- Allows app use data in background -->
<uses-permission android:name="android.permission.REQUEST_COMPANION_USE_DATA_IN_BACKGROUND"/>

iOS permissions

For iOS you don't need any specific permissions for NATS client.

But for background activity you need to add to file ios/Runner/Info.plist lines:

<key>UIBackgroundModes</key>
<array>
  <string>audio</string>
  <string>external-accessory</string>
  <string>fetch</string>
  <string>processing</string>
  <string>remote-notification</string>
</array>

Testing #

For running unit-tests use dart test in project root folder.

NOTE. For testing you need run NATS in docker. Instruction

Features #

The following is a list of features currently supported and planned by this client:

  • [x] - Publish
  • [x] - Subscribe, unsubscribe
  • [x] - NUID, Inbox
  • [x] - Reconnect to single server when connection lost and resume subscription
  • [x] - Unsubscribe after N message
  • [x] - Request, Respond
  • [ ] - Respond, Request example
  • [x] - Queue subscribe
  • [ ] - caches, flush, drain
  • [ ] - Request timeout
  • [ ] - structured data
  • [ ] - Connection option (cluster, timeout,ping interval, max ping, echo,... )
  • [ ] - Random automatic reconnection, disable reconnect, number of attempts, pausing
  • [ ] - Connect to cluster,randomize, Automatic reconnect upon connection failure base server info
  • [ ] - Events/status disconnect handler, reconnect handler
  • [ ] - Buffering message during reconnect atempts
  • [ ] - All authentication models, including NATS 2.0 JWT and seed keys
  • [ ] - TLS support
3
likes
100
pub points
0%
popularity

A Dart client for the NATS messaging system. Design to use with Dart and flutter. Forked from https://github.com/chartchuo/dart-nats

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

logger, universal_io

More

Packages that depend on dart_nats_client