A StreamSink unifies the asynchronous methods from StreamConsumer and the synchronous methods from EventSink.

The EventSink methods can't be used while the addStream is called. As soon as the addStream's Future completes with a value, the EventSink methods can be used again.

If addStream is called after any of the EventSink methods, it'll be delayed until the underlying system has consumed the data added by the EventSink methods.

When EventSink methods are used, the [done] [Future] can be used to catch any errors.

When close is called, it will return the [done] [Future].

Implements
Implemented by

Properties

done Future
read-only

Return a future which is completed when the StreamSink is finished.

Constructors

StreamSink()

Methods

add(S event) → void
inherited

Send a data event to a stream.

addError(errorEvent, [StackTrace stackTrace]) → void
inherited

Send an async error to a stream.

addStream(Stream<S> stream) → Future
inherited

Consumes the elements of stream.

close() → Future

As EventSink.close, but returns a future.