using System.Threading; using System.Threading.Tasks; namespace System.IO { partial class Stream { public virtual int Read (Span destination) { throw new NotImplementedException (); } public virtual void Write (ReadOnlySpan source) { throw new NotImplementedException (); } public virtual ValueTask ReadAsync(Memory destination, CancellationToken cancellationToken = default(CancellationToken)) { if (destination.TryGetArray (out ArraySegment array)) return new ValueTask (ReadAsync (array.Array, array.Offset, array.Count, cancellationToken)); throw new NotImplementedException (); } internal virtual Task WriteAsync (ReadOnlyMemory source, CancellationToken cancellationToken = default(CancellationToken)) { throw new NotImplementedException (); } } }