#[repr(C)]pub struct WritableStream {
reflector_: Reflector,
backpressure: Cell<bool>,
close_request: DomRefCell<Option<Rc<Promise>>>,
controller: MutNullableDom<WritableStreamDefaultController>,
detached: Cell<bool>,
in_flight_write_request: DomRefCell<Option<Rc<Promise>>>,
in_flight_close_request: DomRefCell<Option<Rc<Promise>>>,
pending_abort_request: DomRefCell<Option<PendingAbortRequest>>,
state: Cell<WritableStreamState>,
stored_error: Heap<JSVal>,
writer: MutNullableDom<WritableStreamDefaultWriter>,
write_requests: DomRefCell<VecDeque<Rc<Promise>>>,
}
Expand description
Fields§
§reflector_: Reflector
§backpressure: Cell<bool>
§close_request: DomRefCell<Option<Rc<Promise>>>
§controller: MutNullableDom<WritableStreamDefaultController>
§detached: Cell<bool>
§in_flight_write_request: DomRefCell<Option<Rc<Promise>>>
§in_flight_close_request: DomRefCell<Option<Rc<Promise>>>
§pending_abort_request: DomRefCell<Option<PendingAbortRequest>>
§state: Cell<WritableStreamState>
§stored_error: Heap<JSVal>
§writer: MutNullableDom<WritableStreamDefaultWriter>
§write_requests: DomRefCell<VecDeque<Rc<Promise>>>
Implementations§
Source§impl WritableStream
impl WritableStream
fn __assert_parent_type(&self)
Source§impl WritableStream
impl WritableStream
Sourcefn new_inherited() -> WritableStream
fn new_inherited() -> WritableStream
fn new_with_proto( global: &GlobalScope, proto: Option<SafeHandleObject<'_>>, can_gc: CanGc, ) -> DomRoot<WritableStream>
Sourcepub(crate) fn assert_no_controller(&self)
pub(crate) fn assert_no_controller(&self)
Sourcepub(crate) fn set_default_controller(
&self,
controller: &WritableStreamDefaultController,
)
pub(crate) fn set_default_controller( &self, controller: &WritableStreamDefaultController, )
pub(crate) fn is_writable(&self) -> bool
pub(crate) fn is_erroring(&self) -> bool
pub(crate) fn is_errored(&self) -> bool
pub(crate) fn is_closed(&self) -> bool
pub(crate) fn has_in_flight_write_request(&self) -> bool
Sourcepub(crate) fn has_operations_marked_inflight(&self) -> bool
pub(crate) fn has_operations_marked_inflight(&self) -> bool
Sourcepub(crate) fn get_stored_error(&self, handle_mut: SafeMutableHandleValue<'_>)
pub(crate) fn get_stored_error(&self, handle_mut: SafeMutableHandleValue<'_>)
Sourcepub(crate) fn finish_erroring(
&self,
cx: SafeJSContext,
global: &GlobalScope,
can_gc: CanGc,
)
pub(crate) fn finish_erroring( &self, cx: SafeJSContext, global: &GlobalScope, can_gc: CanGc, )
Sourcefn reject_close_and_closed_promise_if_needed(
&self,
cx: SafeJSContext,
can_gc: CanGc,
)
fn reject_close_and_closed_promise_if_needed( &self, cx: SafeJSContext, can_gc: CanGc, )
Sourcepub(crate) fn close_queued_or_in_flight(&self) -> bool
pub(crate) fn close_queued_or_in_flight(&self) -> bool
Sourcepub(crate) fn finish_in_flight_write(&self, can_gc: CanGc)
pub(crate) fn finish_in_flight_write(&self, can_gc: CanGc)
Sourcepub(crate) fn start_erroring(
&self,
cx: SafeJSContext,
global: &GlobalScope,
error: SafeHandleValue<'_>,
can_gc: CanGc,
)
pub(crate) fn start_erroring( &self, cx: SafeJSContext, global: &GlobalScope, error: SafeHandleValue<'_>, can_gc: CanGc, )
Sourcepub(crate) fn deal_with_rejection(
&self,
cx: SafeJSContext,
global: &GlobalScope,
error: SafeHandleValue<'_>,
can_gc: CanGc,
)
pub(crate) fn deal_with_rejection( &self, cx: SafeJSContext, global: &GlobalScope, error: SafeHandleValue<'_>, can_gc: CanGc, )
Sourcepub(crate) fn mark_first_write_request_in_flight(&self)
pub(crate) fn mark_first_write_request_in_flight(&self)
Sourcepub(crate) fn mark_close_request_in_flight(&self)
pub(crate) fn mark_close_request_in_flight(&self)
Sourcepub(crate) fn finish_in_flight_close(&self, cx: SafeJSContext, can_gc: CanGc)
pub(crate) fn finish_in_flight_close(&self, cx: SafeJSContext, can_gc: CanGc)
Sourcepub(crate) fn finish_in_flight_close_with_error(
&self,
cx: SafeJSContext,
global: &GlobalScope,
error: SafeHandleValue<'_>,
can_gc: CanGc,
)
pub(crate) fn finish_in_flight_close_with_error( &self, cx: SafeJSContext, global: &GlobalScope, error: SafeHandleValue<'_>, can_gc: CanGc, )
Sourcepub(crate) fn finish_in_flight_write_with_error(
&self,
cx: SafeJSContext,
global: &GlobalScope,
error: SafeHandleValue<'_>,
can_gc: CanGc,
)
pub(crate) fn finish_in_flight_write_with_error( &self, cx: SafeJSContext, global: &GlobalScope, error: SafeHandleValue<'_>, can_gc: CanGc, )
pub(crate) fn get_writer(&self) -> Option<DomRoot<WritableStreamDefaultWriter>>
pub(crate) fn set_writer(&self, writer: Option<&WritableStreamDefaultWriter>)
pub(crate) fn set_backpressure(&self, backpressure: bool)
pub(crate) fn get_backpressure(&self) -> bool
Sourcepub(crate) fn add_write_request(
&self,
global: &GlobalScope,
can_gc: CanGc,
) -> Rc<Promise>
pub(crate) fn add_write_request( &self, global: &GlobalScope, can_gc: CanGc, ) -> Rc<Promise>
pub(crate) fn get_controller( &self, ) -> Option<DomRoot<WritableStreamDefaultController>>
Sourcepub(crate) fn abort(
&self,
cx: SafeJSContext,
global: &GlobalScope,
provided_reason: SafeHandleValue<'_>,
can_gc: CanGc,
) -> Rc<Promise>
pub(crate) fn abort( &self, cx: SafeJSContext, global: &GlobalScope, provided_reason: SafeHandleValue<'_>, can_gc: CanGc, ) -> Rc<Promise>
Sourcepub(crate) fn close(
&self,
cx: SafeJSContext,
global: &GlobalScope,
can_gc: CanGc,
) -> Rc<Promise>
pub(crate) fn close( &self, cx: SafeJSContext, global: &GlobalScope, can_gc: CanGc, ) -> Rc<Promise>
Sourcepub(crate) fn get_desired_size(&self) -> Option<f64>
pub(crate) fn get_desired_size(&self) -> Option<f64>
https://streams.spec.whatwg.org/#writable-stream-default-writer-get-desired-size Note: implement as a stream method, as opposed to a writer one, for convenience.
Sourcepub(crate) fn aquire_default_writer(
&self,
cx: SafeJSContext,
global: &GlobalScope,
can_gc: CanGc,
) -> Result<DomRoot<WritableStreamDefaultWriter>, Error>
pub(crate) fn aquire_default_writer( &self, cx: SafeJSContext, global: &GlobalScope, can_gc: CanGc, ) -> Result<DomRoot<WritableStreamDefaultWriter>, Error>
Sourcepub(crate) fn update_backpressure(
&self,
backpressure: bool,
global: &GlobalScope,
can_gc: CanGc,
)
pub(crate) fn update_backpressure( &self, backpressure: bool, global: &GlobalScope, can_gc: CanGc, )
Trait Implementations§
Source§impl DomObject for WritableStream
impl DomObject for WritableStream
Source§impl DomObjectWrap<DomTypeHolder> for WritableStream
impl DomObjectWrap<DomTypeHolder> for WritableStream
Source§const WRAP: unsafe fn(_: SafeJSContext, _: &GlobalScope, _: Option<HandleObject<'_>>, _: Box<Self>, _: CanGc) -> Root<Dom<Self>> = {dom::bindings::codegen::GenericBindings::WritableStreamBinding::WritableStream_Binding::Wrap::<dom::bindings::codegen::DomTypeHolder::DomTypeHolder> as for<'a, 'b> unsafe fn(script_bindings::script_runtime::JSContext, &'a dom::globalscope::GlobalScope, std::option::Option<js::rust::Handle<'b, *mut js::jsapi::JSObject>>, std::boxed::Box<dom::writablestream::WritableStream>, script_bindings::script_runtime::CanGc) -> script_bindings::root::Root<script_bindings::root::Dom<dom::writablestream::WritableStream>>}
const WRAP: unsafe fn(_: SafeJSContext, _: &GlobalScope, _: Option<HandleObject<'_>>, _: Box<Self>, _: CanGc) -> Root<Dom<Self>> = {dom::bindings::codegen::GenericBindings::WritableStreamBinding::WritableStream_Binding::Wrap::<dom::bindings::codegen::DomTypeHolder::DomTypeHolder> as for<'a, 'b> unsafe fn(script_bindings::script_runtime::JSContext, &'a dom::globalscope::GlobalScope, std::option::Option<js::rust::Handle<'b, *mut js::jsapi::JSObject>>, std::boxed::Box<dom::writablestream::WritableStream>, script_bindings::script_runtime::CanGc) -> script_bindings::root::Root<script_bindings::root::Dom<dom::writablestream::WritableStream>>}
Function pointer to the general wrap function type
Source§impl HasParent for WritableStream
impl HasParent for WritableStream
Source§impl IDLInterface for WritableStream
impl IDLInterface for WritableStream
Source§impl MallocSizeOf for WritableStream
impl MallocSizeOf for WritableStream
Source§fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
Measure the heap usage of all descendant heap-allocated structures, but
not the space taken up by the value itself.
Source§impl MutDomObject for WritableStream
impl MutDomObject for WritableStream
Source§impl PartialEq for WritableStream
impl PartialEq for WritableStream
Source§impl ToJSValConvertible for WritableStream
impl ToJSValConvertible for WritableStream
Source§impl Traceable for WritableStream
impl Traceable for WritableStream
Source§impl WritableStreamMethods<DomTypeHolder> for WritableStream
impl WritableStreamMethods<DomTypeHolder> for WritableStream
Source§fn Constructor(
cx: SafeJSContext,
global: &GlobalScope,
proto: Option<SafeHandleObject<'_>>,
can_gc: CanGc,
underlying_sink: Option<*mut JSObject>,
strategy: &QueuingStrategy<DomTypeHolder>,
) -> Fallible<DomRoot<WritableStream>>
fn Constructor( cx: SafeJSContext, global: &GlobalScope, proto: Option<SafeHandleObject<'_>>, can_gc: CanGc, underlying_sink: Option<*mut JSObject>, strategy: &QueuingStrategy<DomTypeHolder>, ) -> Fallible<DomRoot<WritableStream>>
Source§fn Abort(
&self,
cx: SafeJSContext,
reason: SafeHandleValue<'_>,
realm: InRealm<'_>,
can_gc: CanGc,
) -> Rc<Promise>
fn Abort( &self, cx: SafeJSContext, reason: SafeHandleValue<'_>, realm: InRealm<'_>, can_gc: CanGc, ) -> Rc<Promise>
impl Eq for WritableStream
Auto Trait Implementations§
impl !Freeze for WritableStream
impl !RefUnwindSafe for WritableStream
impl !Send for WritableStream
impl !Sync for WritableStream
impl Unpin for WritableStream
impl !UnwindSafe for WritableStream
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.Source§impl<T> Filterable for T
impl<T> Filterable for T
Source§fn filterable(
self,
filter_name: &'static str,
) -> RequestFilterDataProvider<T, fn(_: DataRequest<'_>) -> bool>
fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(_: DataRequest<'_>) -> bool>
Creates a filterable data provider with the given name for debugging. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> MaybeBoxed<Box<T>> for T
impl<T> MaybeBoxed<Box<T>> for T
Source§fn maybe_boxed(self) -> Box<T>
fn maybe_boxed(self) -> Box<T>
Convert
Source§impl<T> MaybeBoxed<T> for T
impl<T> MaybeBoxed<T> for T
Source§fn maybe_boxed(self) -> T
fn maybe_boxed(self) -> T
Convert