40 lines
923 B
C#
40 lines
923 B
C#
|
|
#if !(ENABLE_MONO_BLEEDING_EDGE_EDITOR || ENABLE_MONO_BLEEDING_EDGE_STANDALONE)
|
|||
|
|
|
|||
|
|
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
|
|||
|
|
|