QuicStream 类

定义

表示 QUIC 流。 QuicStream 可以是 单向的(即,对于打开端为只写),也可以是 双向的,这允许双方写入。

public ref class QuicStream sealed : System::IO::Stream
public sealed class QuicStream : System.IO.Stream
type QuicStream = class
    inherit Stream
Public NotInheritable Class QuicStream
Inherits Stream
继承

注解

QuicStream 可以采用与任何其他 Stream相同的方式使用。

除了流 API 之外, QuicStream 还公开了 QUIC 特定的功能:

属性

CanRead

获取一个值, QuicStream 该值指示 是否支持读取。

CanSeek

获取一个值, QuicStream 该值指示 是否支持查找。

CanTimeout

获取一个值,该值指示 是否可以 QuicStream 超时。

CanWrite

获取一个值, QuicStream 该值指示 是否支持写入。

Id

获取流 ID。

Length

获取流上可用数据的长度。 此属性当前不受支持,总是引发 NotSupportedException

Position

获取或设置当前流中的位置。 此属性当前不受支持,总是引发 NotSupportedException

ReadsClosed

获取在 Task 阅读端关闭后将完成的 。

ReadTimeout

获取或设置一个值(以毫秒为单位),该值确定流在超时前将尝试读取的时间。

Type

获取流类型。

WritesClosed

获取在 Task 写入端关闭时将完成的 。

WriteTimeout

获取或设置一个值(以毫秒为单位),该值确定流在超时前将尝试写入多长时间。

方法

Abort(QuicAbortDirection, Int64)

中止流的 读取写入 侧。

BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

开始异步读操作。 (请考虑改用 ReadAsync(Byte[], Int32, Int32)。)

BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

开始异步写操作。 (请考虑改用 WriteAsync(Byte[], Int32, Int32)。)

Close()

关闭当前流并释放与之关联的所有资源(如套接字和文件句柄)。 不直接调用此方法,而应确保流得以正确释放。

(继承自 Stream)
CompleteWrites()

正常完成流的写入端。

CopyTo(Stream)

从当前流中读取字节并将其写入到另一流中。 这两个流位置都按复制的字节数提前。

(继承自 Stream)
CopyTo(Stream, Int32)

使用指定的缓冲区大小,从当前流中读取字节并将其写入到另一流中。 这两个流位置都按复制的字节数提前。

(继承自 Stream)
CopyToAsync(Stream)

从当前流中异步读取字节并将其写入到另一个流中。 这两个流位置都按复制的字节数提前。

(继承自 Stream)
CopyToAsync(Stream, CancellationToken)

通过指定的取消令牌,从当前流中异步读取字节并将其写入到另一个流中。 这两个流位置都按复制的字节数提前。

(继承自 Stream)
CopyToAsync(Stream, Int32)

使用指定的缓冲区大小,从当前流中异步读取字节并将其写入到另一流中。 这两个流位置都按复制的字节数提前。

(继承自 Stream)
CopyToAsync(Stream, Int32, CancellationToken)

使用指定的缓冲区大小和取消令牌,从当前流中异步读取字节并将其写入到另一个流中。 这两个流位置都按复制的字节数提前。

(继承自 Stream)
CreateObjRef(Type)

创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。

(继承自 MarshalByRefObject)
CreateWaitHandle()
已过时.
已过时.
已过时.

分配 WaitHandle 对象。

(继承自 Stream)
Dispose()

释放由 Stream 使用的所有资源。

(继承自 Stream)
Dispose(Boolean)

释放由 Stream 占用的非托管资源,还可以另外再释放托管资源。

(继承自 Stream)
DisposeAsync()

如果读取端未完全使用, ReadsClosed 即未完成或 ReadAsync(Memory<Byte>, CancellationToken) 尚未返回 0,则使用提供的 DefaultStreamErrorCode中止读取端。 如果写入端尚未关闭,请像调用 一样 CompleteWrites() 正常关闭它。 最后,将释放与流关联的所有资源。

EndRead(IAsyncResult)

等待挂起的异步读取完成。 (请考虑改用 ReadAsync(Byte[], Int32, Int32)。)

EndWrite(IAsyncResult)

结束异步写操作。 (请考虑改用 WriteAsync(Byte[], Int32, Int32)。)

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
Flush()

当在派生类中重写时,将清除该流的所有缓冲区,并使得所有缓冲数据被写入到基础设备。

FlushAsync()

异步清除此流的所有缓冲区并导致所有缓冲数据都写入基础设备中。

(继承自 Stream)
FlushAsync(CancellationToken)

异步清理此流的所有缓冲区,导致所有缓冲数据都写入基础设备,并且监控取消请求。

GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetLifetimeService()
已过时.

检索控制此实例的生存期策略的当前生存期服务对象。

(继承自 MarshalByRefObject)
GetType()

获取当前实例的 Type

(继承自 Object)
InitializeLifetimeService()
已过时.

获取生存期服务对象来控制此实例的生存期策略。

(继承自 MarshalByRefObject)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
MemberwiseClone(Boolean)

创建当前 MarshalByRefObject 对象的浅表副本。

(继承自 MarshalByRefObject)
ObjectInvariant()
已过时.

提供对 Contract 的支持。

(继承自 Stream)
Read(Byte[], Int32, Int32)

当在派生类中重写时,从当前流读取字节序列,并将此流中的位置提升读取的字节数。

Read(Span<Byte>)

当在派生类中重写时,从当前流读取字节序列,并将此流中的位置提升读取的字节数。

ReadAsync(Byte[], Int32, Int32)

从当前流异步读取字节序列,并将流中的位置提升读取的字节数。

(继承自 Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken)

从当前流异步读取字节的序列,将流中的位置提升读取的字节数,并监视取消请求。

ReadAsync(Memory<Byte>, CancellationToken)

从当前流异步读取字节的序列,将流中的位置提升读取的字节数,并监视取消请求。

ReadAtLeast(Span<Byte>, Int32, Boolean)

从当前流中读取至少最小字节数,并将流中的位置向前推进读取的字节数。

(继承自 Stream)
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken)

从当前流异步读取至少最小字节数,按读取的字节数推进流中的位置,并监视取消请求。

(继承自 Stream)
ReadByte()

从流中读取一个字节,并将流内的位置向前提升一个字节,或者如果已到达流结尾,则返回 -1。

ReadExactly(Byte[], Int32, Int32)

count从当前流中读取字节数,并推进流中的位置。

(继承自 Stream)
ReadExactly(Span<Byte>)

从当前流中读取字节,并推进流中的位置, buffer 直到 填充 。

(继承自 Stream)
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken)

从当前流异步读取 count 字节数,推进流中的位置,并监视取消请求。

(继承自 Stream)
ReadExactlyAsync(Memory<Byte>, CancellationToken)

从当前流异步读取字节,推进流中的位置,直到 buffer 填充,并监视取消请求。

(继承自 Stream)
Seek(Int64, SeekOrigin)

将流的当前位置设置为给定值。 此方法当前不受支持,总是引发 NotSupportedException

SetLength(Int64)

设置流的长度。 此方法当前不受支持,总是引发 NotSupportedException

ToString()

返回表示当前对象的字符串。

ToString()

返回表示当前对象的字符串。

(继承自 Object)
Write(Byte[], Int32, Int32)

当在派生类中重写时,向当前流中写入字节序列,并将此流中的当前位置提升写入的字节数。

Write(ReadOnlySpan<Byte>)

当在派生类中重写时,向当前流中写入字节序列,并将此流中的当前位置提升写入的字节数。

WriteAsync(Byte[], Int32, Int32)

将字节序列异步写入当前流,并将流的当前位置提升写入的字节数。

(继承自 Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken)

将字节的序列异步写入当前流,将该流中的当前位置向前移动写入的字节数,并监视取消请求。

WriteAsync(ReadOnlyMemory<Byte>, Boolean, CancellationToken)

将字节的序列异步写入当前流,将该流中的当前位置向前移动写入的字节数,并监视取消请求。

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

将字节的序列异步写入当前流,将该流中的当前位置向前移动写入的字节数,并监视取消请求。

WriteByte(Byte)

将一个字节写入流内的当前位置,并将流内的位置向前提升一个字节。

扩展方法

ConfigureAwait(IAsyncDisposable, Boolean)

配置如何执行从异步可处置项返回的任务的等待。

适用于

另请参阅