blob: 3677ccf5ecd1a0172bf6caab0a401332fc8a150e [file] [log] [blame] [view]
[![Build Status](https://github.com/dart-lang/tools/actions/workflows/stream_channel.yaml/badge.svg)](https://github.com/dart-lang/tools/actions/workflows/stream_channel.yaml)
[![pub package](https://img.shields.io/pub/v/stream_channel.svg)](https://pub.dev/packages/stream_channel)
[![package publisher](https://img.shields.io/pub/publisher/stream_channel.svg)](https://pub.dev/packages/stream_channel/publisher)
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`][test] package re-uses its test suite
communication protocol for both WebSocket connections to browser suites and
Isolate connections to VM tests.
[test]: https://pub.dev/packages/test
This package also contains utilities for dealing with `StreamChannel`s and with
two-way communications in general. For documentation of these utilities, see
[the API docs][api].
[api]: https://pub.dev/documentation/stream_channel/latest/