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

◆ GetTaskForValueTaskSource() [1/2]

Task System.Threading.Tasks.ValueTask< TResult >.GetTaskForValueTaskSource ( IValueTaskSource t)
inlineprivate

Definition at line 261 of file ValueTask.cs.

262 {
264 if (status != 0)
265 {
266 try
267 {
268 t.GetResult(_token);
269 return Task.CompletedTask;
270 }
271 catch (Exception ex)
272 {
273 if (status == ValueTaskSourceStatus.Canceled)
274 {
275 if (ex is OperationCanceledException ex2)
276 {
277 Task task = new Task();
278 task.TrySetCanceled(ex2.CancellationToken, ex2);
279 return task;
280 }
281 return s_canceledTask ?? (s_canceledTask = Task.FromCanceled(new CancellationToken(canceled: true)));
282 }
283 return Task.FromException(ex);
284 }
285 }
286 return new ValueTaskSourceAsTask(t, _token);
287 }
ValueTaskSourceStatus GetStatus(short token)
static volatile Task s_canceledTask
Definition ValueTask.cs:63

References System.Threading.Tasks.ValueTask< TResult >._token, System.Threading.Tasks.Task< TResult >.CompletedTask, System.Threading.Tasks.Task< TResult >.FromCanceled(), System.Threading.Tasks.Task< TResult >.FromException(), System.Threading.Tasks.Sources.IValueTaskSource< out TResult >.GetResult(), System.Threading.Tasks.Sources.IValueTaskSource< out TResult >.GetStatus(), System.Threading.Tasks.ValueTask< TResult >.s_canceledTask, and System.task.

Referenced by System.Threading.Tasks.ValueTask< TResult >.AsTask().