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

◆ ExecuteInternal()

void Microsoft.Win32.SafeHandles.SafeFileHandle.ThreadPoolValueTaskSource.ExecuteInternal ( )
inlineprivate

Definition at line 85 of file SafeFileHandle.cs.

86 {
87 long num = 0L;
88 Exception ex = null;
89 try
90 {
92 {
94 }
95 else
96 {
97 switch (_operation)
98 {
99 case Operation.Read:
100 {
103 break;
104 }
105 case Operation.Write:
107 break;
108 case Operation.ReadScatter:
110 break;
111 case Operation.WriteGather:
113 break;
114 }
115 }
116 }
117 catch (Exception ex2)
118 {
119 ex = ex2;
120 }
121 finally
122 {
123 if (_strategy != null)
124 {
125 if (ex != null)
126 {
128 }
129 else if (_operation == Operation.Read && num != _singleSegment.Length)
130 {
132 }
133 }
134 _operation = Operation.None;
135 _context = null;
136 _strategy = null;
139 _readScatterBuffers = null;
140 _writeGatherBuffers = null;
141 }
142 if (ex == null)
143 {
144 _source.SetResult(num);
145 }
146 else
147 {
149 }
150 }
static unsafe void WriteAtOffset(SafeFileHandle handle, ReadOnlySpan< byte > buffer, long fileOffset)
static unsafe int ReadAtOffset(SafeFileHandle handle, Span< byte > buffer, long fileOffset)
static void WriteGatherAtOffset(SafeFileHandle handle, IReadOnlyList< ReadOnlyMemory< byte > > buffers, long fileOffset)
static long ReadScatterAtOffset(SafeFileHandle handle, IReadOnlyList< Memory< byte > > buffers, long fileOffset)
void OnIncompleteOperation(int expectedBytesTransferred, int actualBytesTransferred)
unsafe ReadOnlySpan< T > Span

References Microsoft.Win32.SafeHandles.SafeFileHandle.ThreadPoolValueTaskSource._cancellationToken, Microsoft.Win32.SafeHandles.SafeFileHandle.ThreadPoolValueTaskSource._context, Microsoft.Win32.SafeHandles.SafeFileHandle.ThreadPoolValueTaskSource._fileHandle, Microsoft.Win32.SafeHandles.SafeFileHandle.ThreadPoolValueTaskSource._fileOffset, Microsoft.Win32.SafeHandles.SafeFileHandle.ThreadPoolValueTaskSource._operation, Microsoft.Win32.SafeHandles.SafeFileHandle.ThreadPoolValueTaskSource._readScatterBuffers, Microsoft.Win32.SafeHandles.SafeFileHandle.ThreadPoolValueTaskSource._singleSegment, Microsoft.Win32.SafeHandles.SafeFileHandle.ThreadPoolValueTaskSource._source, Microsoft.Win32.SafeHandles.SafeFileHandle.ThreadPoolValueTaskSource._strategy, Microsoft.Win32.SafeHandles.SafeFileHandle.ThreadPoolValueTaskSource._writeGatherBuffers, System.Threading.CancellationToken.IsCancellationRequested, System.L, System.ReadOnlyMemory< T >.Length, System.IO.Strategies.OSFileStreamStrategy.OnIncompleteOperation(), System.IO.RandomAccess.ReadAtOffset(), System.IO.RandomAccess.ReadScatterAtOffset(), System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore< TResult >.SetException(), System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore< TResult >.SetResult(), System.ReadOnlyMemory< T >.Span, System.IO.RandomAccess.WriteAtOffset(), and System.IO.RandomAccess.WriteGatherAtOffset().

Referenced by Microsoft.Win32.SafeHandles.SafeFileHandle.ThreadPoolValueTaskSource.Execute().