forked from zxl/LaboratoryProtection
41 lines
910 B
C#
41 lines
910 B
C#
|
#if !(NETFX_CORE || NET_4_6 || NET_STANDARD_2_0 || UNITY_WSA_10_0)
|
|||
|
|
|||
|
using System;
|
|||
|
|
|||
|
namespace UniRx
|
|||
|
{
|
|||
|
public struct CancellationToken
|
|||
|
{
|
|||
|
readonly ICancelable source;
|
|||
|
|
|||
|
public static readonly CancellationToken Empty = new CancellationToken(null);
|
|||
|
|
|||
|
/// <summary>Same as Empty.</summary>
|
|||
|
public static readonly CancellationToken None = new CancellationToken(null);
|
|||
|
|
|||
|
public CancellationToken(ICancelable source)
|
|||
|
{
|
|||
|
this.source = source;
|
|||
|
}
|
|||
|
|
|||
|
public bool IsCancellationRequested
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
return (source == null) ? false : source.IsDisposed;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public void ThrowIfCancellationRequested()
|
|||
|
{
|
|||
|
if (IsCancellationRequested)
|
|||
|
{
|
|||
|
throw new OperationCanceledException();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#endif
|
|||
|
|