luxlabs header browser preview


@class NSString, EFLocked;
@protocol EFScheduler;

@interface EFStoppableScheduler : NSObject <EFSuspendableScheduler, EFAssertableScheduler, EFScheduler> {
    struct EFAtomicObject { _Atomic long long cfObject; } _scheduler;
    EFLocked *_tokens;
}

@property (readonly, nonatomic) id<EFScheduler> scheduler;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (id)suspendableSchedulerWithScheduler:(id)a0;
+ (id)assertableSchedulerWithScheduler:(id)a0;

- (id)initWithScheduler:(id)a0;
- (void)performSyncBlock:(id /* block */)a0;
- (void)dealloc;
- (void)suspend;
- (void)_cancelAllTokens;
- (id)performWithObject:(id)a0;
- (id)performCancelableBlock:(id /* block */)a0;
- (id)afterDelay:(double)a0 performBlock:(id /* block */)a1;
- (void)_removeCancelationToken:(id)a0;
- (void)performSyncBarrierBlock:(id /* block */)a0;
- (void)resume;
- (void)performVoucherPreservingBlock:(id /* block */)a0;
- (void)_addCancelationToken:(id)a0;
- (void).cxx_destruct;
- (void)stopAndWait;
- (void)assertIsExecuting:(BOOL)a0;
- (void)performBlock:(id /* block */)a0;

@end