Show / Hide Table of Contents

Class MemorySegmentStream

Represents a stream wrapper over the memory block.

Inheritance
object
MarshalByRefObject
Stream
ModernStream
MemorySegmentStream
Implements
IDisposable
IAsyncDisposable
IFlushable
Inherited Members
ModernStream.Read(byte[], int, int)
ModernStream.ReadAsync(byte[], int, int, CancellationToken)
ModernStream.BeginRead(byte[], int, int, AsyncCallback, object)
ModernStream.EndRead(IAsyncResult)
ModernStream.ReadByte()
ModernStream.Write(byte[], int, int)
ModernStream.WriteByte(byte)
ModernStream.WriteAsync(byte[], int, int, CancellationToken)
ModernStream.BeginWrite(byte[], int, int, AsyncCallback, object)
ModernStream.EndWrite(IAsyncResult)
Stream.Null
Stream.CopyTo(Stream)
Stream.CopyTo(Stream, int)
Stream.CopyToAsync(Stream)
Stream.CopyToAsync(Stream, int)
Stream.CopyToAsync(Stream, CancellationToken)
Stream.CopyToAsync(Stream, int, CancellationToken)
Stream.Dispose()
Stream.Close()
Stream.DisposeAsync()
Stream.FlushAsync()
Stream.ReadAsync(byte[], int, int)
Stream.ReadExactlyAsync(Memory<byte>, CancellationToken)
Stream.ReadExactlyAsync(byte[], int, int, CancellationToken)
Stream.ReadAtLeastAsync(Memory<byte>, int, bool, CancellationToken)
Stream.WriteAsync(byte[], int, int)
Stream.ReadExactly(Span<byte>)
Stream.ReadExactly(byte[], int, int)
Stream.ReadAtLeast(Span<byte>, int, bool)
Stream.Synchronized(Stream)
Stream.CanTimeout
Stream.ReadTimeout
Stream.WriteTimeout
MarshalByRefObject.GetLifetimeService()
MarshalByRefObject.InitializeLifetimeService()
object.GetType()
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
Namespace: DotNext.IO
Assembly: DotNext.IO.dll
Syntax
public sealed class MemorySegmentStream : ModernStream, IDisposable, IAsyncDisposable, IFlushable

Constructors

View Source

MemorySegmentStream(Memory<byte>)

Represents a stream wrapper over the memory block.

Declaration
public MemorySegmentStream(Memory<byte> data)
Parameters
Type Name Description
Memory<byte> data

The mutable memory block.

Properties

View Source

CanRead

Declaration
public override bool CanRead { get; }
Property Value
Type Description
bool
Overrides
Stream.CanRead
View Source

CanSeek

Declaration
public override bool CanSeek { get; }
Property Value
Type Description
bool
Overrides
Stream.CanSeek
View Source

CanWrite

Declaration
public override bool CanWrite { get; }
Property Value
Type Description
bool
Overrides
Stream.CanWrite
View Source

ConsumedSpan

Gets the consumed part of the data.

Declaration
public Span<byte> ConsumedSpan { get; }
Property Value
Type Description
Span<byte>
View Source

Length

Declaration
public override long Length { get; }
Property Value
Type Description
long
Overrides
Stream.Length
View Source

Position

Declaration
public override long Position { get; set; }
Property Value
Type Description
long
Overrides
Stream.Position
View Source

RemainingSpan

Gets the remaining part of the data.

Declaration
public Span<byte> RemainingSpan { get; }
Property Value
Type Description
Span<byte>
View Source

SkipOnOverflow

Gets or sets a value indicating that Write(ReadOnlySpan<byte>) and WriteAsync(ReadOnlyMemory<byte>, CancellationToken) must throw IOException if the caller is trying to write past to the end of the underlying buffer.

Declaration
public bool SkipOnOverflow { get; init; }
Property Value
Type Description
bool
Remarks

The default value is false.

Methods

View Source

Flush()

Declaration
public override void Flush()
Overrides
Stream.Flush()
View Source

FlushAsync(CancellationToken)

Declaration
public override Task FlushAsync(CancellationToken token)
Parameters
Type Name Description
CancellationToken token
Returns
Type Description
Task
Overrides
Stream.FlushAsync(CancellationToken)
View Source

Read(Span<byte>)

Declaration
public override int Read(Span<byte> buffer)
Parameters
Type Name Description
Span<byte> buffer
Returns
Type Description
int
Overrides
ModernStream.Read(Span<byte>)
View Source

ReadAsync(Memory<byte>, CancellationToken)

Declaration
public override ValueTask<int> ReadAsync(Memory<byte> buffer, CancellationToken token = default)
Parameters
Type Name Description
Memory<byte> buffer
CancellationToken token
Returns
Type Description
ValueTask<int>
Overrides
ModernStream.ReadAsync(Memory<byte>, CancellationToken)
View Source

Seek(long, SeekOrigin)

Declaration
public override long Seek(long offset, SeekOrigin origin)
Parameters
Type Name Description
long offset
SeekOrigin origin
Returns
Type Description
long
Overrides
Stream.Seek(long, SeekOrigin)
View Source

SetLength(long)

Declaration
public override void SetLength(long value)
Parameters
Type Name Description
long value
Overrides
Stream.SetLength(long)
View Source

Write(ReadOnlySpan<byte>)

Declaration
public override void Write(ReadOnlySpan<byte> buffer)
Parameters
Type Name Description
ReadOnlySpan<byte> buffer
Overrides
ModernStream.Write(ReadOnlySpan<byte>)
View Source

WriteAsync(ReadOnlyMemory<byte>, CancellationToken)

Declaration
public override ValueTask WriteAsync(ReadOnlyMemory<byte> buffer, CancellationToken token = default)
Parameters
Type Name Description
ReadOnlyMemory<byte> buffer
CancellationToken token
Returns
Type Description
ValueTask
Overrides
ModernStream.WriteAsync(ReadOnlyMemory<byte>, CancellationToken)

Implements

IDisposable
IAsyncDisposable
IFlushable

Extension Methods

BasicExtensions.As<T>(T)
BasicExtensions.IsBetween<T, TLowerBound, TUpperBound>(T, TLowerBound, TUpperBound)
BasicExtensions.IsOneOf<T>(T, params ReadOnlySpan<T>)
StreamExtensions.CopyToAsync(Stream, IBufferWriter<byte>, int, CancellationToken)
StreamExtensions.CopyToAsync(Stream, IBufferWriter<byte>, long, int, CancellationToken)
StreamExtensions.CopyToAsync(Stream, Stream, long, Memory<byte>, CancellationToken)
StreamExtensions.CopyToAsync(Stream, Stream, Memory<byte>, CancellationToken)
StreamExtensions.CopyToAsync<TConsumer>(Stream, TConsumer, long, Memory<byte>, CancellationToken)
StreamExtensions.CopyToAsync<TConsumer>(Stream, TConsumer, Memory<byte>, CancellationToken)
StreamExtensions.DecodeAsync(Stream, DecodingContext, LengthFormat, Memory<byte>, MemoryAllocator<char>?, CancellationToken)
StreamExtensions.DecodeAsync(Stream, DecodingContext, LengthFormat, Memory<char>, Memory<byte>, CancellationToken)
StreamExtensions.EncodeAsync(Stream, ReadOnlyMemory<char>, EncodingContext, LengthFormat?, Memory<byte>, CancellationToken)
StreamExtensions.FormatAsync<T>(Stream, T, EncodingContext, LengthFormat?, Memory<byte>, string?, IFormatProvider?, MemoryAllocator<char>?, CancellationToken)
StreamExtensions.FormatAsync<T>(Stream, T, LengthFormat?, Memory<byte>, string?, IFormatProvider?, CancellationToken)
StreamExtensions.ParseAsync<T>(Stream, LengthFormat, Memory<byte>, NumberStyles, IFormatProvider?, CancellationToken)
StreamExtensions.ParseAsync<T>(Stream, LengthFormat, Memory<byte>, IFormatProvider?, CancellationToken)
StreamExtensions.ParseAsync<TArg, TResult>(Stream, TArg, Func<ReadOnlySpan<char>, TArg, TResult>, DecodingContext, LengthFormat, Memory<byte>, MemoryAllocator<char>?, CancellationToken)
StreamExtensions.ReadAllAsync(Stream, int, MemoryAllocator<byte>?, CancellationToken)
StreamExtensions.ReadAsync<T>(Stream, Memory<byte>, CancellationToken)
StreamExtensions.ReadBigEndianAsync<T>(Stream, Memory<byte>, CancellationToken)
StreamExtensions.ReadBlockAsync(Stream, LengthFormat, MemoryAllocator<byte>?, CancellationToken)
StreamExtensions.ReadExactlyAsync(Stream, long, int, MemoryAllocator<byte>?, CancellationToken)
StreamExtensions.ReadLittleEndianAsync<T>(Stream, Memory<byte>, CancellationToken)
StreamExtensions.ReadUtf8(Stream, Span<byte>, IBufferWriter<char>)
StreamExtensions.ReadUtf8Async(Stream, Memory<byte>, IBufferWriter<char>, CancellationToken)
StreamExtensions.ReadUtf8Async<TArg>(Stream, Memory<byte>, Memory<char>, Func<ReadOnlyMemory<char>, TArg, CancellationToken, ValueTask>, TArg, CancellationToken)
StreamExtensions.ReadUtf8<TArg>(Stream, Span<byte>, Span<char>, ReadOnlySpanAction<char, TArg>, TArg)
StreamExtensions.Slice(Stream, long, long)
StreamExtensions.WriteAsync(Stream, ReadOnlySequence<byte>, CancellationToken)
StreamExtensions.WriteAsync(Stream, ReadOnlyMemory<byte>, LengthFormat, Memory<byte>, CancellationToken)
StreamExtensions.WriteAsync<T>(Stream, T, Memory<byte>, CancellationToken)
StreamExtensions.WriteBigEndianAsync<T>(Stream, T, Memory<byte>, CancellationToken)
StreamExtensions.WriteLittleEndianAsync<T>(Stream, T, Memory<byte>, CancellationToken)
  • View Source
☀
☾
In this article
Back to top
Supported by the .NET Foundation
☀
☾