luxlabs header browser preview


@class NSString, NSArray, VCControlChannel, NSMutableDictionary, NSObject;
@protocol OS_dispatch_queue;

@interface VCSessionMessageTopic : NSObject {
    NSArray *associatedStrings;
    BOOL allowConcurrent;
    BOOL requireReliable;
    NSObject<OS_dispatch_queue> *outMessageQueue;
    VCControlChannel *controlChannel;
    NSObject<OS_dispatch_queue> *inMessageQueue;
    id /* block */ sendMessageCompletionBlock;
    id /* block */ sendMessageDataCompletionBlock;
    id /* block */ receiveMessageBlock;
    id /* block */ receiveMessageDictionaryBlock;
    long long latestOutgoingMessageIndex;
    BOOL shouldEncodeTopicKeyInMessage;
    NSMutableDictionary *transactionCache;
}

@property (nonatomic, setter=setIsSendingEnabled:) BOOL isSendingEnabled;
@property (readonly, nonatomic) NSString *topicKey;

- (void)dealloc;
- (void)sendMessage:(id)a0;
- (void)clearTransactionCacheForParticipant:(id)a0;
- (int)expectedMessageType;
- (void)handleSendMessageDidSucceed:(BOOL)a0 message:(id)a1 participantID:(id)a2;
- (id)initWithTopicKey:(id)a0 strings:(id)a1 allowConcurrent:(BOOL)a2 controlChannel:(id)a3 sendCompletionHandler:(id /* block */)a4 receiveHandler:(id /* block */)a5;
- (id)initWithTopicKey:(id)a0 strings:(id)a1 allowConcurrent:(BOOL)a2 requireReliable:(BOOL)a3 controlChannel:(id)a4 sendCompletionHandler:(id /* block */)a5 receiveHandler:(id /* block */)a6 sendMessageDataCompletionHandler:(id /* block */)a7 receiveMessageDictionaryHandler:(id /* block */)a8;
- (id)initWithTopicKey:(id)a0 strings:(id)a1 allowConcurrent:(BOOL)a2 requireReliable:(BOOL)a3 controlChannel:(id)a4 sendMessageDataCompletionHandler:(id /* block */)a5 receiveMessageDictionaryHandler:(id /* block */)a6;
- (BOOL)isDuplicateMessageID:(id)a0 messageHistory:(id)a1 participantID:(id)a2;
- (BOOL)isPayloadAssociated:(id)a0;
- (id)messageForCommand:(id)a0;
- (void)passMessage:(id)a0 sequence:(int)a1 fromParticipant:(id)a2;
- (void)purgeExpiredEntries:(double)a0 messageHistory:(id)a1 participantID:(id)a2;
- (void)sendMessage:(id)a0 participantID:(unsigned long long)a1;
- (void)sendMessage:(id)a0 participantID:(unsigned long long)a1 withSequence:(long long)a2 numRetries:(long long)a3;
- (BOOL)sendReliableMessage:(id)a0 participantID:(unsigned long long)a1 withOptions:(id)a2 completion:(id /* block */)a3;

@end