luxlabs header browser preview


@class NSString, SDMAdviceChange, NSSet, FlowScrutinizer, NSMutableDictionary, WiFiViabilityMonitor, NSMutableSet, FlowOracle, FlowRefreshScheduler, NSObject;
@protocol OS_dispatch_queue, CellThroughputAdviserDelegate;

@interface CellThroughputAdviser : NSObject <FlowScheduledRefreshDelegate> {
    BOOL _pollInProgress;
    double _currentPollingRate;
    long long _pollingCancelToken;
    FlowRefreshScheduler *_refreshScheduler;
    unsigned int _reportedAdvice;
    unsigned long long _reportedCause;
    unsigned long long _initiallyReportedCause;
    unsigned int _wifiViability;
    BOOL _traceVerbose;
    BOOL _avUseCasesSupported;
    BOOL _interfaceThresholdsResponsive;
    double _lastStateUpdate;
    double _lastActivityStatsUpdate;
    double _sampleStartTime;
    double _lastHighInterfaceUse;
    double _lastTransferSizeUsageTimestamp;
    double _lastAssetDownloadUsageTimestamp;
    double _lastBackgroundTransferNotifiedTimestamp;
    double _lastBackgroundTransferUsageTimestamp;
    double _lastHighInterfaceUseDampeningInterval;
    double _lastHighTransferSizeDampeningInterval;
    double _lastPromotedTransferSizeDampeningInterval;
    double _totalActiveTime;
    double _totalDisabledTime;
    double _totalQuiesceTime;
    double _totalInferredSleepTime;
    double _inactivityTimeoutForQuiesce;
    double _lastAudioVideoReport;
    double _minTimeIntervalBetweenAVThroughputReport;
    unsigned long long _numPolls;
    double _lastPollTime;
    double _pollIntervalHistogramResetTime;
    unsigned int _pollIntervalHistogram[36];
    double _minTransferSizeThroughputForUpgrade;
    double _minDisplayOnTransferSizeThroughputForUpgrade;
    double _minTransferSizeThroughputForContinuedUpgradeSub6;
    double _minTransferSizeThroughputForContinuedUpgradeMmWave;
    double _minTransferSizeThroughputForContinuedUpgradeRequest;
    double _minAssetDownloadThroughputForUpgrade;
    double _minAssetDownloadThroughputForContinuedUpgradeRequest;
    double _minAssetDownloadThroughputForContinuedUpgradeSub6;
    double _minAssetDownloadThroughputForContinuedUpgradeMmWave;
    double _maxAssetDownloadDurationBelowThreshold;
    double _minBackgroundTransferThroughputForUpgrade;
    double _minBackgroundTransferThroughputForContinuedUpgradeRequest;
    double _minBackgroundTransferThroughputForContinuedUpgradeSub6;
    double _minBackgroundTransferThroughputForContinuedUpgradeMmWave;
    double _maxBackgroundTransferDurationBelowThreshold;
    NSMutableSet *_backgroundTransfers;
    unsigned int _numLowerTransferThresholdFlowsForUpperThreshold;
    unsigned int _numDisplayOnLowerTransferThresholdFlowsForUpperThreshold;
    unsigned int _adviceForSustainedHighInterfaceThroughput;
    unsigned int _adviceForModestAVFlows;
    unsigned int _adviceForModestAVFlowsLowerCertainty;
    unsigned int _adviceForBusyAVFlows;
    unsigned int _adviceForBusyAVFlowsLowerCertainty;
    unsigned int _stateLogLevel;
    unsigned int _stateLogLevelForVerbose;
    unsigned int _dispatchAfterSeqno;
    unsigned int _powerLogSeqno;
    unsigned int _CAMetricSeqno;
    double _CAtimeOfLastReport;
    BOOL _quiesced;
    WiFiViabilityMonitor *_wifiViabilityMonitor;
    NSMutableDictionary *_pendingPowerLogReport;
    SDMAdviceChange *_pendingCASDMAdviceChangeReport;
    NSSet *_previousSampleContributors;
    NSSet *_CApreviousAdviceInitiators;
    BOOL _CApreviousIsScreenDark;
    BOOL _CApreviousIsScreenLocked;
    NSMutableSet *_pendingDelayDetails;
}

@property (retain, nonatomic) FlowOracle *flowOracle;
@property (retain, nonatomic) FlowScrutinizer *flowScrutinizer;
@property (nonatomic) BOOL enabled;
@property (nonatomic) BOOL isScreenDark;
@property (nonatomic) BOOL isScreenLocked;
@property (nonatomic) char nrFrequencyBand;
@property (nonatomic) unsigned int adminAdviceOverride;
@property (nonatomic) unsigned int targetAdviceLevel;
@property (nonatomic) double propertyChangeTimestamp;
@property (retain, nonatomic) NSObject<OS_dispatch_queue> *queue;
@property (weak, nonatomic) id<CellThroughputAdviserDelegate> delegate;
@property (readonly, nonatomic) double exploreExploitLearningRatioForHighTransferSize;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (id)sharedInstance;

- (void)restoreDefaults;
- (id)init;
- (int)configureInstance:(id)a0;
- (int)didPollFlowsCallbackOrder;
- (void)postAWDMetric:(id)a0 withIdentifier:(unsigned int)a1;
- (void)observeValueForKeyPath:(id)a0 ofObject:(id)a1 change:(id)a2 context:(void *)a3;
- (void).cxx_destruct;
- (id)_getState:(BOOL)a0;
- (id)getStateAt:(double)a0;
- (void)postCAEvent:(id)a0 withName:(id)a1;
- (void)didPollFlowsAt:(double)a0 periodic:(BOOL)a1;
- (void)_refreshAdvice:(int)a0;
- (void)_updateSDMAdviceMetricState:(id)a0 at:(double)a1;
- (void)performActivityStatsTimekeeping;
- (BOOL)_CAActionForNewAdvice:(unsigned int)a0 cause:(unsigned long long)a1 at:(double)a2;
- (void)quiesce;
- (void)setPollingRate:(double)a0;
- (void)_assessActivityStateForQuiesce;
- (unsigned long long)_backgroundTransferActiveCauseForCurrentRadioState;
- (unsigned long long)_backgroundTransferHysteresisCauseForCurrentRadioState;
- (id)_buildSDMAdviceMetricForNewAdvice:(unsigned int)a0 newCause:(unsigned long long)a1 newAdviceInitiators:(id)a2 at:(double)a3;
- (id)_causeInitiators:(unsigned long long)a0;
- (void)_checkPendingTimers:(double)a0;
- (void)_configureFlowOracleThresholds;
- (unsigned long long)_coreMediaAssetDownloadActiveCauseForCurrentRadioState;
- (unsigned long long)_coreMediaAssetDownloadHysteresisCauseForCurrentRadioState;
- (void)_dumpArray:(id)a0;
- (void)_finishPowerLogCollection;
- (id)_getCombinedStateAt:(double)a0;
- (void)_initiatorArray:(id)a0 addOriginNameWithForegroundPrefix:(id)a1;
- (id)_initiatorNameSetFromCauseArray:(id)a0;
- (unsigned long long)_largeTransferContinuesCauseForCurrentRadioState;
- (unsigned long long)_largeTransferFinalHysteresisCauseForCurrentRadioState;
- (unsigned long long)_largeTransferHysteresisCauseForCurrentRadioState;
- (double)_minRequiredBackgroundTransferThroughputForCurrentRadioState;
- (double)_minRequiredCoreMediaAssetDownloadThroughputForCurrentRadioState;
- (double)_minRequiredLargeTransferThroughputForCurrentRadioState;
- (BOOL)_powerLogActionForNewAdvice:(unsigned int)a0 cause:(unsigned long long)a1 at:(double)a2;
- (void)_setPreviousSDMParticipantsOfAdviceChangeMetric:(id)a0;
- (void)_setPriorThroughputOfAdviceChangeMetric:(id)a0 at:(double)a1;
- (void)_setSubsequentThroughputOfAdviceChangeMetric:(id)a0;
- (void)_startPowerLogCollectionFor:(unsigned int)a0;
- (BOOL)checkBackgroundTransferCauses:(unsigned long long *)a0;
- (BOOL)checkCoreMediaAssetDownloadCauses:(unsigned long long *)a0;
- (BOOL)checkLibnetcoreLargeTransferCauses:(unsigned long long *)a0 andOptOuts:(unsigned long long *)a1;
- (long long)configItemToLongLong:(id)a0;
- (id)currentAWDSymptomsCellularSDMPollingStatistics;
- (id)currentAWDSymptomsCellularSDMTimeStatistics;
- (unsigned int)determineAdvice:(unsigned long long *)a0;
- (unsigned int)determineNonCoreMediaRxThroughput:(double *)a0 txThroughput:(double *)a1;
- (void)dumpStateAt:(double)a0 verbose:(BOOL)a1;
- (BOOL)encodingRepresentsInt:(id)a0;
- (BOOL)encodingRepresentsNSString:(id)a0;
- (BOOL)encodingRepresentsNSTimeInterval:(id)a0;
- (BOOL)encodingRepresentsNSUUID:(id)a0;
- (BOOL)encodingRepresentsUint64:(id)a0;
- (int)encodingToInt:(id)a0;
- (id)encodingToNSString:(id)a0;
- (double)encodingToNSTimeInterval:(id)a0;
- (id)encodingToNSUUID:(id)a0;
- (unsigned long long)encodingToUint64:(id)a0;
- (id)jsonForAWDReport:(id)a0;
- (id)jsonForClassification:(id)a0;
- (id)jsonForInt:(int)a0;
- (id)jsonForNSString:(id)a0;
- (id)jsonForSnapshot:(id)a0;
- (id)jsonForTimeInterval:(double)a0 indent:(int)a1;
- (id)jsonForUUID:(id)a0;
- (id)jsonForUint64:(unsigned long long)a0;
- (void)noteAdviceForMetrics:(unsigned int)a0 cause:(unsigned long long)a1;
- (void)notePollIntervalForMetrics:(double)a0;
- (void)noteSizeableBackgroundTransferEventName:(id)a0 event:(unsigned long long)a1 downloadSizeBytes:(unsigned long long)a2 uploadSizeBytes:(unsigned long long)a3 at:(double)a4;
- (void)performAction:(id)a0 verbose:(BOOL)a1;
- (void)reportPeriodicAWDStatistics;
- (void)sendSDMAdviceChangeMetric:(id)a0;
- (void)setTimerCallbackWithSimulatedDelay:(double)a0 context:(id)a1;
- (void)unquiesce;
- (void)willPollFlows;

@end