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.
60 lines
1.7 KiB
60 lines
1.7 KiB
/*
|
|
* 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
|