QuicStream Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Represents a QUIC stream. QuicStream can be unidirectional, that is, write-only for the opening side, or bidirectional, which allows both sides to write.
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
- Inheritance
Remarks
QuicStream can be used in a same way as any other Stream.
Apart from a stream API, QuicStream also exposes QUIC-specific features:
- WriteAsync(ReadOnlyMemory<Byte>, Boolean, CancellationToken): Closes the writing side of the stream as a single operation with the write itself.
- CompleteWrites(): Closes the writing side of the stream.
- Abort(QuicAbortDirection, Int64): Aborts either the writing or the reading side of the stream.
- WritesClosed: Returns a Task that will complete when the stream writing side has been closed (gracefully or abortively).
- ReadsClosed: Returns a Task that will complete when the stream reading side has been closed (gracefully or abortively).
Properties
CanRead |
Gets a value indicating whether the QuicStream supports reading. |
CanSeek |
Gets a value indicating whether the QuicStream supports seeking. |
CanTimeout |
Gets a value that indicates whether the QuicStream can timeout. |
CanWrite |
Gets a value indicating whether the QuicStream supports writing. |
Id |
Gets the stream ID. |
Length |
Gets the length of the data available on the stream. This property is not currently supported and always throws a NotSupportedException. |
Position |
Gets or sets the position within the current stream. This property is not currently supported and always throws a NotSupportedException. |
ReadsClosed |
Gets a Task that will complete once the reading side has been closed. |
ReadTimeout |
Gets or sets a value, in milliseconds, that determines how long the stream will attempt to read before timing out. |
Type |
Gets the stream type. |
WritesClosed |
Gets a Task that will complete when the writing side has been closed. |
WriteTimeout |
Gets or sets a value, in milliseconds, that determines how long the stream will attempt to write before timing out. |
Methods
Abort(QuicAbortDirection, Int64) |
Aborts either the reading, writing, or both sides of the stream. |
BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) |
Begins an asynchronous read operation. (Consider using ReadAsync(Byte[], Int32, Int32) instead.) |
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) |
Begins an asynchronous write operation. (Consider using WriteAsync(Byte[], Int32, Int32) instead.) |
Close() |
Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. Instead of calling this method, ensure that the stream is properly disposed. (Inherited from Stream) |
CompleteWrites() |
Gracefully completes the writing side of the stream. |
CopyTo(Stream) |
Reads the bytes from the current stream and writes them to another stream. Both streams positions are advanced by the number of bytes copied. (Inherited from Stream) |
CopyTo(Stream, Int32) |
Reads the bytes from the current stream and writes them to another stream, using a specified buffer size. Both streams positions are advanced by the number of bytes copied. (Inherited from Stream) |
CopyToAsync(Stream) |
Asynchronously reads the bytes from the current stream and writes them to another stream. Both streams positions are advanced by the number of bytes copied. (Inherited from Stream) |
CopyToAsync(Stream, CancellationToken) |
Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified cancellation token. Both streams positions are advanced by the number of bytes copied. (Inherited from Stream) |
CopyToAsync(Stream, Int32) |
Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size. Both streams positions are advanced by the number of bytes copied. (Inherited from Stream) |
CopyToAsync(Stream, Int32, CancellationToken) |
Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size and cancellation token. Both streams positions are advanced by the number of bytes copied. (Inherited from Stream) |
CreateObjRef(Type) |
Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object. (Inherited from MarshalByRefObject) |
CreateWaitHandle() |
Obsolete.
Obsolete.
Obsolete.
Allocates a WaitHandle object. (Inherited from Stream) |
Dispose() |
Releases all resources used by the Stream. (Inherited from Stream) |
Dispose(Boolean) |
Releases the unmanaged resources used by the Stream and optionally releases the managed resources. (Inherited from Stream) |
DisposeAsync() |
If the read side is not fully consumed, that is, ReadsClosed is not completed or ReadAsync(Memory<Byte>, CancellationToken) hasn't returned |
EndRead(IAsyncResult) |
Waits for the pending asynchronous read to complete. (Consider using ReadAsync(Byte[], Int32, Int32) instead.) |
EndWrite(IAsyncResult) |
Ends an asynchronous write operation. (Consider using WriteAsync(Byte[], Int32, Int32) instead.) |
Equals(Object) |
Determines whether the specified object is equal to the current object. (Inherited from Object) |
Flush() |
When overridden in a derived class, clears all buffers for this stream and causes any buffered data to be written to the underlying device. |
FlushAsync() |
Asynchronously clears all buffers for this stream and causes any buffered data to be written to the underlying device. (Inherited from Stream) |
FlushAsync(CancellationToken) |
Asynchronously clears all buffers for this stream, causes any buffered data to be written to the underlying device, and monitors cancellation requests. |
GetHashCode() |
Serves as the default hash function. (Inherited from Object) |
GetLifetimeService() |
Obsolete.
Retrieves the current lifetime service object that controls the lifetime policy for this instance. (Inherited from MarshalByRefObject) |
GetType() |
Gets the Type of the current instance. (Inherited from Object) |
InitializeLifetimeService() |
Obsolete.
Obtains a lifetime service object to control the lifetime policy for this instance. (Inherited from MarshalByRefObject) |
MemberwiseClone() |
Creates a shallow copy of the current Object. (Inherited from Object) |
MemberwiseClone(Boolean) |
Creates a shallow copy of the current MarshalByRefObject object. (Inherited from MarshalByRefObject) |
ObjectInvariant() |
Obsolete.
Provides support for a Contract. (Inherited from Stream) |
Read(Byte[], Int32, Int32) |
When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. |
Read(Span<Byte>) |
When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. |
ReadAsync(Byte[], Int32, Int32) |
Asynchronously reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. (Inherited from Stream) |
ReadAsync(Byte[], Int32, Int32, CancellationToken) |
Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests. |
ReadAsync(Memory<Byte>, CancellationToken) |
Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests. |
ReadAtLeast(Span<Byte>, Int32, Boolean) |
Reads at least a minimum number of bytes from the current stream and advances the position within the stream by the number of bytes read. (Inherited from Stream) |
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken) |
Asynchronously reads at least a minimum number of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests. (Inherited from Stream) |
ReadByte() |
Reads a byte from the stream and advances the position within the stream by one byte, or returns -1 if at the end of the stream. |
ReadExactly(Byte[], Int32, Int32) |
Reads |
ReadExactly(Span<Byte>) |
Reads bytes from the current stream and advances the position within the stream until the |
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken) |
Asynchronously reads |
ReadExactlyAsync(Memory<Byte>, CancellationToken) |
Asynchronously reads bytes from the current stream, advances the position within the stream until the |
Seek(Int64, SeekOrigin) |
Sets the current position of the stream to the given value. This method is not currently supported and always throws a NotSupportedException. |
SetLength(Int64) |
Sets the length of the stream. This method is not currently supported and always throws a NotSupportedException. |
ToString() |
Returns a string that represents the current object. |
ToString() |
Returns a string that represents the current object. (Inherited from Object) |
Write(Byte[], Int32, Int32) |
When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. |
Write(ReadOnlySpan<Byte>) |
When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. |
WriteAsync(Byte[], Int32, Int32) |
Asynchronously writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. (Inherited from Stream) |
WriteAsync(Byte[], Int32, Int32, CancellationToken) |
Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests. |
WriteAsync(ReadOnlyMemory<Byte>, Boolean, CancellationToken) |
Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests. |
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) |
Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests. |
WriteByte(Byte) |
Writes a byte to the current position in the stream and advances the position within the stream by one byte. |
Extension Methods
CopyToAsync(Stream, PipeWriter, CancellationToken) |
Asynchronously reads the bytes from the Stream and writes them to the specified PipeWriter, using a cancellation token. |
ConfigureAwait(IAsyncDisposable, Boolean) |
Configures how awaits on the tasks returned from an async disposable will be performed. |