luxlabs header browser preview


@class TSUWeakReference, NSThread, NSCondition, NSMutableDictionary, NSObject, NSMutableArray, TSKAccessControllerRunLoop, TSKRunLoopTicket;
@protocol OS_dispatch_semaphore;

@interface TSKAccessController : NSObject {
    TSUWeakReference *_delegate;
    struct _opaque_pthread_rwlock_t { long long __sig; char __opaque[192]; } _rwLock;
    BOOL _secondaryThreadWriting;
    BOOL _thenReadingOnPrimaryThread;
    NSCondition *_cond;
    NSMutableDictionary *_signalIdentifiers;
    NSMutableDictionary *_waitIdentifiers;
    struct __CFRunLoopSource { } *_primaryThreadPingSource;
    NSMutableArray *_pendingPrimaryThreadBlocks;
    struct { struct _opaque_pthread_t *threadId; unsigned int count; struct { unsigned int useCount; id ticket; } ticketInfo; } _readerInfo[64];
    struct { unsigned int useCount; id ticket; } _primaryThreadTicketInfo;
    unsigned int _readerCount;
    NSMutableArray *_writerQueue;
    NSObject<OS_dispatch_semaphore> *_outstandingTicketReadLock;
    unsigned int _outstandingTicketCount;
    _Atomic BOOL _writeLockHeld;
    unsigned long long _writeBlockedPrimaryThreadCount;
    unsigned long long _primaryThreadWriteCount;
    _Atomic struct __CFRunLoop *_runLoop;
    _Atomic BOOL _isOnMainRunLoop;
    NSThread *_primaryThread;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _primaryThreadIVarLock;
    _Atomic unsigned int _primaryThreadQualityOfServiceClass;
    _Atomic int _boostPrimaryThreadQualityOfServiceCount;
    TSKRunLoopTicket *_primaryRunLoopTicket;
    _Atomic int _performWhileAnotherWaitingThreadHasWriteCount;
}

@property (readonly) NSThread *primaryThread;
@property struct __CFRunLoop { } *runLoop;
@property (readonly) BOOL hasRead;
@property (readonly) BOOL hasWrite;
@property (readonly) BOOL isPrimaryThread;
@property (readonly) BOOL isOnMainRunLoop;
@property (readonly) BOOL isOnPrimaryRunLoop;
@property (readonly) unsigned int primaryThreadQualityOfServiceClass;
@property (readonly) TSKAccessControllerRunLoop *primaryRunLoop;

- (id)init;
- (void)dealloc;
- (id)initWithDelegate:(id)a0;
- (void)p_signalThread:(id)a0;
- (void)p_dequeueWrite;
- (BOOL)p_hasRead;
- (BOOL)p_hasWrite;
- (void)p_readLock;
- (void)p_readUnlock;
- (id)p_threadIdentifier;
- (BOOL)p_waitWithCondition:(id)a0 untilDate:(id)a1;
- (void)p_writeUnlock;
- (void)performRead:(id /* block */)a0;
- (void)performWrite:(id /* block */)a0;
- (void)signalIdentifier:(id)a0;
- (void)waitOnIdentifier:(id)a0;
- (BOOL)waitOnIdentifier:(id)a0 untilDate:(id)a1 releaseReadWhileWaiting:(BOOL)a2;
- (void)performReadWithTicket:(id)a0 block:(id /* block */)a1;
- (void)assertHasWrite;
- (void)performWrite:(id /* block */)a0 blockPrimaryThread:(BOOL)a1;
- (void)performReadAllowingOverlappingImplicitRead:(id /* block */)a0 thenWrite:(id /* block */)a1 thenReadOnPrimaryThread:(id /* block */)a2;
- (void)assertHasReadOrWrite;
- (void)addPrimaryThreadRunLoopSource:(struct __CFRunLoopSource { } *)a0 mode:(struct __CFString { } *)a1;
- (void)assertHasRead;
- (id)boostPrimaryThreadQualityOfService;
- (void)dispatchAsyncOnPrimaryThreadInMode:(struct __CFString { } *)a0 block:(id /* block */)a1;
- (void)i_finishReadForTicket:(id)a0;
- (void)i_startReadForTicket:(id)a0;
- (id)initWithPrimaryRunloop:(struct __CFRunLoop { } *)a0 delegate:(id)a1;
- (void)p_asyncPerformBlockOnPrimaryThread:(id /* block */)a0;
- (void)p_blockPrimaryThread;
- (void)p_blockPrimaryThreadForWrite;
- (void)p_decrementCountForReaderAtIndex:(unsigned int)a0 releasingRealLock:(BOOL)a1;
- (void)p_didAcquireReadLock;
- (void)p_didAcquireWriteLock;
- (void)p_didEndBoostingPrimaryThread;
- (void)p_enqueueWriteAndBlockAllowingPendingWrites:(BOOL)a0;
- (void)p_finishReadForTicketInfo:(struct { unsigned int x0; id x1; } *)a0;
- (void)p_flushPendingPrimaryThreadBlocksQueueAcquiringLock:(BOOL)a0;
- (void)p_performRead:(id /* block */)a0 eagerlyBlockingPrimaryThread:(BOOL)a1 thenWrite:(id /* block */)a2 allowingPendingWrites:(BOOL)a3 thenReadOnPrimaryThread:(id /* block */)a4;
- (void)p_performReadOnPrimaryThread:(id /* block */)a0 result:(BOOL)a1;
- (void)p_readLockTakingRealLock:(BOOL)a0;
- (void)p_readUnlockReleasingRealLock:(BOOL)a0;
- (void)p_schedulePrimaryThreadRead:(id /* block */)a0 result:(BOOL)a1;
- (void)p_setPrimaryThreadIfNeeded;
- (void)p_signalPrimaryThreadWriteComplete;
- (struct { unsigned int x0; id x1; } *)p_ticketInfoForCurrentThread;
- (struct { unsigned int x0; id x1; } *)p_ticketInfoForTicket:(id)a0;
- (void)p_unblockPrimaryThread;
- (void)p_willAcquireReadLock;
- (void)p_willAcquireWriteLock;
- (void)p_willRelinquishReadLock;
- (void)p_willRelinquishWriteLock;
- (void)p_writeLockAndBlockPrimaryThread:(BOOL)a0;
- (unsigned long long)p_writerQueueIndexOfThreadIdentifier:(id)a0;
- (void)performRead:(id /* block */)a0 thenWrite:(id /* block */)a1 thenReadOnPrimaryThread:(id /* block */)a2;
- (void)performRead:(id /* block */)a0 thenWriteBeforePendingWrites:(id /* block */)a1 thenReadOnPrimaryThread:(id /* block */)a2;
- (void)performReadGrantingTicket:(id /* block */)a0;
- (void)performWhileAnotherWaitingThreadHasWrite:(id /* block */)a0;
- (void)removePrimaryThreadRunLoopSource:(struct __CFRunLoopSource { } *)a0 mode:(struct __CFString { } *)a1;
- (void)wakeUpPrimaryRunLoop;

@end