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

◆ CopyToAsync() [4/4]

override Task System.IO.MemoryStream.CopyToAsync ( Stream destination,
int bufferSize,
CancellationToken cancellationToken )
inlinevirtualinherited

Reimplemented from System.IO.Stream.

Reimplemented in System.Net.Http.HttpContent.LimitMemoryStream, and System.IO.UnmanagedMemoryStreamWrapper.

Definition at line 435 of file MemoryStream.cs.

436 {
437 Stream.ValidateCopyToArguments(destination, bufferSize);
439 if (GetType() != typeof(MemoryStream))
440 {
441 return base.CopyToAsync(destination, bufferSize, cancellationToken);
442 }
443 if (cancellationToken.IsCancellationRequested)
444 {
446 }
447 int position = _position;
449 if (num == 0)
450 {
451 return Task.CompletedTask;
452 }
453 if (!(destination is MemoryStream memoryStream))
454 {
455 return destination.WriteAsync(_buffer, position, num, cancellationToken);
456 }
457 try
458 {
459 memoryStream.Write(_buffer, position, num);
460 return Task.CompletedTask;
461 }
462 catch (Exception exception)
463 {
465 }
466 }
int InternalEmulateRead(int count)
static Task FromException(Exception exception)
Definition Task.cs:3341
static Task FromCanceled(CancellationToken cancellationToken)
Definition Task.cs:3363
static Task CompletedTask
Definition Task.cs:1120

References System.IO.MemoryStream._buffer, System.IO.MemoryStream._length, System.IO.MemoryStream._position, System.cancellationToken, System.Threading.Tasks.Task< TResult >.CompletedTask, System.destination, System.IO.MemoryStream.EnsureNotClosed(), System.exception, System.Threading.Tasks.Task< TResult >.FromCanceled(), System.Threading.Tasks.Task< TResult >.FromException(), System.IO.MemoryStream.InternalEmulateRead(), and System.IO.Stream.ValidateCopyToArguments().