mirror of
https://github.com/servo/servo.git
synced 2025-08-02 12:10:29 +01:00
* implement PipeTo, stub pipe_to Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * define a data structure to manage the piping Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * implement propagation of errors forward and backward, stub shutdown and shutdown with action Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * adding more fine-grain shutdown variants to state Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * implement progagate closing backward and forward Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * implement shutdown and actions Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * implement reading and writing Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * implement shutdown continuation and finalize Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * fix typo Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * add can_gc arguments Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * implement writer close with error propagation Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * move and document wait on pending write Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * more docs Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * write pending reads as part of shutdown Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * turn on piping test suite Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * add comment about using Rust api improve comment on result add comment on backpressure Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * fix multiple propagations Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * fix writing of chunks Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * fix error and close propagation update test expectations Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * fix warnings Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * improve docs remove redundant logic in pending writes Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * fix clippy Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * remove unnecessary expansion of visibility of enqueued value to_jsval Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * remove unnecessary conditional accessing of streams when propagating states Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * improve docs Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * remove unused result var Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * fix typo Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * remove redundant logic dealing with closed sources with pending writes Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * add doc links for shutdown actions Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * add comments on the need to return early when shutting down before checking close and error states Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * fmt Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> * Update test expectations Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com> * fix can_gc Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com> --------- Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com> Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com> Co-authored-by: Taym Haddadi <haddadi.taym@gmail.com>
60 lines
1.6 KiB
Text
60 lines
1.6 KiB
Text
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
|
|
// https://streams.spec.whatwg.org/#readablestream
|
|
|
|
[Exposed=*] // [Transferable] - See Bug 1562065
|
|
interface _ReadableStream {
|
|
[Throws]
|
|
constructor(optional object underlyingSource, optional QueuingStrategy strategy = {});
|
|
|
|
// [Throws]
|
|
// static ReadableStream from(any asyncIterable);
|
|
|
|
readonly attribute boolean locked;
|
|
|
|
[NewObject]
|
|
Promise<undefined> cancel(optional any reason);
|
|
|
|
[Throws]
|
|
ReadableStreamReader getReader(optional ReadableStreamGetReaderOptions options = {});
|
|
|
|
// [Throws]
|
|
// ReadableStream pipeThrough(ReadableWritablePair transform, optional StreamPipeOptions options = {});
|
|
|
|
[NewObject]
|
|
Promise<undefined> pipeTo(WritableStream destination, optional StreamPipeOptions options = {});
|
|
|
|
[Throws]
|
|
sequence<ReadableStream> tee();
|
|
|
|
// [GenerateReturnMethod]
|
|
// async iterable<any>(optional ReadableStreamIteratorOptions options = {});
|
|
};
|
|
|
|
enum ReadableStreamType { "bytes" };
|
|
|
|
enum ReadableStreamReaderMode { "byob" };
|
|
|
|
dictionary ReadableStreamGetReaderOptions {
|
|
ReadableStreamReaderMode mode;
|
|
};
|
|
|
|
/*
|
|
dictionary ReadableStreamIteratorOptions {
|
|
boolean preventCancel = false;
|
|
};
|
|
*/
|
|
|
|
dictionary ReadableWritablePair {
|
|
required ReadableStream readable;
|
|
required WritableStream writable;
|
|
};
|
|
|
|
dictionary StreamPipeOptions {
|
|
boolean preventClose = false;
|
|
boolean preventAbort = false;
|
|
boolean preventCancel = false;
|
|
// AbortSignal signal;
|
|
};
|