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

A consumer can accept a number of consecutive 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




hashCode int

Get a hash code for this object.

read-only, inherited
runtimeType Type

A representation of the runtime type of the object.

read-only, inherited


operator ==(other) bool

The equality operator.



addStream(Stream<S> stream) Future

Consumes the elements of stream.

close() Future

Tells the consumer that no further streams will be added.

noSuchMethod(Invocation invocation) → dynamic

Invoked when a non-existent method or property is accessed.

toString() String

Returns a string representation of this object.