Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
TaskCompletionSourceWithCancellation.cs
Go to the documentation of this file.
1
namespace
System.Threading.Tasks
;
2
3
internal
sealed
class
TaskCompletionSourceWithCancellation
<T> :
TaskCompletionSource
<T>
4
{
5
public
TaskCompletionSourceWithCancellation
()
6
: base(
TaskCreationOptions
.
RunContinuationsAsynchronously
)
7
{
8
}
9
10
public
async
ValueTask<T>
WaitWithCancellationAsync
(
CancellationToken
cancellationToken
)
11
{
12
using
(
cancellationToken
.UnsafeRegister(delegate(
object
s
,
CancellationToken
cancellationToken
)
13
{
14
((
TaskCompletionSourceWithCancellation<T>
)
s
).TrySetCanceled(
cancellationToken
);
15
},
this
))
16
{
17
return
await base.Task.ConfigureAwait(continueOnCapturedContext:
false
);
18
}
19
}
20
21
public
T
WaitWithCancellation
(
CancellationToken
cancellationToken
)
22
{
23
using
(
cancellationToken
.UnsafeRegister(delegate(
object
s
,
CancellationToken
cancellationToken
)
24
{
25
((
TaskCompletionSourceWithCancellation<T>
)
s
).TrySetCanceled(
cancellationToken
);
26
},
this
))
27
{
28
return
base.Task.GetAwaiter().GetResult();
29
}
30
}
31
32
public
ValueTask<T>
WaitWithCancellationAsync
(
bool
async,
CancellationToken
cancellationToken
)
33
{
34
if
(!async)
35
{
36
return
new
ValueTask<T>
(
WaitWithCancellation
(
cancellationToken
));
37
}
38
return
WaitWithCancellationAsync
(
cancellationToken
);
39
}
40
}
System.Threading.Tasks.TaskCompletionSourceWithCancellation.WaitWithCancellation
T WaitWithCancellation(CancellationToken cancellationToken)
Definition
TaskCompletionSourceWithCancellation.cs:21
System.Threading.Tasks.TaskCompletionSourceWithCancellation.WaitWithCancellationAsync
async ValueTask< T > WaitWithCancellationAsync(CancellationToken cancellationToken)
Definition
TaskCompletionSourceWithCancellation.cs:10
System.Threading.Tasks.TaskCompletionSourceWithCancellation.TaskCompletionSourceWithCancellation
TaskCompletionSourceWithCancellation()
Definition
TaskCompletionSourceWithCancellation.cs:5
System.Threading.Tasks.TaskCompletionSourceWithCancellation.WaitWithCancellationAsync
ValueTask< T > WaitWithCancellationAsync(bool async, CancellationToken cancellationToken)
Definition
TaskCompletionSourceWithCancellation.cs:32
System.Threading.Tasks.TaskCompletionSourceWithCancellation
Definition
TaskCompletionSourceWithCancellation.cs:4
System.Threading.Tasks.TaskCompletionSource
Definition
TaskCompletionSource.cs:135
System.Threading.Tasks.TaskCreationOptions
TaskCreationOptions
Definition
TaskCreationOptions.cs:5
System.Threading.Tasks.TaskContinuationOptions.RunContinuationsAsynchronously
@ RunContinuationsAsynchronously
System.Threading.Tasks
Definition
TaskToApm.cs:3
System.ExceptionArgument.s
@ s
System.ExceptionArgument.cancellationToken
@ cancellationToken
System.Threading.CancellationToken
Definition
CancellationToken.cs:8
System.Threading.Tasks.ValueTask
Definition
ValueTask.cs:321
source
System.Net.Http
System.Threading.Tasks
TaskCompletionSourceWithCancellation.cs
Generated by
1.10.0