Abstract interface for a "sink" accepting multiple entire streams.

A consumer can accept a number of consequtive streams using addStream, and when no further data need to be added, the close method tells the consumer to complete its work and shut down.

This class is not just a Sink because it is also combined with other Sink classes, like it's combined with EventSink in the StreamSink class.

The Stream.pipe accepts a StreamConsumer and will pass the stream to the consumer's addStream method. When that completes, it will call close and then complete its own returned future.

Implemented by

Constructors

StreamConsumer()

Methods

addStream(Stream<S> stream) → Future

Consumes the elements of stream.

close() → Future

Tells the consumer that no futher streams will be added.