Skip to main content

๐Ÿ‘‹ Hello

Greetings. Welcome to the documentation of the dart-reactive-transport (DRT) library.

The main purpose of this project is an implementation of the RSocket protocol over the IOUring transport in the Dart Language.

๐Ÿง  Reasoning

RSocket provides reactive communication between client and server over TCP.

The protocol contains these features:

  • client and server two-sided channels
  • backpressure
  • lease
  • graceful shutdown
  • fragmentation
  • multicodec
  • resume

So I've decided to take Dart network library and implement RSocket channels over it.

๐Ÿ”จ Usage

  1. Initiate a Dart project with pubspec.yaml.
  2. Append the following section to your dependencies:
  iouring_transport:
git:
url: https://github.com/antonbashir/dart-iouring-transport/
path: dart
reactive_transport:
git:
url: https://github.com/antonbashir/dart-reactive-transport/
  1. Run dart pub get.
  2. Refer to the API for implementation details. Enjoy!

๐Ÿ’ฅ Samples

A basic sample of usage lives here.

โœ‹ Limitations

There are some unimplemented features:

  • resume and retry
  • fire and forget, request-response, metadata push, request stream
  • non-Linux platform - because of IOUring

๐Ÿ‘จโ€๐Ÿ’ป Contribution

Issues about wanted functions or existing bugs are always welcome.