๐ 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
- Initiate a Dart project with
pubspec.yaml
. - 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/
- Run
dart pub get
. - 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.