luxlabs header browser preview


@class brc_task_tracker, NSString, NSMutableDictionary, NSDate, BRCFairScheduler, BRCDeadlineScheduler;

@interface BRCFSDownloader : BRCFSTransferScheduler <BRCModule> {
    brc_task_tracker *_tracker;
    BRCFairScheduler *_fairScheduler;
    unsigned long long _activeDownloadsSize;
    NSDate *_lastDownloadRefresh;
    double _activeDownloadSizeRefreshInterval;
    NSMutableDictionary *_willRetryOperationProgress;
}

@property (readonly, nonatomic) BRCDeadlineScheduler *downloadsDeadlineScheduler;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;
@property (readonly, nonatomic) BOOL isCancelled;

- (void)_close;
- (void)close;
- (void)suspend;
- (void)schedule;
- (void)resume;
- (void).cxx_destruct;
- (id)initWithAccountSession:(id)a0;
- (void)cancel;
- (void)_clearDownloadErrorForDocument:(id)a0;
- (void)addAliasItem:(id)a0 toDownloadingItem:(id)a1;
- (id)_appLibraryForDownload:(id)a0 kind:(int)a1 operationID:(id)a2;
- (unsigned long long)_bumpThrottleForDownload:(id)a0 throttle:(id)a1;
- (void)_cancelJobs:(id)a0 state:(int)a1;
- (BOOL)_createDownloadingJobForItem:(id)a0 state:(int)a1 kind:(int)a2 etag:(id)a3 userInitiated:(BOOL)a4 stageFileName:(id)a5 error:(id *)a6;
- (void)_finishDownloadCleanup:(id)a0;
- (void)_finishedDownload:(id)a0 syncContext:(id)a1 operationID:(id)a2 error:(id)a3;
- (id)_getCancelErrorFromCancelReason:(int)a0;
- (BOOL)_hasLosersToDelete:(id)a0 serverItem:(id)a1;
- (void)_postponeLoserForWinner:(long long)a0 etag:(id)a1;
- (void)_reportDownloadErrorForDocument:(id)a0 error:(id)a1;
- (id)_sanitizeRecord:(id)a0;
- (void)_sendContentsBatch:(id)a0 sizeHint:(long long)a1 maxRecordsCount:(unsigned long long)a2 isLoserDownload:(BOOL)a3;
- (void)_sendLosersBatch:(id)a0 sizeHint:(long long)a1 maxRecordsCount:(unsigned long long)a2;
- (void)_sendThumbnailsBatch:(id)a0 sizeHint:(long long)a1 maxRecordsCount:(unsigned long long)a2;
- (void)_transferStreamOfSyncContext:(id)a0 didBecomeReadyWithMaxRecordsCount:(unsigned long long)a1 sizeHint:(unsigned long long)a2 priority:(long long)a3;
- (void)_willDownload:(id)a0 operationID:(id)a1;
- (BOOL)applyLosersToItem:(id)a0 serverItem:(id)a1 atURL:(id)a2 applySchedulerState:(int *)a3 addedLosers:(id)a4 removedLosers:(id)a5;
- (BOOL)applyThumbnailToItem:(id)a0 serverItem:(id)a1 atURL:(id)a2 applySchedulerState:(int *)a3;
- (void)cancelAndCleanupItemDownload:(id)a0 kind:(int)a1;
- (void)cancelAndCleanupItemDownload:(id)a0 kind:(int)a1 etag:(id)a2;
- (void)cancelAndCleanupItemDownload:(id)a0 kind:(int)a1 etag:(id)a2 andNotifyDownloadTrackers:(BOOL)a3;
- (void)cancelAndCleanupItemDownload:(id)a0 kind:(int)a1 etag:(id)a2 andNotifyDownloadTrackers:(BOOL)a3 cancelReason:(int)a4;
- (void)cancelAndCleanupItemDownloads:(id)a0;
- (void)deleteDownloadingJobForItem:(id)a0;
- (void)deleteJobsMatching:(id)a0;
- (id)descriptionForItem:(id)a0 context:(id)a1;
- (void)evictLosersOnItem:(id)a0 atURL:(id)a1 applySchedulerState:(int *)a2;
- (id)generateContentStageFileNameForItem:(id)a0 etag:(id)a1;
- (id)generateThumbnailStageFileNameForItem:(id)a0 etag:(id)a1;
- (BOOL)hasAdditionsToApplyForItem:(id)a0 serverItem:(id)a1;
- (BOOL)hasThumbnailToApplyForItem:(id)a0;
- (unsigned long long)inFlightSize;
- (BOOL)isDownloadingItem:(id)a0;
- (BOOL)makeContentLive:(id)a0;
- (void)performFirstSchedulingAfterStartupInDB:(id)a0;
- (unsigned int)recoverAndReportMissingJobs;
- (void)rescheduleJobsForPendingDiskSpaceWithAvailableSpace:(unsigned long long)a0;
- (void)rescheduleJobsPendingRecentsAndFavoritesFetchInZone:(id)a0;
- (void)rescheduleJobsPendingWinnerForItem:(id)a0;
- (BOOL)scheduleContentDownloadForItem:(id)a0 serverItem:(id)a1 userInitiated:(BOOL)a2 etagIfLoser:(id)a3 stageFileName:(id)a4 error:(id *)a5;
- (void)scheduleLosersDownloadForItem:(id)a0 serverItem:(id)a1 purgeStaleEntries:(BOOL)a2 applySchedulerState:(int *)a3;
- (void)scheduleThumbnailDownloadForItem:(id)a0 serverItem:(id)a1 applySchedulerState:(int *)a2;
- (BOOL)shouldScheduleLosersEvictionForItem:(id)a0;
- (unsigned long long)sizeOfActiveDownloads;
- (void)transferStreamOfSyncContext:(id)a0 didBecomeReadyWithMaxRecordsCount:(unsigned long long)a1 sizeHint:(unsigned long long)a2 priority:(long long)a3 completionBlock:(id /* block */)a4;
- (void)updateContentDownloadForMetaOnlyChange:(id)a0 fromEtag:(id)a1 toEtag:(id)a2;

@end