luxlabs header browser preview


@class NSMutableDictionary, CellThroughputAdviser, FlowScrutinizer, NSDate, NSObject, NSDictionary, FlowRefreshScheduler, CoreTelephonyShim, RepeatedConnFailureDetector, NWStatsManager, NSString, AppAnalytics, ProcessAnalytics, ObjectAnalytics, CellularStateRelay, ProxyAnalytics, NetworkAnalyticsStateRelay, UsageAnalytics;
@protocol OS_dispatch_source;

@interface FlowAnalyticsEngine : AnalyticsEngineCore <ProxyAnalyticsDelegate, NWStatsManagerDelegate, FlowImmediateRefreshDelegate, CellThroughputAdviserDelegate, ManagedEventInfoProtocol> {
    UsageAnalytics *uspace;
    ProcessAnalytics *pspace;
    AppAnalytics *aspace;
    ObjectAnalytics *calspace;
    NSMutableDictionary *processCache;
    NSMutableDictionary *appState;
    NSMutableDictionary *appCompactState;
    NSMutableDictionary *pluginToBundleCache;
    NSMutableDictionary *audioBundleCache;
    NSMutableDictionary *webBrowserBundleCache;
    NSMutableDictionary *allAppEndpoints;
    NSMutableDictionary *resolvedAppEndpoints;
    NSMutableDictionary *determinedTrackersFromAPICount;
    NWStatsManager *nstatManager;
    BOOL nstatManagerConfigured;
    int cellularInterfaceIndex;
    NSDate *lastCellularThresholdRefreshTime;
    NSString *networkUsageTraceFileRootName;
    int nstatTraceFileFD;
    struct ct_green_tea_logger_s { } *_greenTeaLogger;
    unsigned long long logStateHandle;
    NSObject<OS_dispatch_source> *siginfo;
    unsigned int pdpBitmap;
    id /* block */ dataUsageRefreshCompletionBlock;
    int dataUsageRefreshCompletionNumWaiting;
    NSDate *lastFullRefreshTime;
    id tetherObserver;
    BOOL isTetherActive;
    id algosScoreObserver;
    id appStateChangeObserver;
    id cellTCCapabilityObserver;
    id transferSizeObserver;
    id assetDownloadObserver;
    id sizeableBackgroundTransferObserver;
    id cellThroughputAdvisoryReqObserver;
    CellThroughputAdviser *cellThroughputAdviser;
    NSDictionary *throughputAdviserConfigurationParameters;
    NSObject<OS_dispatch_source> *throughputAdvicePollingTimer;
    double throughputAdvicePollingInterval;
    unsigned long long assetDownloadProcessId;
    RepeatedConnFailureDetector *repeatedConnFailureDetector;
    FlowScrutinizer *flowScrutinizer;
    NSObject<OS_dispatch_source> *flushInactiveLedgerTimer;
    FlowRefreshScheduler *refreshScheduler;
    NSMutableDictionary *flowCache;
    NSMutableDictionary *flowInstant;
    id flowObserver;
    id relayReadyObserver;
    ObjectAnalytics *fspace;
    ObjectAnalytics *lfpspace;
    ObjectAnalytics *domspace;
    ObjectAnalytics *expspace;
    ObjectAnalytics *epspace;
    NSObject<OS_dispatch_source> *flushOldFlowRecordsTimer;
    BOOL isScreenDark;
    NSDate *screenDarkTimestamp;
    BOOL isScreenLocked;
    char _nrFrequencyBand;
    id userSwitchObserver;
    id domainResolvingObserver;
    id userAppTrackingObserver;
    id userEndpointTrackingObserver;
    BOOL appTrackingEnabled;
    BOOL endpointTrackingEnabled;
    NSMutableDictionary *snapshotFlowUUIDs;
    NSMutableDictionary *trackedSourceIDs;
    double domainUsageBucketDuration;
    unsigned long long usageCoalescingSpanSecs;
    unsigned long long usageWindowUnitsCount;
    unsigned long long outcomeArrayLogEntryCount;
    BOOL flowCountExceededThreshold;
    BOOL thunderingHerdFlowCountExceededThreshold;
    unsigned long long trackedFlowCountSincePrimaryInterfaceChanged;
    CoreTelephonyShim *ctShim;
}

@property (retain) CellularStateRelay *cellRelay;
@property (retain) NetworkAnalyticsStateRelay *wifiRelay;
@property (retain) NetworkAnalyticsStateRelay *mostRecentPrimaryRelay;
@property (nonatomic) BOOL delegateToProxyAnalytics;
@property (retain, nonatomic) ProxyAnalytics *proxyAnalytics;
@property BOOL haveCalendar;
@property BOOL haveTypicalUsage;
@property (readonly, nonatomic) NSMutableDictionary *flowWatchers;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (id)sharedInstance;
+ (void)workspaceSaveWithCallback:(id /* block */)a0;
+ (void)checkForegroundStateForProcessWithUUID:(id)a0 replyQueue:(id)a1 reply:(id /* block */)a2;
+ (BOOL)appBundleIdentifierIsWebBrowser:(id)a0;
+ (void)summaryAppDomainUsageBy:(unsigned int)a0 reply:(id /* block */)a1;
+ (void)performAppTrackingPeriodicActivityWithReply:(id /* block */)a0;
+ (void)recentUsageForApps:(id)a0 replyQueue:(id)a1 reply:(id /* block */)a2;
+ (void)identifierForUUID:(id)a0 replyQueue:(id)a1 reply:(id /* block */)a2;
+ (void)appsWithFlowsPassingTest:(id /* block */)a0 replyQueue:(id)a1 reply:(id /* block */)a2;
+ (void)performAppPeriodicActivityWithReply:(id /* block */)a0;
+ (void)endRNFPeriod;
+ (void)performAppExperiencePeriodicActivityWithReply:(id /* block */)a0;
+ (void)performAppTrackingActionWithOptions:(id)a0 userId:(unsigned int)a1 reply:(id /* block */)a2;
+ (void)performAppEndpointTrackingPeriodicActivityWithReply:(id /* block */)a0;
+ (id)queue;
+ (id)appBundleIdentifierFromAuditToken:(struct { unsigned int x0[8]; })a0;
+ (id)appBundleIdentifierFromBundleIdentifier:(id)a0;

- (void)_dumpState;
- (void)_generateInfoForId:(unsigned long long)a0 context:(const char *)a1 uuid:(id)a2 completionBlock:(id /* block */)a3;
- (void)generateInfoForId:(unsigned long long)a0 context:(const char *)a1 uuid:(id)a2 completionBlock:(id /* block */)a3;
- (void)clearAppEndpoints:(id)a0;
- (void)relayAudioVideoStatus:(unsigned int)a0 rxThroughput:(double)a1 txThroughput:(double)a2 at:(double)a3 reset:(BOOL)a4;
- (void)handleLaunchServicesApplicationUnregistration:(id)a0;
- (BOOL)_performSystemLevelAppDomainUsageAnalyticsFromDate:(id)a0 toDate:(id)a1;
- (void)_compactUsageForApp:(id)a0 intervalType:(int)a1 givenLastRun:(id)a2;
- (void)clearAppDomainUsageForUserWithID:(unsigned int)a0;
- (void)workspaceSaveWithCallback:(id /* block */)a0;
- (void)_calendarUsageForApp:(id)a0 givenLastRun:(id)a1;
- (id)_flowFetchForName:(id)a0;
- (void)_performAppTrackingPeriodicTasksWithReply:(id /* block */)a0;
- (id)_appDomainUsageBy:(unsigned int)a0 bundleName:(id)a1 forDomain:(id)a2 domainOwner:(id)a3 domainType:(unsigned short)a4 domainClassification:(short)a5 context:(id)a6 contextVerificationType:(unsigned short)a7 initiatedType:(unsigned int)a8;
- (void)createAppEndpointsStorageForUserId:(unsigned int)a0;
- (void)_saveAndUnloadSelectState;
- (void)dealloc;
- (void)_resolveAppEndpointsForUserId:(unsigned int)a0 bundleName:(id)a1;
- (BOOL)_handlesFlowEntity:(id)a0;
- (void)_setupDailyMaintenanceActivity;
- (void)_pruneFlowHistory;
- (void)_updateAppEndpoints:(id)a0 type:(unsigned long long)a1 userId:(unsigned int)a2 bundleName:(id)a3 flowClosing:(BOOL)a4;
- (void)_handleApplicationNotificationCompactForBundleName:(id)a0 edgeMode:(BOOL)a1;
- (void)_archiveAppEndpointsForUserId:(unsigned int)a0 bundleName:(id)a1;
- (BOOL)_isLiveUsageinScope:(id)a0 forTime:(id)a1;
- (void)_reportDomainTrackingDropFor:(id)a0 withCause:(unsigned long long)a1 detail:(id)a2;
- (void)_archiveRecord:(id)a0;
- (void)_performAppDomainUsageAnalytics;
- (unsigned long long)_liveUsageCountForProcess:(id)a0 subscriberTag:(id)a1;
- (id)initWithWorkspace:(id)a0 params:(id)a1 queue:(id)a2;
- (void)_handleApplicationNotificationStateChangedForBundleName:(id)a0 edgeMode:(BOOL)a1 intervalType:(int)a2;
- (void)_removeAllInfoForProcess:(id)a0;
- (id)_processFetchForName:(id)a0 bundle:(id)a1 extension:(id)a2 shouldFillMiss:(BOOL)a3;
- (void)_handleAppTrackingNotification:(id)a0;
- (void)createSnapshotFor:(id)a0 pred:(id)a1 actions:(id)a2 reply:(id /* block */)a3;
- (void)_summaryAppDomainUsageBy:(unsigned int)a0 reply:(id /* block */)a1;
- (void)_updateLiveUsage:(id)a0 wifiIn:(long long)a1 wifiOut:(long long)a2 cellIn:(long long)a3 cellOut:(long long)a4 wiredIn:(long long)a5 wiredOut:(long long)a6 xIn:(long long)a7 xOut:(long long)a8 isJumboFlow:(BOOL)a9 isExpensive:(BOOL)a10 closing:(BOOL)a11;
- (id)_fetchFromFlowCacheWithName:(id)a0;
- (void)stopObservingLaunchServices;
- (void)_handleSIGUSR1;
- (void)getNetworkBitmapsWithNames:(id)a0 startTime:(unsigned long long)a1 endTime:(unsigned long long)a2 options:(id)a3 reply:(id /* block */)a4;
- (void)relayCellThroughputAdvice:(unsigned int)a0 at:(double)a1;
- (id)getOption:(id)a0;
- (id)_fetchFromProcCacheWithName:(id)a0;
- (void)_algosScoreFor:(id)a0 score:(double)a1;
- (void)storeSnapshotFlowUUID:(id)a0 forSourceKey:(id)a1;
- (void)logOutcomeArray:(id)a0;
- (BOOL)_appBundleIdentifierIsWebBrowser:(id)a0;
- (id)_parseEvent:(id)a0 withGeneration:(id *)a1;
- (void)_logExcessCellUsage:(long long)a0 snapshot:(id)a1;
- (void)_noteSizeableBackgroundTransferEvent:(id)a0;
- (void)_sendStatisticsReport:(id)a0;
- (void)identifierForUUID:(id)a0 queue:(id)a1 reply:(id /* block */)a2;
- (void)_performAppPeriodicTasksWithReply:(id /* block */)a0;
- (void)pollFlows;
- (void)_updateDeterminedTrackersFromAPICountForUserId:(unsigned int)a0 bundleName:(id)a1 increment:(unsigned long long)a2;
- (BOOL)handlesEntity:(id)a0;
- (void)_updateTetheringUsage:(BOOL)a0;
- (void)_handleEndpointTrackingNotification:(id)a0;
- (void)performThresholdingOn:(id)a0 forKey:(id)a1 andValue:(id)a2 connection:(id)a3 createdBlock:(id /* block */ *)a4 hitBlock:(id /* block */)a5 errorBlock:(id /* block */)a6;
- (id)_has1stPartyImpliedBundleNameBehavior:(id)a0;
- (void)_setupNotificationCenterAndRelayObservers;
- (int)_performQueryOnEntityFromProcCache:(id)a0 target:(id)a1 pred:(id)a2 found:(id *)a3;
- (void)_insertProcCache:(id)a0 underName:(id)a1;
- (int)performQueryOnEntityFromCache:(id)a0 pred:(id)a1 altpred:(id *)a2 actions:(id)a3 found:(id *)a4;
- (void)_refreshFullDataUsageWithCallback:(id /* block */)a0;
- (void)_generateFlowAnomalySymptom:(unsigned int)a0 currentUsage:(unsigned long long)a1 snapshot:(id)a2;
- (void)removeSnapshotFlowUUIDsForSourceKey:(id)a0;
- (unsigned long long)_submitAppDomainUsageRecordInfoAnalytics;
- (void)performAppTrackingPeriodicTasksComplete:(id)a0 error:(id)a1;
- (void)_recentUsageForApps:(id)a0 replyQueue:(id)a1 reply:(id /* block */)a2;
- (void)_dumpSubFlowCounts;
- (id)_repurposeAppEndpointRecords:(id)a0;
- (void)_fetchAppEndpointsRecordForUserId:(unsigned int)a0 bundleName:(id)a1;
- (void)performQueryPostProcessing:(id)a0 actions:(id)a1 processOutcome:(id)a2;
- (void)_checkCellExcessUsageActions:(unsigned long long)a0 previous:(unsigned long long)a1 snapshot:(id)a2;
- (id)createFlushInactiveLedgerTimer:(id)a0;
- (void)_evalDomainTrackingDropOf:(id)a0;
- (void)_refreshFullDataUsageComplete;
- (void)performAppPeriodicTasksComplete:(id)a0 error:(id)a1;
- (void)_requestDetailedCellFlowMonitoring:(BOOL)a0;
- (void)_startFlowMonitoring;
- (void)_applyCountsTo:(id)a0 fromLiveUsage:(id)a1 mustReset:(BOOL)a2;
- (void)_handleSnapshotForDomains:(id)a0;
- (id)_liveUsageFetchForProcess:(id)a0;
- (void)resetDataFor:(id)a0 nameKind:(id)a1;
- (void)_performAppEndpointTrackingPeriodicTasksWithReply:(id /* block */)a0;
- (void)postAWDMetric:(id)a0 withIdentifier:(unsigned int)a1;
- (void)observeValueForKeyPath:(id)a0 ofObject:(id)a1 change:(id)a2 context:(void *)a3;
- (void)identifierForUUID:(id)a0 reply:(id /* block */)a1;
- (BOOL)_performAppLevelAppDomainUsageAnalyticsFromDate:(id)a0 toDate:(id)a1;
- (BOOL)_processNameIsValid:(id)a0;
- (double)_usageFingerprintForBundleName:(id)a0;
- (void).cxx_destruct;
- (BOOL)_setupSignalHandling;
- (unsigned long long)_pruneAppExperienceRecords;
- (unsigned long long)_clearStaleNetDomainsRecords;
- (BOOL)domainInfoProcessingForSnapshot:(id)a0 process:(id)a1 attributedName:(id)a2 remoteAddress:(id)a3 isWebBrowser:(BOOL)a4;
- (void)_setupPrefsStoreObserving;
- (void)_removeInfoFromWorkspaceForProcess:(id)a0;
- (BOOL)_isLiveUsageInRollingWindow:(id)a0 forTime:(id)a1;
- (id)_attemptConvertingPluginNameToContainingAppName:(id)a0;
- (void)performAppTrackingActionWithOptions:(id)a0 userId:(unsigned int)a1 reply:(id /* block */)a2;
- (int)_performQueryOnEntityFromInstantFlowCache:(id)a0 target:(id)a1 pred:(id)a2 found:(id *)a3;
- (void)submitAppEndpointToDateSPICallMetric;
- (unsigned long long)_clearUninstalledAppEntries;
- (void)_handleSnapshot:(id)a0;
- (BOOL)_setupLocalCache;
- (id)_processFetchForName:(id)a0 bundle:(id)a1 shouldFillMiss:(BOOL)a2;
- (void)_startMonitoringNetworkInterface:(int)a0 usingThreshold:(unsigned long long)a1;
- (void)_endRNFPeriod;
- (void)_changedForegroundState:(BOOL)a0 forBundle:(id)a1;
- (void)usageManager:(id)a0 thresholdReachedOn:(unsigned int)a1;
- (void)_newCoreMediaAssetDownloadEvent:(id)a0;
- (BOOL)_isLiveFlowPerfinScope:(id)a0 forTime:(id)a1 andTag:(id)a2;
- (void)updateEffectiveUserId:(id)a0;
- (void)endpointMaintenanceOnClose:(id)a0;
- (void)postCAEvent:(id)a0 withName:(id)a1;
- (void)_reportThresholdedFlowCount:(unsigned long long)a0 threshold:(unsigned long long)a1;
- (void)_performAppExperiencePeriodicTasksWithReply:(id /* block */)a0;
- (void)_stopMonitoringNetworkInterface:(int)a0;
- (BOOL)_handlesProcEntity:(id)a0;
- (id)setOption:(id)a0;
- (BOOL)_requiresUserValidationPredicateForEntity:(id)a0;
- (id)_appEndpointsInProcess:(id)a0;
- (void)_appsWithFlowsPassingTest:(id /* block */)a0 replyQueue:(id)a1 reply:(id /* block */)a2;
- (void)clearAppEndpointsForUserWithID:(unsigned int)a0;
- (void)_refreshFullDataUsage;
- (void)_didReceiveSnapshot:(id)a0;
- (unsigned long long)_aggregateSumDomainUsageAnalyticsOnField:(id)a0 forPredicate:(id)a1;
- (void)_newExpectedTransfer:(id)a0;
- (BOOL)_bundleBackgroundAudioCapable:(id)a0;
- (void)clearAppDomainUsage:(id)a0;
- (void)_liveUsagePackForProcess:(id)a0 subscriberTag:(id)a1;
- (BOOL)isSnapshotFlowUUIDStored:(id)a0;
- (id)_appExperienceForApp:(id)a0 forTime:(id)a1;
- (unsigned long long)_submitAppEndpointRecordInfoAnalytics;
- (unsigned long long)_clearStaleAppEndpointRecords;
- (void)performQueryOnEntity:(id)a0 fetchRequestProperties:(id)a1 pred:(id)a2 sort:(id)a3 actions:(id)a4 service:(id)a5 connection:(id)a6 reply:(id /* block */)a7;
- (void)_removeOldFlowRecords;
- (void)_clearAppDomainAndEndpointTrackingForUserWithID:(unsigned int)a0;
- (BOOL)_setupObjectAnalyticsWorkspaces:(id)a0;
- (BOOL)_shouldSendStatisticsReport:(id)a0;
- (void)_removeFromProcCache:(id)a0;
- (void)submitNetworkDomainUsageToDateSPICallMetric;
- (id)_trafficEnvelopeToTier:(double)a0;
- (void)performAppEndpointTrackingPeriodicTasksComplete:(id)a0 error:(id)a1;
- (void)performAppExperiencePeriodicTasksComplete:(id)a0 error:(id)a1;
- (void)_checkForegroundStateForProcessWithUUID:(id)a0 replyQueue:(id)a1 reply:(id /* block */)a2;
- (void)startObservingLaunchServices;
- (void)_newFlowData:(id)a0;
- (void)statsManager:(id)a0 didReceiveNWSnapshot:(id)a1;
- (void)sendPowerLogReport:(id)a0 isStart:(BOOL)a1;
- (BOOL)_shouldProcessDomainInfoForBundleID:(id)a0 implicit:(id *)a1 knownToLaunchServices:(BOOL *)a2 ignoredInLaunchServices:(BOOL *)a3 isWebBrowser:(BOOL *)a4;

@end