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

◆ Execute()

void System.Threading.Tasks.TaskReplicator.Replica< TState >.Execute ( )
inline

Definition at line 45 of file TaskReplicator.cs.

46 {
47 try
48 {
50 {
53 }
54 ExecuteAction(out var yieldedBeforeCompletion);
55 if (yieldedBeforeCompletion)
56 {
57 _pendingTask = new Task(delegate(object s)
58 {
59 ((Replica)s).Execute();
60 }, this, CancellationToken.None, TaskCreationOptions.None);
62 }
63 else
64 {
65 _replicator._stopReplicating = true;
66 _pendingTask = null;
67 }
68 }
69 catch (Exception item)
70 {
71 LazyInitializer.EnsureInitialized(ref _replicator._exceptions).Enqueue(item);
73 {
74 _replicator._stopReplicating = true;
75 }
76 _pendingTask = null;
77 }
78 }
Replica(TaskReplicator replicator, int maxConcurrency, int timeout)
void ExecuteAction(out bool yieldedBeforeCompletion)
ConcurrentQueue< Exception > _exceptions

References System.Threading.Tasks.TaskReplicator.Replica< TState >.Replica(), System.Threading.Tasks.TaskReplicator._exceptions, System.Threading.Tasks.TaskReplicator.Replica< TState >._pendingTask, System.Threading.Tasks.TaskReplicator.Replica< TState >._remainingConcurrency, System.Threading.Tasks.TaskReplicator.Replica< TState >._replicator, System.Threading.Tasks.TaskReplicator._scheduler, System.Threading.Tasks.TaskReplicator._stopOnFirstFailure, System.Threading.Tasks.TaskReplicator._stopReplicating, System.Threading.Tasks.TaskReplicator.Replica< TState >.CreateNewReplica(), System.Threading.Tasks.TaskReplicator.Replica< TState >.ExecuteAction(), System.item, System.Threading.CancellationToken.None, System.s, and System.Threading.Tasks.Task< TResult >.Start().