pub struct ReadableStreamCore<T> {
pub state: StreamState,
pub queue: VecDeque<T>,
pub high_water_mark: f64,
pub locked: bool,
}Expand description
ReadableStream の純粋コア実装
Fields§
§state: StreamState§queue: VecDeque<T>§high_water_mark: f64§locked: boolImplementations§
Source§impl<T> ReadableStreamCore<T>
impl<T> ReadableStreamCore<T>
pub fn new(high_water_mark: f64) -> Self
Sourcepub fn from_chunks(chunks: Vec<T>) -> Self
pub fn from_chunks(chunks: Vec<T>) -> Self
バイト列またはデータ配列から直ちに生成するヘルパー
Sourcepub fn desired_size(&self) -> f64
pub fn desired_size(&self) -> f64
バックプレッシャー計算(desiredSize) キューが満杯なら 0 以下、受け入れ可能なら正の値を返す
Sourcepub fn enqueue(&mut self, chunk: T) -> Result<(), StreamError>
pub fn enqueue(&mut self, chunk: T) -> Result<(), StreamError>
チャンクをキューに追加(コントローラの enqueue 処理)
Sourcepub fn close(&mut self) -> Result<(), StreamError>
pub fn close(&mut self) -> Result<(), StreamError>
ストリームを正常クローズ(コントローラの close 処理)
Sourcepub fn acquire_reader(&mut self) -> Result<(), StreamError>
pub fn acquire_reader(&mut self) -> Result<(), StreamError>
リーダーによる排他ロック取得(getReader)
Sourcepub fn release_reader(&mut self) -> Result<(), StreamError>
pub fn release_reader(&mut self) -> Result<(), StreamError>
リーダーのロック解放(releaseLock)
Sourcepub fn read_chunk(&mut self) -> Result<ReadResult<T>, StreamError>
pub fn read_chunk(&mut self) -> Result<ReadResult<T>, StreamError>
リーダーによるチャンク読み出し(read())
Sourcepub fn pipe_to(
&mut self,
dest: &mut WritableStreamCore<T>,
options: PipeOptions,
) -> Result<(), StreamError>
pub fn pipe_to( &mut self, dest: &mut WritableStreamCore<T>, options: PipeOptions, ) -> Result<(), StreamError>
ReadableStreamCore から WritableStreamCore へデータをパイピングする
- 両ストリームの排他的ロックを確保
- キューからチャンクを順次取り出し宛先へ書き込み
- 転送完了後、オプションに応じて宛先のクローズ・両ストリームのロック解除を実施
Sourcepub fn pipe_through<O, F>(
&mut self,
transform: &mut TransformStreamCore<T, O>,
transform_fn: F,
) -> Result<(), StreamError>
pub fn pipe_through<O, F>( &mut self, transform: &mut TransformStreamCore<T, O>, transform_fn: F, ) -> Result<(), StreamError>
ReadableStreamCore を TransformStreamCore を介して別型の ReadableStreamCore へパイピング
Trait Implementations§
Source§impl<T: Clone> Clone for ReadableStreamCore<T>
impl<T: Clone> Clone for ReadableStreamCore<T>
Source§fn clone(&self) -> ReadableStreamCore<T>
fn clone(&self) -> ReadableStreamCore<T>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl<T> Freeze for ReadableStreamCore<T>
impl<T> RefUnwindSafe for ReadableStreamCore<T>where
T: RefUnwindSafe,
impl<T> Send for ReadableStreamCore<T>where
T: Send,
impl<T> Sync for ReadableStreamCore<T>where
T: Sync,
impl<T> Unpin for ReadableStreamCore<T>where
T: Unpin,
impl<T> UnsafeUnpin for ReadableStreamCore<T>
impl<T> UnwindSafe for ReadableStreamCore<T>where
T: UnwindSafe,
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