You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
910 B
40 lines
910 B
#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 |
|
|
|
|