Update Isolate package.

No longer contains FunctionRef class since implementations can now send
functions.

Enable error/done listening on the isolate now that the VM implements it.

Add a new abstraction to ports.dart, the "SingleResponseChannel", which is like
the other features in that it creates a Future and a SendPort and forwards the
first value from the SendPort to the Future. This one exposes the two values as
an object with two getters instead of returning one and calling a callback with
the other.

Clean up some formatting suggested by formatter (but far from all).

R=sgjesse@google.com

Review URL: https://codereview.chromium.org//1012053002
15 files changed
tree: 6223b8c6767338a338d2fe0d882335abeb93397a
  1. example/
  2. lib/
  3. test/
  4. .gitignore
  5. .status
  6. AUTHORS
  7. CHANGELOG.md
  8. codereview.settings
  9. CONTRIBUTING.md
  10. LICENSE
  11. pubspec.yaml
  12. README.md
README.md

isolate

The isolate package helps with isolates and isolate communication.

The package contains individual libraries with different purposes.

Creating send ports and responding to messages.

The “ports.dart” sub-library contains functionality for creating SendPorts and reacting to values sent to those ports.

Working with isolates and running functions in other isolates.

The “isolaterunner.dart” sub-library introduces an IsolateRunner class that gives easy access to the Isolate functionality, and also gives a way to run new functions in the isolate repeatedly, instead of just on the initial spawn call.

A central registry for values that can be used accross isolates.

The “registry.dart” sub-library provides a way to create an object registry, and give access to it accross different isolates.

Balancing load accross several isolates.

The “loadbalancer.dart” sub-library can manage multiple Runner objects, including IsolateRunner, and run functions on the currently least loaded runner.

Features and bugs

Please file feature requests and bugs at the issue tracker.