luxlabs header browser preview


@class NSMutableDictionary, NSURL, NPLocation, NSDate, NSObject, NSPNetworkAgent, NPWaldoLocationManager, NSDictionary, NPTuscanyEdge, NSString, NPKeyBag, NSArray, NSData, NSNumber, NWNetworkAgentRegistration, NSUUID;
@protocol OS_dispatch_source, OS_dispatch_queue, NPWaldoDelegate;

@interface NPWaldo : NSObject <NSSecureCoding, NSCopying> {
    NSDictionary *_currentNetworkCharacteristics;
    NSArray *_edges;
    NSArray *_allOnRamps;
}

@property (class, readonly) BOOL supportsSecureCoding;

@property (retain) NSMutableDictionary *networkInformation;
@property (retain) NSArray *allOnRamps;
@property BOOL daypassRefreshInProgress;
@property (readonly) NSArray *currentEdges;
@property long long currentEdgeIndex;
@property (readonly) NPTuscanyEdge *nextEdge;
@property (readonly) NSArray *currentEdgeList;
@property BOOL reprocessCancelled;
@property unsigned int generation;
@property (retain) NSObject<OS_dispatch_source> *reprocessSamplingTimer;
@property (retain) NWNetworkAgentRegistration *agentRegistration;
@property (retain) NSUUID *configurationIdentifier;
@property (readonly) NSObject<OS_dispatch_queue> *reprocessQueue;
@property (readonly) id /* block */ latencyComparator;
@property (retain) NSData *updateHash;
@property BOOL reResolve;
@property (readonly) NSString *identifier;
@property (readonly) long long source;
@property (copy) NSNumber *timestamp;
@property (copy) NSNumber *version;
@property (copy) NSString *dayPassHostname;
@property (copy) NSNumber *dayPassHostnamePrependLabel;
@property (copy) NSNumber *dayPassPort;
@property (copy) NSNumber *dayPassRequestTimeout;
@property (copy) NSString *dayPassLeafOID;
@property (copy) NSNumber *dayPassRevocationFailClosed;
@property (copy) NSNumber *dayPassExtendedValidation;
@property (copy) NSNumber *dayPassEnableSessionTicket;
@property (copy) NSArray *dayPassSoftExpiry;
@property (copy) NSNumber *enableLatencyDerivation;
@property (copy) NSNumber *latencyFactorA;
@property (copy) NSNumber *latencyFactorB;
@property (copy) NSNumber *latencyFactorX;
@property (copy) NSNumber *edgeFairnessFactor;
@property (copy) NSNumber *locationCheckInterval;
@property (copy) NSNumber *locationTTL;
@property (copy) NSNumber *locationToleranceDistance;
@property (copy) NSNumber *viewSize;
@property (copy) NSNumber *probePause;
@property (copy) NSNumber *probeTFO;
@property (copy) NSNumber *probeNoTFOCookie;
@property (copy) NSNumber *probeTimeout;
@property (copy) NSNumber *retryPause;
@property (copy) NSNumber *signatureLimit;
@property (copy) NSNumber *observedRTTSampleSize;
@property (copy) NSNumber *reprocessSamplingInterval;
@property (copy) NSNumber *reprocessSampleSize;
@property (copy) NSNumber *connectionIdleTimeoutMaximum;
@property (copy) NSString *tag;
@property (copy) NSURL *telemetryURL;
@property (copy) NSString *telemetryService;
@property (copy) NSNumber *useGeohashFromServer;
@property (copy) NSNumber *edgeSelectionEnabled;
@property (copy) NSNumber *edgeSelectionAlpha;
@property (copy) NSNumber *edgeSelectionWindowSize;
@property (copy) NSNumber *enableIPv6;
@property (copy) NSArray *edges;
@property (copy) NSNumber *requireTFO;
@property (copy) NSNumber *TFOLeeway;
@property (readonly) BOOL isIPv6Enabled;
@property (copy) NSNumber *edgesGeneration;
@property (copy) NSNumber *usedEdgesGeneration;
@property (readonly) NPTuscanyEdge *currentEdge;
@property (readonly) unsigned long long edgeCount;
@property (readonly) BOOL hasEdges;
@property (readonly) long long dayPassFetchCount;
@property (readonly) NSDate *currentNetworkLastUsed;
@property (retain, nonatomic) NSString *hostname;
@property (weak) id<NPWaldoDelegate> delegate;
@property BOOL shouldSave;
@property (readonly) NSDate *expirationDate;
@property (readonly) unsigned long long probeSize;
@property (retain, nonatomic) NPLocation *cachedLocation;
@property (retain, nonatomic) NSDate *locationCheckTimestamp;
@property (retain, nonatomic) NSDate *locationExpiration;
@property (retain, nonatomic) NPWaldo *defaults;
@property (retain, nonatomic) NSPNetworkAgent *agent;
@property (retain, nonatomic) NPKeyBag *keybag;
@property (retain, nonatomic) NPWaldoLocationManager *locationManager;
@property BOOL reprocessPending;

+ (id)createEndpointFromHostList:(id)a0 defaultPortString:(id)a1 allowIPv6:(BOOL)a2;

- (id)init;
- (void)removeFromKeychain;
- (void)encodeWithCoder:(id)a0;
- (void)link;
- (id)description;
- (void).cxx_destruct;
- (void)teardownNetworkAgent;
- (id)initWithCoder:(id)a0;
- (id)copyWithZone:(struct _NSZone { } *)a0;
- (void)saveToKeychain;
- (void)resolveWithCompletionHandler:(id /* block */)a0;
- (id)onRampForIndex:(id)a0;
- (long long)indexOfBestEdge;
- (id)initFromKeychainWithIdentifier:(id)a0;
- (void)rebuildLatencyMapAllSignatures:(BOOL)a0;
- (void)reprocessWithCompletionHandler:(id /* block */)a0;
- (void)ageOutLatencyMap;
- (void)cancelProbes;
- (void)cleanupStaleKeys;
- (id)copyEdgeList:(id)a0;
- (id)copyEdgeListRTTAverage:(id)a0 observed:(BOOL)a1 shortDescription:(BOOL)a2;
- (id)copyEdgeSelectionTelemetry;
- (id)copyLatencyInfoDictionary:(BOOL)a0 copyAll:(BOOL)a1;
- (id)copyStateIncludeDistance:(BOOL)a0;
- (id)createEdgeLatenciesToProbeWithEdgeIndex:(unsigned long long)a0 startSampleCount:(unsigned long long *)a1;
- (id)currentNetworkInfo;
- (id)edgeAtIndex:(long long)a0;
- (id)edgeContainingOnRamp:(id)a0;
- (void)establishTrustWithCompletionHandler:(id /* block */)a0;
- (long long)getCurrentNetworkInterfaceType;
- (void)getDayPassRTT;
- (long long)getFallbackReasonForLatencies:(id)a0;
- (void)handleUsageReport:(id)a0;
- (void)incrementSessionCounters;
- (id)initWithIdentifier:(id)a0 timestamp:(id)a1 fromDictionary:(id)a2 source:(long long)a3;
- (void)initializeEdgeSelection;
- (BOOL)isEndpointProbed:(id)a0 parameters:(struct networkParameters { BOOL x0; BOOL x1; } *)a1 latencies:(id)a2 checkSampleSize:(BOOL)a3 incompleteLatency:(id *)a4;
- (BOOL)isLatenciesCompleteForNetwork:(id)a0;
- (void)linkAllSignatures:(BOOL)a0;
- (void)linkLatenciesAllSignatures:(BOOL)a0;
- (void)loadObservedRTTSamples:(id)a0;
- (void)logEdgeList:(id)a0 debug:(BOOL)a1 toStdout:(BOOL)a2;
- (void)logLatencyInfoToStdout:(BOOL)a0 logAll:(BOOL)a1 logEdgeSelection:(BOOL)a2;
- (void)merge:(id)a0 missingSettingsOnly:(BOOL)a1;
- (void)mergeEdgeList:(id)a0 forNetworkSignature:(id)a1;
- (void)pushKeybagToKernel;
- (void)pushKeybagToKernelCanReuse:(BOOL)a0;
- (void)pushKeybagToKernelUpdateGeneration:(BOOL)a0;
- (void)refreshDayPassesWithCompletionHandler:(id /* block */)a0;
- (void)removeDayPassesFromKernel;
- (void)reprocessAdHocWithEdgeIndex:(unsigned long long)a0 completionHandler:(id /* block */)a1;
- (void)reprocessEdgeAtIndex:(unsigned long long)a0 networkSignature:(id)a1 completionHandler:(id /* block */)a2;
- (void)reprocessLatencies:(id)a0 sampleCount:(unsigned long long)a1 completionHandler:(id /* block */)a2;
- (BOOL)reprocessWithNewRTT:(unsigned long long)a0 reProbe:(BOOL *)a1;
- (void)resortEdgeListForCurrentNetworkSignature;
- (void)setCurrentNetworkCharacteristics:(id)a0;
- (BOOL)shouldFetchWaldo;
- (BOOL)shouldPerformDayPassRefresh;
- (void)startProbingEdges:(id)a0 atIndex:(unsigned long long)a1 doneCount:(unsigned long long)a2 sampleCount:(unsigned long long)a3 completionHandler:(id /* block */)a4;
- (void)timestampNetworkSignature:(id)a0;
- (void)updateEdgeSelection:(unsigned long long)a0;
- (void)updateMetaDataNeedProbe:(BOOL)a0 refresh:(BOOL)a1 push:(BOOL)a2 minRTT:(unsigned long long)a3;
- (void)updateNetworkAgentWithKeybag:(id)a0 networkInfo:(id)a1;
- (BOOL)validateEdgeList:(id)a0;

@end