Make it possible to not complete a request when the event source is done.

Abstract the event source of a stream queue so it doesn't have to be a stream.

This is in anticipation of adding look-ahead which will need to keep the
request alive until the user fast-forwards or rewindes, even after the
original event source is done, and which will need a stream queue fed by
the look-ahead request, not by a stream.

Review URL: .
1 file changed
tree: d162503f28e6aa429e31724d37fbafd9cf2637bf
  1. .gitignore
  2. .test_config
  8. codereview.settings
  9. lib/
  10. pubspec.yaml
  11. test/

Async utilities package

Contains tools to work with asynchronous computations.

The package contains Stream and Future related functionality, as well as sub-libraries with different utilities.

Zipping streams

The “stream_zip.dart” sub-library contains functionality to combine several streams of events into a single stream of tuples of events.


The “result.dart” sub-library introduces a Result class that can hold either a value or an error. It allows capturing an asynchronous computation which can give either a value or an error, into an asynchronous computation that always gives a Result value, where errors can be treated as data. It also allows releasing the Result back into an asynchronous computation.


This package is unrelated to the discontinued async package with version 0.1.7.

Features and bugs

Please file feature requests and bugs at the issue tracker.