Add StreamChannelTransformer.

This makes StreamChannel.transform() take a StreamChannelTransformer
rather than a codec. This is better, since a codec is explicitly
intended to convert chunked data, while transformers are more general.

R=rnystrom@google.com

Review URL: https://codereview.chromium.org//1632903004 .
4 files changed
tree: 63a23177387b2fd24e726a1ae1279f5c76e327f5
  1. lib/
  2. test/
  3. .gitignore
  4. .test_config
  5. AUTHORS
  6. CHANGELOG.md
  7. codereview.settings
  8. CONTRIBUTING.md
  9. LICENSE
  10. pubspec.yaml
  11. README.md
README.md

This package exposes the StreamChannel interface, which represents a two-way communication channel. Each StreamChannel exposes a Stream for receiving data and a StreamSink for sending it.

StreamChannel helps abstract communication logic away from the underlying protocol. For example, the test package re-uses its test suite communication protocol for both WebSocket connections to browser suites and Isolate connections to VM tests.

This package also contains utilities for dealing with StreamChannels and with two-way communications in general. For documentation of these utilities, see the API docs.