luxlabs header browser preview


@class NSURL, _SYOutputStreamer, IDSMessageContext, NSMutableDictionary, NSDictionary, SYStartSyncSession, NSObject, SYDevice, IDSService, NSMutableArray, NSMutableIndexSet, _SYInputStreamer, NSString, NSMutableSet;
@protocol OS_dispatch_queue, OS_os_transaction;

@interface SYFileTransferSyncEngine : SYSyncEngine <IDSServiceDelegate> {
    BOOL _inSession;
    BOOL _sessionCanceled;
    SYStartSyncSession *_sessionStartMessage;
    NSURL *_outputFileURL;
    _SYOutputStreamer *_outputStream;
    NSURL *_inputFileURL;
    _SYInputStreamer *_inputStream;
    IDSMessageContext *_inputPriorityBoostContext;
    NSURL *_responseFileURL;
    _SYOutputStreamer *_responseStream;
    BOOL _responsesCanceled;
    IDSService *_idsService;
    SYDevice *_activeDevice;
    SYDevice *_sessionDevice;
    SYDevice *_responseDevice;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _idsQueueLock;
    NSObject<OS_dispatch_queue> *_idsQueue;
    BOOL _idsQueueIsSuspended;
    BOOL _idsQueueResumedLock;
    NSMutableIndexSet *_messageRows;
    NSMutableIndexSet *_responseMessageRows;
    NSMutableArray *_deferredIncomingSessions;
    NSMutableSet *_singleMessageUUIDs;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _messageMapLock;
    NSMutableDictionary *_messageIDsToSessionIDs;
    NSObject<OS_os_transaction> *_closureTransaction;
    NSObject<OS_os_transaction> *_responseSessionTransaction;
}

@property (copy, nonatomic) NSDictionary *customIDSOptions;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

- (BOOL)resume:(id *)a0;
- (void)service:(id)a0 account:(id)a1 incomingResourceAtURL:(id)a2 metadata:(id)a3 fromID:(id)a4 context:(id)a5;
- (void)service:(id)a0 nearbyDevicesChanged:(id)a1;
- (void)service:(id)a0 account:(id)a1 identifier:(id)a2 didSendWithSuccess:(BOOL)a3 error:(id)a4 context:(id)a5;
- (void)dealloc;
- (void)suspend;
- (void)service:(id)a0 account:(id)a1 identifier:(id)a2 hasBeenDeliveredWithContext:(id)a3;
- (void)beginSession;
- (void)endSession;
- (void)service:(id)a0 didSwitchActivePairedDevice:(id)a1 acknowledgementBlock:(id /* block */)a2;
- (void).cxx_destruct;
- (id)stateForLogging;
- (void)service:(id)a0 connectedDevicesChanged:(id)a1;
- (id)initWithService:(id)a0 queue:(id)a1;
- (void)service:(id)a0 account:(id)a1 incomingData:(id)a2 fromID:(id)a3 context:(id)a4;
- (BOOL)isInSession;
- (void)_processNMSMessageData:(id)a0 context:(id)a1;
- (BOOL)buffersSessions;
- (void)_handleIncomingSessionFileAtURL:(id)a0 metadata:(id)a1 identifier:(id)a2 idsContext:(id)a3;
- (void)_resumeIdsQueue;
- (id)_wrapResponse:(id)a0 toRequest:(id)a1 ofType:(unsigned short)a2;
- (void)endFileTransferForStream:(id)a0 atURL:(id)a1 target:(id)a2 wasCancelled:(BOOL)a3 messageRows:(id)a4;
- (id)_assumeOwnershipOfURL:(id)a0 error:(id *)a1;
- (void)_cancelResponses;
- (void)_cancelSession;
- (void)_consumeRemainingStreamDataWithIdentifier:(id)a0 completion:(id /* block */)a1;
- (unsigned long long)_crcChecksum:(id)a0;
- (void)_enqueueSingleMessage:(id)a0 withMessageID:(unsigned short)a1 priority:(long long)a2 options:(id)a3 userContext:(id)a4 callback:(id /* block */)a5;
- (id)_fileTransferHeader;
- (void)_handleError:(id)a0 messageID:(id)a1 streamer:(id)a2;
- (void)_handleIncomingSessionFileAtOwnedURL:(id)a0 metadata:(id)a1 identifier:(id)a2 idsContext:(id)a3;
- (void)_handleIncomingStreamDataWithIdentifier:(id)a0 completion:(id /* block */)a1;
- (void)_handleProtobuf:(id)a0 ofType:(unsigned short)a1 identifier:(id)a2 isResponse:(BOOL)a3 withCompletion:(id /* block */)a4;
- (void)_handleSessionRestart:(id)a0 priority:(long long)a1 options:(id)a2 userContext:(id)a3 callback:(id /* block */)a4;
- (void)_readNextProtobuf:(id /* block */)a0;
- (void)_reallyHandleSessionRestart:(id)a0 priority:(long long)a1 options:(id)a2 userContext:(id)a3 callback:(id /* block */)a4;
- (void)_recordLastSeqNo:(id)a0;
- (BOOL)_sessionDeviceCanUseSingleMessages;
- (BOOL)_shouldTreatAsSessionEnd:(id)a0;
- (void)_suspendIdsQueue;
- (id)_wrapIncomingMessage:(id)a0 ofType:(unsigned short)a1 identifier:(id)a2;
- (id)_wrapIncomingResponse:(id)a0 ofType:(unsigned short)a1 identifier:(id)a2;
- (id)_wrapMessage:(id)a0 ofType:(unsigned short)a1 userInfo:(id)a2;
- (void)beginResponseSession;
- (BOOL)buffersHandshake;
- (id)cancelMessagesReturningFailures:(id)a0;
- (void)endResponseSession;
- (void)enqueueSyncRequest:(id)a0 withMessageID:(unsigned short)a1 priority:(long long)a2 options:(id)a3 userContext:(id)a4 callback:(id /* block */)a5;
- (id)idsOptions:(id)a0;
- (id)idsOptions:(id)a0 forFileTransfer:(BOOL)a1;
- (id)outputStreamWithMetadata:(id)a0 priority:(long long)a1 options:(id)a2 context:(id)a3 error:(id *)a4;
- (BOOL)targetIsNearby;

@end