12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- /*
- * Copyright (c) 2014, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
- #import <Foundation/Foundation.h>
-
- NS_ASSUME_NONNULL_BEGIN
-
- @class OSSCancellationToken;
-
- /*!
- OSSCancellationTokenSource represents the producer side of a CancellationToken.
- Signals to a CancellationToken that it should be canceled.
- It is a cancellation token that also has methods
- for changing the state of a token by cancelling it.
- */
- @interface OSSCancellationTokenSource : NSObject
-
- /*!
- Creates a new cancellation token source.
- */
- + (instancetype)cancellationTokenSource;
-
- /*!
- The cancellation token associated with this CancellationTokenSource.
- */
- @property (nonatomic, strong, readonly) OSSCancellationToken *token;
-
- /*!
- Whether cancellation has been requested for this token source.
- */
- @property (nonatomic, assign, readonly, getter=isCancellationRequested) BOOL cancellationRequested;
-
- /*!
- Cancels the token if it has not already been cancelled.
- */
- - (void)cancel;
-
- /*!
- Schedules a cancel operation on this CancellationTokenSource after the specified number of milliseconds.
- @param millis The number of milliseconds to wait before completing the returned task.
- If delay is `0` the cancel is executed immediately. If delay is `-1` any scheduled cancellation is stopped.
- */
- - (void)cancelAfterDelay:(int)millis;
-
- /*!
- Releases all resources associated with this token source,
- including disposing of all registrations.
- */
- - (void)dispose;
-
- @end
-
- NS_ASSUME_NONNULL_END
|