Class StreamSegment
Represents read-only view over the portion of underlying stream.
Inheritance
StreamSegment
Assembly: DotNext.IO.dll
Syntax
public sealed class StreamSegment : Stream, IDisposable, IAsyncDisposable, IFlushable
Constructors
View Source
StreamSegment(Stream, bool)
Represents read-only view over the portion of underlying stream.
Declaration
public StreamSegment(Stream stream, bool leaveOpen = true)
Parameters
| Type |
Name |
Description |
| Stream |
stream |
The underlying stream represented by the segment.
|
| bool |
leaveOpen |
true to leave stream open after the object is disposed; otherwise, false.
|
Properties
View Source
BaseStream
Declaration
public Stream BaseStream { get; }
Property Value
View Source
CanRead
Gets a value indicating whether the current stream supports reading.
Declaration
public override bool CanRead { get; }
Property Value
| Type |
Description |
| bool |
true if the stream supports reading; otherwise, false.
|
Overrides
View Source
CanSeek
Gets a value indicating whether the current stream supports seeking.
Declaration
public override bool CanSeek { get; }
Property Value
| Type |
Description |
| bool |
true if the stream supports seeking; otherwise, false.
|
Overrides
View Source
CanTimeout
Declaration
public override bool CanTimeout { get; }
Property Value
Overrides
View Source
CanWrite
Gets a value indicating whether the current stream supports writing.
Declaration
public override bool CanWrite { get; }
Property Value
Overrides
View Source
Length
Declaration
public override long Length { get; }
Property Value
Overrides
View Source
Position
Declaration
public override long Position { get; set; }
Property Value
Overrides
View Source
Range
Gets or sets the segment range.
Declaration
public (long Offset, long Length) Range { get; set; }
Property Value
Exceptions
| Type |
Condition |
| ArgumentOutOfRangeException |
The length is larger than the remaining length of the underlying stream;
or the offset is greater than the length of the underlying stream.
|
View Source
ReadTimeout
Declaration
public override int ReadTimeout { get; set; }
Property Value
Overrides
View Source
WriteTimeout
Declaration
public override int WriteTimeout { get; set; }
Property Value
Overrides
Methods
View Source
BeginRead(byte[], int, int, AsyncCallback?, object?)
Declaration
public override IAsyncResult BeginRead(byte[] buffer, int offset, int count, AsyncCallback? callback, object? state)
Parameters
Returns
Overrides
View Source
BeginWrite(byte[], int, int, AsyncCallback?, object?)
Declaration
public override IAsyncResult BeginWrite(byte[] buffer, int offset, int count, AsyncCallback? callback, object? state)
Parameters
Returns
Overrides
View Source
Dispose(bool)
Declaration
protected override void Dispose(bool disposing)
Parameters
| Type |
Name |
Description |
| bool |
disposing |
|
Overrides
View Source
DisposeAsync()
Declaration
public override ValueTask DisposeAsync()
Returns
Overrides
View Source
EndRead(IAsyncResult)
Declaration
public override int EndRead(IAsyncResult asyncResult)
Parameters
Returns
Overrides
View Source
EndWrite(IAsyncResult)
Declaration
public override void EndWrite(IAsyncResult asyncResult)
Parameters
Overrides
View Source
Flush()
Declaration
public override void Flush()
Overrides
View Source
FlushAsync(CancellationToken)
Declaration
public override Task FlushAsync(CancellationToken token)
Parameters
Returns
Overrides
View Source
Read(byte[], int, int)
Declaration
public override int Read(byte[] buffer, int offset, int count)
Parameters
| Type |
Name |
Description |
| byte[] |
buffer |
|
| int |
offset |
|
| int |
count |
|
Returns
Overrides
View Source
Read(Span<byte>)
Declaration
public override int Read(Span<byte> buffer)
Parameters
Returns
Overrides
View Source
ReadAsync(byte[], int, int, CancellationToken)
Declaration
public override Task<int> ReadAsync(byte[] buffer, int offset, int count, CancellationToken token)
Parameters
Returns
Overrides
View Source
ReadAsync(Memory<byte>, CancellationToken)
Declaration
public override ValueTask<int> ReadAsync(Memory<byte> buffer, CancellationToken token = default)
Parameters
Returns
Overrides
View Source
ReadByte()
Declaration
public override int ReadByte()
Returns
Overrides
View Source
Seek(long, SeekOrigin)
Declaration
public override long Seek(long offset, SeekOrigin origin)
Parameters
Returns
Overrides
View Source
SetLength(long)
Declaration
public override void SetLength(long value)
Parameters
| Type |
Name |
Description |
| long |
value |
|
Overrides
View Source
Write(byte[], int, int)
Declaration
public override void Write(byte[] buffer, int offset, int count)
Parameters
| Type |
Name |
Description |
| byte[] |
buffer |
|
| int |
offset |
|
| int |
count |
|
Overrides
View Source
Write(ReadOnlySpan<byte>)
Declaration
public override void Write(ReadOnlySpan<byte> buffer)
Parameters
Overrides
View Source
WriteAsync(byte[], int, int, CancellationToken)
Declaration
public override Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken token)
Parameters
Returns
Overrides
View Source
WriteAsync(ReadOnlyMemory<byte>, CancellationToken)
Declaration
public override ValueTask WriteAsync(ReadOnlyMemory<byte> buffer, CancellationToken cancellationToken = default)
Parameters
Returns
Overrides
View Source
WriteByte(byte)
Declaration
public override void WriteByte(byte value)
Parameters
| Type |
Name |
Description |
| byte |
value |
|
Overrides
Implements
Extension Methods
StreamExtensions.ParseAsync<TArg, TResult>(Stream, TArg, Func<ReadOnlySpan<char>, TArg, TResult>, DecodingContext, LengthFormat, Memory<byte>, MemoryAllocator<char>?, CancellationToken)