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

◆ CancellationPromise()

System.Threading.Tasks.Task< TResult >.CancellationPromise< TResult >.CancellationPromise ( Task source,
uint millisecondsDelay,
CancellationToken token )
inlinepackage

Definition at line 503 of file Task.cs.

504 {
505 _task = source;
507 if (millisecondsDelay != uint.MaxValue)
508 {
509 _timer = new TimerQueueTimer(delegate(object state)
510 {
512 if (cancellationPromise2.TrySetException(new TimeoutException()))
513 {
514 cancellationPromise2.Cleanup();
515 }
516 }, this, millisecondsDelay, uint.MaxValue, flowExecutionContext: false);
517 }
518 _registration = token.UnsafeRegister(delegate(object state, CancellationToken cancellationToken)
519 {
521 if (cancellationPromise.TrySetCanceled(cancellationToken))
522 {
523 cancellationPromise.Cleanup();
524 }
525 }, this);
526 if (base.IsCompleted)
527 {
528 Cleanup();
529 }
530 }
readonly CancellationTokenRegistration _registration
Definition Task.cs:497
void AddCompletionAction(ITaskCompletionAction action, bool addBeforeOthers=false)
Definition Task.cs:2952
CancellationToken CancellationToken
Definition Task.cs:1082

References System.Threading.Tasks.Task< TResult >.CancellationPromise< TResult >._registration, System.Threading.Tasks.Task< TResult >.CancellationPromise< TResult >._task, System.Threading.Tasks.Task< TResult >.CancellationPromise< TResult >._timer, System.Threading.Tasks.Task< TResult >.AddCompletionAction(), System.cancellationToken, System.Threading.Tasks.Task< TResult >.CancellationPromise< TResult >.Cleanup(), System.millisecondsDelay, System.source, System.state, and System.Threading.CancellationToken.UnsafeRegister().