@class NSMutableDictionary, NSMutableSet, PhysicalInterfaceSampler, NSMutableArray; @interface FlowScrutinizer : NSObject { long long _numNotedAsFGAudioVideoTC; long long _numNotedAsCellFGAudioVideoTC; long long _numNotedAsWiFiFGAudioVideoTC; double _lastSampleTimeIntervalSinceReferenceDate; long long _totalCellAudioVideoRxBytes; long long _totalCellAudioVideoTxBytes; long long _totalWiFiAudioVideoRxBytes; long long _totalWiFiAudioVideoTxBytes; long long _lastSampledCellAudioVideoRxBytes; long long _lastSampledCellAudioVideoTxBytes; long long _lastSampledWiFiAudioVideoRxBytes; long long _lastSampledWiFiAudioVideoTxBytes; double _lastAudioVideoSampleTimeIntervalSinceReferenceDate; double _minCoreMediaAssetDownloadEstimatedDuration; double _transferSizeFlowFailedThresholdQuarantineTime; double _maxFlowIdleTimeWhileMarkedWithTransferSize; unsigned long long _numFlowsScrutinized; unsigned long long _numExpectedTransferSymptoms; unsigned long long _numMatchedExpectedTransferSymptoms; unsigned long long _numDelayedMatchExpectedTransferSymptoms; unsigned long long _numDupDelayedMatchExpectedTransferSymptoms; unsigned long long _numClosedFlowsForExpectedTransferSymptoms; unsigned long long _maxContinuouslyActiveSamples; unsigned long long _maxAlternatingIdleNonIdleSamples; double _idleDurationStopNonCoreMediaThroughputReporting; NSMutableSet *_cellFlowScrutinyRequesters; NSMutableSet *_wifiFlowScrutinyRequesters; NSMutableSet *_assetDownloadScrutinyRequesters; NSMutableSet *_expectedTransferScrutinyRequesters; BOOL _assetDownloadsScrutinized; BOOL _expectedTransfersScrutinized; int _cellFlowsScrutinized; int _wifiFlowsScrutinized; NSMutableSet *_delegates; } @property (retain, nonatomic) NSMutableDictionary *transferSizeFlows; @property (retain, nonatomic) NSMutableDictionary *originLedgers; @property (retain, nonatomic) NSMutableArray *cellAudioVideoSamples; @property (retain, nonatomic) NSMutableArray *wifiAudioVideoSamples; @property (nonatomic) BOOL hasForegroundAVTrafficClassFlows; @property (nonatomic) BOOL hasForegroundCellAVTrafficClassFlows; @property (nonatomic) BOOL hasForegroundWiFiAVTrafficClassFlows; @property (nonatomic) long long numExpectedTransferSignificantChanges; @property (readonly, nonatomic) BOOL hasForegroundLikelyAVFlows; @property (nonatomic) BOOL cellThroughputAdviserShouldRun; @property (readonly, nonatomic) PhysicalInterfaceSampler *cellInterfaceSampler; @property (readonly, nonatomic) PhysicalInterfaceSampler *wifiInterfaceSampler; @property (readonly, nonatomic) double lastCellInterfaceTrafficTimestamp; @property (readonly, nonatomic) double lastWiFiInterfaceTrafficTimestamp; @property (nonatomic) BOOL accumulateCellAppHistoryEpisodes; @property (readonly, nonatomic) BOOL assetDownloadsScrutinized; @property (readonly, nonatomic) BOOL expectedTransfersScrutinized; @property (readonly, nonatomic) int cellFlowsScrutinized; @property (readonly, nonatomic) int wifiFlowsScrutinized; + (id)sharedInstance; - (void)restoreDefaults; - (void)noteExpectedTransfer:(unsigned long long)a0 inbound:(BOOL)a1 upperThreshold:(BOOL)a2 flowUUID:(id)a3 at:(double)a4; - (id)init; - (void)_handleFlowDeltas:(id)a0 snapshot:(id)a1; - (id)_activityBitmapsWithNames:(id)a0 startTime:(unsigned long long)a1 endTime:(unsigned long long)a2 interface:(unsigned char)a3; - (void)freeActivityBitmapsAtMachAbsTime:(unsigned long long)a0; - (void)getActivityBitmapsWithNames:(id)a0 currMachAbsTime:(unsigned long long)a1 startTime:(unsigned long long)a2 endTime:(unsigned long long)a3 options:(id)a4 reply:(id /* block */)a5; - (void)addFlowStateForOrigin:(id)a0 array:(id)a1; - (void)freeActivityBitmapsOnInterface:(unsigned char)a0 machAbsTime:(unsigned long long)a1; - (void)noteCoreMediaAssetDownloadEvent:(unsigned long long)a0 downloadUUID:(id)a1 byProcess:(id)a2 onBehalfOf:(id)a3 duration:(double)a4 at:(double)a5; - (void)removeDelegate:(id)a0; - (void)_reportClassificationChange:(id)a0 new:(unsigned int)a1 ledger:(id)a2 snapshot:(id)a3; - (id)_getActivityBitmapsWithNames:(id)a0 startTime:(unsigned long long)a1 endTime:(unsigned long long)a2 options:(id)a3 interface:(unsigned char)a4; - (void)addDelegate:(id)a0; - (id)getLedgerState:(BOOL)a0; - (void)updateInterfaceSamplesWithTime:(double)a0 bumpSamples:(BOOL)a1; - (id)_rolledActivityBitmapsWithNames:(id)a0 startTime:(unsigned long long)a1 endTime:(unsigned long long)a2 interface:(unsigned char)a3; - (void)updateAudioVideoSamplesWithTime:(double)a0 bumpSamples:(BOOL)a1; - (void)updateTransferSizeFlowsWithTime:(double)a0; - (void)_coreMediaAssetDownloadCompletion:(id)a0 for:(id)a1 at:(double)a2; - (int)setConfiguration:(id)a0; - (void)expectedTransferScrutinyOnBehalfOf:(id)a0 required:(BOOL)a1; - (void)assetDownloadScrutinyOnBehalfOf:(id)a0 required:(BOOL)a1; - (void)addActivityBitmapFromSnapshot:(id)a0; - (void)clearAVSamplesIfAllIdle:(id)a0 time:(double)a1; - (void)tallyUpActivityBitmapsForInterface:(unsigned char)a0 queue:(id)a1 replyQueue:(id)a2 reply:(id /* block */)a3; - (BOOL)isFlushableOriginLedgerAfterFlushingSubsidiaries:(id)a0; - (void).cxx_destruct; - (void)dumpActivityBitmap; - (void)scrutinizeFlow:(id)a0 withClassification:(id)a1; - (void)cellFlowScrutinyOnBehalfOf:(id)a0 required:(BOOL)a1; - (void)addStateForOrigin:(id)a0 named:(id)a1 array:(id)a2 isExtension:(BOOL)a3 isDelegate:(BOOL)a4 verbose:(BOOL)a5; - (void)flushInactiveLedgers; - (id)getState:(BOOL)a0; - (void)enumerateActivityBitmapsOnInterface:(unsigned char)a0 usingBlock:(id /* block */)a1; - (void)_coreMediaAssetDownloadFlushAll; - (void)wifiFlowScrutinyOnBehalfOf:(id)a0 required:(BOOL)a1; - (unsigned int)_dispositionForPossibleLargeTransferOn:(id)a0 provisionally:(unsigned int)a1; - (id)_findFlowOriginLedgerWithSnapshot:(id)a0; @end