mirror of https://github.com/Cysharp/UniTask
2.2.1
parent
a1a38d0d7c
commit
e88e553cc9
|
@ -16,7 +16,7 @@ namespace NetCoreTests
|
|||
{
|
||||
CancellationTokenSource cts = new CancellationTokenSource();
|
||||
|
||||
var v = await UniTask.Run(() => 10).IgnoreWhenCanceled(cts.Token);
|
||||
var v = await UniTask.Run(() => 10).AttachExternalCancellation(cts.Token);
|
||||
|
||||
v.Should().Be(10);
|
||||
}
|
||||
|
@ -30,7 +30,7 @@ namespace NetCoreTests
|
|||
{
|
||||
await Task.Delay(TimeSpan.FromSeconds(1));
|
||||
return 10;
|
||||
}).IgnoreWhenCanceled(cts.Token);
|
||||
}).AttachExternalCancellation(cts.Token);
|
||||
|
||||
cts.Cancel();
|
||||
|
||||
|
|
|
@ -192,7 +192,7 @@ namespace Cysharp.Threading.Tasks
|
|||
/// <summary>
|
||||
/// Ignore task result when cancel raised first.
|
||||
/// </summary>
|
||||
public static UniTask IgnoreWhenCanceled(this UniTask task, CancellationToken cancellationToken)
|
||||
public static UniTask AttachExternalCancellation(this UniTask task, CancellationToken cancellationToken)
|
||||
{
|
||||
if (!cancellationToken.CanBeCanceled)
|
||||
{
|
||||
|
@ -209,13 +209,13 @@ namespace Cysharp.Threading.Tasks
|
|||
return task;
|
||||
}
|
||||
|
||||
return new UniTask(new IgnoreWhenCanceledSource(task, cancellationToken), 0);
|
||||
return new UniTask(new AttachExternalCancellationSource(task, cancellationToken), 0);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Ignore task result when cancel raised first.
|
||||
/// </summary>
|
||||
public static UniTask<T> IgnoreWhenCanceled<T>(this UniTask<T> task, CancellationToken cancellationToken)
|
||||
public static UniTask<T> AttachExternalCancellation<T>(this UniTask<T> task, CancellationToken cancellationToken)
|
||||
{
|
||||
if (!cancellationToken.CanBeCanceled)
|
||||
{
|
||||
|
@ -232,10 +232,10 @@ namespace Cysharp.Threading.Tasks
|
|||
return task;
|
||||
}
|
||||
|
||||
return new UniTask<T>(new IgnoreWhenCanceledSource<T>(task, cancellationToken), 0);
|
||||
return new UniTask<T>(new AttachExternalCancellationSource<T>(task, cancellationToken), 0);
|
||||
}
|
||||
|
||||
sealed class IgnoreWhenCanceledSource : IUniTaskSource
|
||||
sealed class AttachExternalCancellationSource : IUniTaskSource
|
||||
{
|
||||
static readonly Action<object> cancellationCallbackDelegate = CancellationCallback;
|
||||
|
||||
|
@ -243,7 +243,7 @@ namespace Cysharp.Threading.Tasks
|
|||
CancellationTokenRegistration tokenRegistration;
|
||||
UniTaskCompletionSourceCore<AsyncUnit> core;
|
||||
|
||||
public IgnoreWhenCanceledSource(UniTask task, CancellationToken cancellationToken)
|
||||
public AttachExternalCancellationSource(UniTask task, CancellationToken cancellationToken)
|
||||
{
|
||||
this.cancellationToken = cancellationToken;
|
||||
this.tokenRegistration = cancellationToken.RegisterWithoutCaptureExecutionContext(cancellationCallbackDelegate, this);
|
||||
|
@ -269,7 +269,7 @@ namespace Cysharp.Threading.Tasks
|
|||
|
||||
static void CancellationCallback(object state)
|
||||
{
|
||||
var self = (IgnoreWhenCanceledSource)state;
|
||||
var self = (AttachExternalCancellationSource)state;
|
||||
self.core.TrySetCanceled(self.cancellationToken);
|
||||
}
|
||||
|
||||
|
@ -294,7 +294,7 @@ namespace Cysharp.Threading.Tasks
|
|||
}
|
||||
}
|
||||
|
||||
sealed class IgnoreWhenCanceledSource<T> : IUniTaskSource<T>
|
||||
sealed class AttachExternalCancellationSource<T> : IUniTaskSource<T>
|
||||
{
|
||||
static readonly Action<object> cancellationCallbackDelegate = CancellationCallback;
|
||||
|
||||
|
@ -302,7 +302,7 @@ namespace Cysharp.Threading.Tasks
|
|||
CancellationTokenRegistration tokenRegistration;
|
||||
UniTaskCompletionSourceCore<T> core;
|
||||
|
||||
public IgnoreWhenCanceledSource(UniTask<T> task, CancellationToken cancellationToken)
|
||||
public AttachExternalCancellationSource(UniTask<T> task, CancellationToken cancellationToken)
|
||||
{
|
||||
this.cancellationToken = cancellationToken;
|
||||
this.tokenRegistration = cancellationToken.RegisterWithoutCaptureExecutionContext(cancellationCallbackDelegate, this);
|
||||
|
@ -327,7 +327,7 @@ namespace Cysharp.Threading.Tasks
|
|||
|
||||
static void CancellationCallback(object state)
|
||||
{
|
||||
var self = (IgnoreWhenCanceledSource<T>)state;
|
||||
var self = (AttachExternalCancellationSource<T>)state;
|
||||
self.core.TrySetCanceled(self.cancellationToken);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue