Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
CancellationToken.cs
Go to the documentation of this file.
3
4namespace System.Threading;
5
6[DebuggerDisplay("IsCancellationRequested = {IsCancellationRequested}")]
7public readonly struct CancellationToken
8{
10
11 public static CancellationToken None => default(CancellationToken);
12
14 {
15 get
16 {
17 if (_source != null)
18 {
20 }
21 return false;
22 }
23 }
24
25 public bool CanBeCanceled => _source != null;
26
28
33
34 public CancellationToken(bool canceled)
35 : this(canceled ? CancellationTokenSource.s_canceledSource : null)
36 {
37 }
38
40 {
41 return Register(callback, useSynchronizationContext: false);
42 }
43
44 public CancellationTokenRegistration Register(Action callback, bool useSynchronizationContext)
45 {
46 return Register((Action<object>)delegate(object obj)
47 {
48 ((Action)obj)();
49 }, callback ?? throw new ArgumentNullException("callback"), useSynchronizationContext, useExecutionContext: true);
50 }
51
52 public CancellationTokenRegistration Register(Action<object?> callback, object? state)
53 {
54 return Register(callback, state, useSynchronizationContext: false, useExecutionContext: true);
55 }
56
57 public CancellationTokenRegistration Register(Action<object?, CancellationToken> callback, object? state)
58 {
59 return Register(callback, state, useSynchronizationContext: false, useExecutionContext: true);
60 }
61
62 public CancellationTokenRegistration Register(Action<object?> callback, object? state, bool useSynchronizationContext)
63 {
64 return Register(callback, state, useSynchronizationContext, useExecutionContext: true);
65 }
66
67 public CancellationTokenRegistration UnsafeRegister(Action<object?> callback, object? state)
68 {
69 return Register(callback, state, useSynchronizationContext: false, useExecutionContext: false);
70 }
71
72 public CancellationTokenRegistration UnsafeRegister(Action<object?, CancellationToken> callback, object? state)
73 {
74 return Register(callback, state, useSynchronizationContext: false, useExecutionContext: false);
75 }
76
77 private CancellationTokenRegistration Register(Delegate callback, object state, bool useSynchronizationContext, bool useExecutionContext)
78 {
79 if ((object)callback == null)
80 {
81 throw new ArgumentNullException("callback");
82 }
83 return _source?.Register(callback, state, useSynchronizationContext ? SynchronizationContext.Current : null, useExecutionContext ? ExecutionContext.Capture() : null) ?? default(CancellationTokenRegistration);
84 }
85
87 {
88 return _source == other._source;
89 }
90
91 public override bool Equals([NotNullWhen(true)] object? other)
92 {
94 {
96 }
97 return false;
98 }
99
100 public override int GetHashCode()
101 {
102 return (_source ?? CancellationTokenSource.s_neverCanceledSource).GetHashCode();
103 }
104
105 public static bool operator ==(CancellationToken left, CancellationToken right)
106 {
107 return left.Equals(right);
108 }
109
110 public static bool operator !=(CancellationToken left, CancellationToken right)
111 {
112 return !left.Equals(right);
113 }
114
116 {
118 {
120 }
121 }
122
123 [DoesNotReturn]
125 {
127 }
128}
static string OperationCanceled
Definition SR.cs:1758
Definition SR.cs:7
CancellationTokenRegistration Register(Delegate callback, object stateForCallback, SynchronizationContext syncContext, ExecutionContext executionContext)
static readonly CancellationTokenSource s_neverCanceledSource
static ? ExecutionContext Capture()
static ? SynchronizationContext Current
delegate void Action()
static bool operator!=(CancellationToken left, CancellationToken right)
override bool Equals([NotNullWhen(true)] object? other)
CancellationTokenRegistration Register(Delegate callback, object state, bool useSynchronizationContext, bool useExecutionContext)
CancellationTokenRegistration Register(Action< object?, CancellationToken > callback, object? state)
CancellationTokenRegistration Register(Action callback)
CancellationTokenRegistration UnsafeRegister(Action< object?> callback, object? state)
CancellationTokenRegistration Register(Action< object?> callback, object? state, bool useSynchronizationContext)
bool Equals(CancellationToken other)
CancellationTokenRegistration UnsafeRegister(Action< object?, CancellationToken > callback, object? state)
CancellationToken(CancellationTokenSource source)
readonly CancellationTokenSource _source
CancellationTokenRegistration Register(Action< object?> callback, object? state)
static bool operator==(CancellationToken left, CancellationToken right)
CancellationTokenRegistration Register(Action callback, bool useSynchronizationContext)