Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ ReadAsync() [3/3]

override ValueTask< int > System.IO.MemoryStream.ReadAsync ( Memory< byte > buffer,
CancellationToken cancellationToken = default(CancellationToken) )
inlinevirtualinherited

Reimplemented from System.IO.Stream.

Reimplemented in System.IO.UnmanagedMemoryStreamWrapper.

Definition at line 387 of file MemoryStream.cs.

388 {
389 if (cancellationToken.IsCancellationRequested)
390 {
392 }
393 try
394 {
395 ArraySegment<byte> segment;
396 return new ValueTask<int>(MemoryMarshal.TryGetArray((ReadOnlyMemory<byte>)buffer, out segment) ? Read(segment.Array, segment.Offset, segment.Count) : Read(buffer.Span));
397 }
398 catch (OperationCanceledException exception)
399 {
400 return new ValueTask<int>(Task.FromCanceled<int>(exception));
401 }
402 catch (Exception exception2)
403 {
404 return ValueTask.FromException<int>(exception2);
405 }
406 }
static Task FromCanceled(CancellationToken cancellationToken)
Definition Task.cs:3363
static ValueTask FromCanceled(CancellationToken cancellationToken)
Definition ValueTask.cs:180
static ValueTask FromException(Exception exception)
Definition ValueTask.cs:190

References System.ArraySegment< T >.Array, System.buffer, System.cancellationToken, System.ArraySegment< T >.Count, System.exception, System.Threading.Tasks.Task< TResult >.FromCanceled(), System.Threading.Tasks.ValueTask< TResult >.FromCanceled(), System.Threading.Tasks.ValueTask< TResult >.FromException(), System.ArraySegment< T >.Offset, and System.IO.Read.