public static SharedBuffer RentAndCopy(SOHSkippingStream stream) { var buffer = ArrayPool <byte> .Shared.Rent((int)stream.Length); var totalRead = stream.Read(buffer, 0, buffer.Length); return(new SharedBuffer(new ArraySegment <byte>(buffer, 0, totalRead))); }
public static async Task CopyStreamSkippingSOHAsync(this Stream input, Stream output, CancellationToken token = default) { var sohSkippingStream = new SOHSkippingStream(input); await sohSkippingStream.CopyToAsync(output, 4096, token).ConfigureAwait(false); }