#[repr(C)]pub(crate) struct ReadableStreamDefaultReader {
reflector_: Reflector,
stream: MutNullableDom<ReadableStream>,
read_requests: DomRefCell<VecDeque<ReadRequest>>,
closed_promise: DomRefCell<Rc<Promise>>,
}Expand description
Fields§
§reflector_: Reflector§stream: MutNullableDom<ReadableStream>§read_requests: DomRefCell<VecDeque<ReadRequest>>§closed_promise: DomRefCell<Rc<Promise>>Implementations§
Source§impl ReadableStreamDefaultReader
impl ReadableStreamDefaultReader
fn __assert_parent_type(&self)
Source§impl ReadableStreamDefaultReader
impl ReadableStreamDefaultReader
fn new_with_proto( global: &GlobalScope, proto: Option<SafeHandleObject<'_>>, can_gc: CanGc, ) -> DomRoot<ReadableStreamDefaultReader>
fn new_inherited( global: &GlobalScope, can_gc: CanGc, ) -> ReadableStreamDefaultReader
pub(crate) fn new( global: &GlobalScope, can_gc: CanGc, ) -> DomRoot<ReadableStreamDefaultReader>
Sourcepub(crate) fn set_up(
&self,
stream: &ReadableStream,
global: &GlobalScope,
can_gc: CanGc,
) -> Fallible<()>
pub(crate) fn set_up( &self, stream: &ReadableStream, global: &GlobalScope, can_gc: CanGc, ) -> Fallible<()>
Sourcepub(crate) fn add_read_request(&self, read_request: &ReadRequest)
pub(crate) fn add_read_request(&self, read_request: &ReadRequest)
Sourcepub(crate) fn get_num_read_requests(&self) -> usize
pub(crate) fn get_num_read_requests(&self) -> usize
Sourcepub(crate) fn error(&self, e: SafeHandleValue<'_>, can_gc: CanGc)
pub(crate) fn error(&self, e: SafeHandleValue<'_>, can_gc: CanGc)
Sourcepub(crate) fn remove_read_request(&self) -> ReadRequest
pub(crate) fn remove_read_request(&self) -> ReadRequest
The removal steps of https://streams.spec.whatwg.org/#readable-stream-fulfill-read-request
fn take_read_requests(&self) -> VecDeque<ReadRequest>
Sourcefn error_read_requests(&self, rval: SafeHandleValue<'_>, can_gc: CanGc)
fn error_read_requests(&self, rval: SafeHandleValue<'_>, can_gc: CanGc)
Sourcepub(crate) fn read(
&self,
cx: SafeJSContext,
read_request: &ReadRequest,
can_gc: CanGc,
)
pub(crate) fn read( &self, cx: SafeJSContext, read_request: &ReadRequest, can_gc: CanGc, )
Sourcepub(crate) fn append_native_handler_to_closed_promise(
&self,
branch_1: &ReadableStream,
branch_2: &ReadableStream,
canceled_1: Rc<Cell<bool>>,
canceled_2: Rc<Cell<bool>>,
cancel_promise: Rc<Promise>,
can_gc: CanGc,
)
pub(crate) fn append_native_handler_to_closed_promise( &self, branch_1: &ReadableStream, branch_2: &ReadableStream, canceled_1: Rc<Cell<bool>>, canceled_2: Rc<Cell<bool>>, cancel_promise: Rc<Promise>, can_gc: CanGc, )
Sourcepub(crate) fn read_all_bytes(
&self,
cx: SafeJSContext,
global: &GlobalScope,
success_steps: Rc<dyn Fn(&[u8])>,
failure_steps: Rc<dyn Fn(JSContext, HandleValue<'_>)>,
realm: InRealm<'_>,
can_gc: CanGc,
)
pub(crate) fn read_all_bytes( &self, cx: SafeJSContext, global: &GlobalScope, success_steps: Rc<dyn Fn(&[u8])>, failure_steps: Rc<dyn Fn(JSContext, HandleValue<'_>)>, realm: InRealm<'_>, can_gc: CanGc, )
Sourcepub(crate) fn process_read_requests(
&self,
cx: SafeJSContext,
controller: DomRoot<ReadableByteStreamController>,
can_gc: CanGc,
) -> Fallible<()>
pub(crate) fn process_read_requests( &self, cx: SafeJSContext, controller: DomRoot<ReadableByteStreamController>, can_gc: CanGc, ) -> Fallible<()>
Trait Implementations§
Source§impl DomObjectWrap<DomTypeHolder> for ReadableStreamDefaultReader
impl DomObjectWrap<DomTypeHolder> for ReadableStreamDefaultReader
Source§const WRAP: unsafe fn(SafeJSContext, &GlobalScope, Option<HandleObject<'_>>, Box<Self>, CanGc) -> Root<Dom<Self>> = {script_bindings::codegen::GenericBindings::ReadableStreamDefaultReaderBinding::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::readablestreamdefaultreader::ReadableStreamDefaultReader>, script_bindings::script_runtime::CanGc) -> script_bindings::root::Root<script_bindings::root::Dom<dom::readablestreamdefaultreader::ReadableStreamDefaultReader>>}
const WRAP: unsafe fn(SafeJSContext, &GlobalScope, Option<HandleObject<'_>>, Box<Self>, CanGc) -> Root<Dom<Self>> = {script_bindings::codegen::GenericBindings::ReadableStreamDefaultReaderBinding::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::readablestreamdefaultreader::ReadableStreamDefaultReader>, script_bindings::script_runtime::CanGc) -> script_bindings::root::Root<script_bindings::root::Dom<dom::readablestreamdefaultreader::ReadableStreamDefaultReader>>}
Function pointer to the general wrap function type
Source§impl MallocSizeOf for ReadableStreamDefaultReader
impl MallocSizeOf for ReadableStreamDefaultReader
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 ReadableStreamDefaultReaderMethods<DomTypeHolder> for ReadableStreamDefaultReader
impl ReadableStreamDefaultReaderMethods<DomTypeHolder> for ReadableStreamDefaultReader
Source§fn Constructor(
global: &GlobalScope,
proto: Option<SafeHandleObject<'_>>,
can_gc: CanGc,
stream: &ReadableStream,
) -> Fallible<DomRoot<Self>>
fn Constructor( global: &GlobalScope, proto: Option<SafeHandleObject<'_>>, can_gc: CanGc, stream: &ReadableStream, ) -> Fallible<DomRoot<Self>>
Source§fn Cancel(
&self,
cx: SafeJSContext,
reason: SafeHandleValue<'_>,
can_gc: CanGc,
) -> Rc<Promise>
fn Cancel( &self, cx: SafeJSContext, reason: SafeHandleValue<'_>, can_gc: CanGc, ) -> Rc<Promise>
Source§impl ReadableStreamGenericReader for ReadableStreamDefaultReader
impl ReadableStreamGenericReader for ReadableStreamDefaultReader
fn get_closed_promise(&self) -> Rc<Promise>
fn set_closed_promise(&self, promise: Rc<Promise>)
fn set_stream(&self, stream: Option<&ReadableStream>)
fn get_stream(&self) -> Option<DomRoot<ReadableStream>>
fn as_default_reader(&self) -> Option<&ReadableStreamDefaultReader>
Source§fn generic_initialize(
&self,
global: &GlobalScope,
stream: &ReadableStream,
can_gc: CanGc,
)
fn generic_initialize( &self, global: &GlobalScope, stream: &ReadableStream, can_gc: CanGc, )
Source§fn reader_generic_cancel(
&self,
cx: SafeJSContext,
global: &GlobalScope,
reason: SafeHandleValue<'_>,
can_gc: CanGc,
) -> Rc<Promise>
fn reader_generic_cancel( &self, cx: SafeJSContext, global: &GlobalScope, reason: SafeHandleValue<'_>, can_gc: CanGc, ) -> Rc<Promise>
fn generic_cancel( &self, cx: SafeJSContext, global: &GlobalScope, reason: SafeHandleValue<'_>, can_gc: CanGc, ) -> Rc<Promise>
fn as_byob_reader(&self) -> Option<&ReadableStreamBYOBReader>
impl Eq for ReadableStreamDefaultReader
Auto Trait Implementations§
impl !Freeze for ReadableStreamDefaultReader
impl !RefUnwindSafe for ReadableStreamDefaultReader
impl !Send for ReadableStreamDefaultReader
impl !Sync for ReadableStreamDefaultReader
impl Unpin for ReadableStreamDefaultReader
impl !UnwindSafe for ReadableStreamDefaultReader
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<D, T> DomGlobalGeneric<D> for T
impl<D, T> DomGlobalGeneric<D> for T
Source§fn global_(&self, realm: InRealm<'_>) -> Root<Dom<<D as DomTypes>::GlobalScope>>where
Self: Sized,
fn global_(&self, realm: InRealm<'_>) -> Root<Dom<<D as DomTypes>::GlobalScope>>where
Self: Sized,
Returns the [
GlobalScope] of the realm that the DomObject was created in. If this
object is a Node, this will be different from it’s owning Document if adopted by. For
Nodes it’s almost always better to use NodeTraits::owning_global.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§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