Class OdfDoubleBufferedWritableStream
Provides a write-only double-buffered stream that overlaps caller writes with asynchronous flushing. 提供唯寫雙緩衝資料流,讓呼叫端寫入與非同步刷寫彼此重疊。
public sealed class OdfDoubleBufferedWritableStream : Stream, IDisposable, IAsyncDisposable
- Inheritance
-
OdfDoubleBufferedWritableStream
- Implements
- Inherited Members
Constructors
OdfDoubleBufferedWritableStream(Stream)
Short overload of OdfDoubleBufferedWritableStream that accepts underlyingStream; remaining optional parameters use defaults and forward to the full overload. 便利多載:提供 underlyingStream;其餘可選參數使用預設值並轉呼叫最長 OdfDoubleBufferedWritableStream 多載。
public OdfDoubleBufferedWritableStream(Stream underlyingStream)
Parameters
underlyingStreamStream
OdfDoubleBufferedWritableStream(Stream, int)
Short overload of OdfDoubleBufferedWritableStream that accepts underlyingStream and bufferSize; remaining optional parameters use defaults and forward to the full overload. 便利多載:提供 underlyingStream 與 bufferSize;其餘可選參數使用預設值並轉呼叫最長 OdfDoubleBufferedWritableStream 多載。
public OdfDoubleBufferedWritableStream(Stream underlyingStream, int bufferSize)
Parameters
OdfDoubleBufferedWritableStream(Stream, int, bool)
Initializes a new instance of the OdfDoubleBufferedWritableStream class. 初始化 OdfDoubleBufferedWritableStream 類別的新執行個體。
public OdfDoubleBufferedWritableStream(Stream underlyingStream, int bufferSize, bool leaveOpen)
Parameters
Properties
CanRead
Provides the CanRead member. 提供 CanRead 成員。
public override bool CanRead { get; }
Property Value
CanSeek
Provides the CanSeek member. 提供 CanSeek 成員。
public override bool CanSeek { get; }
Property Value
CanWrite
Provides the CanWrite member. 提供 CanWrite 成員。
public override bool CanWrite { get; }
Property Value
Length
Performs length. 執行 Length。
public override long Length { get; }
Property Value
Position
Gets or sets the stream position. 取得或設定資料流位置。
public override long Position { get; set; }
Property Value
Methods
Dispose(bool)
Releases unmanaged resources. 釋放非受控資源。
protected override void Dispose(bool disposing)
Parameters
disposingbool
Flush()
Performs flush. 執行 Flush。
public override void Flush()
FlushAsync(CancellationToken)
Performs flush async. 執行 Flush Async。
public override Task FlushAsync(CancellationToken cancellationToken)
Parameters
cancellationTokenCancellationToken
Returns
Read(byte[], int, int)
Performs the Read operation. 執行 Read 作業。
public override int Read(byte[] buffer, int offset, int count)
Parameters
Returns
Seek(long, SeekOrigin)
Performs seek. 執行 Seek。
public override long Seek(long offset, SeekOrigin origin)
Parameters
offsetlongoriginSeekOrigin
Returns
SetLength(long)
Sets length. 設定 Length。
public override void SetLength(long value)
Parameters
valuelong
Write(byte[], int, int)
Performs the Write operation. 執行 Write 作業。
public override void Write(byte[] buffer, int offset, int count)
Parameters
Remarks
Uses a fully synchronous path: buffered bytes are flushed with a direct synchronous write instead of blocking on the asynchronous pipeline. 採用純同步路徑:緩衝區滿時直接以同步寫入刷寫,不以阻塞等待非同步管線的方式偽裝同步。
WriteAsync(byte[], int, int, CancellationToken)
Writes async. 寫入 Async。
public override Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken)
Parameters
bufferbyte[]offsetintcountintcancellationTokenCancellationToken