luxlabs header browser preview


@class NSMutableDictionary, NSString, NSData, NSError, NSObject;
@protocol OS_dispatch_queue, CDXClientDelegate, OS_dispatch_source;

@interface CDXClient : NSObject {
    long long holePunchAttemptCount_;
    NSMutableDictionary *sessionLookup_;
    int fd_;
    unsigned long long holePunchSID_;
    unsigned long long prevHolePunchSID_;
    NSString *server_;
    unsigned short port_;
    unsigned short localPort_;
    long long restartCount_;
    struct sockaddr_in { unsigned char sin_len; unsigned char sin_family; unsigned short sin_port; struct in_addr { unsigned int s_addr; } sin_addr; char sin_zero[8]; } cdxaddr_ipv4;
    struct addrinfo { int x0; int x1; int x2; int x3; unsigned int x4; char *x5; struct sockaddr *x6; struct addrinfo *x7; } *cdxMappedIPv4Addr;
    double holePunchInterval_;
    BOOL preblobIsUpToDate_;
    BOOL willReconfigureShortly_;
    struct __SCDynamicStore { } *scDynamicStore_;
    struct __CFRunLoopSource { } *scDynamicStoreRunLoopSource_;
    NSObject<OS_dispatch_source> *source_;
    NSObject<OS_dispatch_source> *holePunchTimer_;
    void *padding_[10];
}

@property (readonly, nonatomic) NSObject<OS_dispatch_queue> *queue;
@property (copy, nonatomic) id /* block */ preblobCallback;
@property (nonatomic) id<CDXClientDelegate> delegate;
@property (readonly) NSData *preblob;
@property (readonly, nonatomic) NSError *error;

+ (id)sharedClient;

- (void)dealloc;
- (void)start;
- (void)invalidate;
- (id)initWithOptions:(id)a0 delegate:(id)a1;
- (void)restart;
- (void)setError:(id)a0;
- (const struct sockaddr { unsigned char x0; unsigned char x1; char x2[14]; } *)currentSockAddr;
- (id)createSessionWithTicket:(id)a0 sessionKey:(id)a1;
- (unsigned char)currentSockAddrLen;
- (void)handleFDEvent;
- (BOOL)handleHolePunchEvent;
- (void)invalidateSession:(id)a0;
- (void)mapIPv4AddrToIPv6:(struct sockaddr_in { unsigned char x0; unsigned char x1; unsigned short x2; struct in_addr { unsigned int x0; } x3; char x4[8]; } *)a0;
- (void)networkDidChange;
- (void)resetHolepunchTimer;
- (void)sendHolePunch;
- (BOOL)sendRaw:(id)a0;
- (void)setPreblob:(id)a0;
- (void)startListeningOnSockets;
- (void)stopHolePunchTimer;
- (void)stopListeningOnSockets;

@end