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

◆ ReadAsync() [3/3]

override ValueTask< int > System.IO.Strategies.OSFileStreamStrategy.ReadAsync ( Memory< byte > destination,
CancellationToken cancellationToken )
inlinesealedvirtualinherited

Reimplemented from System.IO.Stream.

Definition at line 350 of file OSFileStreamStrategy.cs.

351 {
352 if (!CanSeek)
353 {
354 return RandomAccess.ReadAtOffsetAsync(_fileHandle, destination, -1L, cancellationToken);
355 }
357 {
358 return ValueTask.FromResult(0);
359 }
360 long fileOffset = Interlocked.Add(ref _filePosition, destination.Length) - destination.Length;
361 return RandomAccess.ReadAtOffsetAsync(_fileHandle, destination, fileOffset, cancellationToken, this);
362 }
static int Add(ref int location1, int value)
static bool Read(ref bool location)
Definition Volatile.cs:67

References System.IO.Strategies.OSFileStreamStrategy._fileHandle, System.IO.Strategies.OSFileStreamStrategy._filePosition, System.IO.Strategies.OSFileStreamStrategy._length, System.Threading.Interlocked.Add(), System.cancellationToken, System.IO.Strategies.OSFileStreamStrategy.CanSeek, System.destination, System.L, System.IO.Strategies.OSFileStreamStrategy.LengthCachingSupported, System.Threading.Volatile.Read(), and System.IO.RandomAccess.ReadAtOffsetAsync().