@class NSUUID, NSObject, HMEPendingTopicsCombiner; @protocol HMETimerProvider, HMETimer, OS_os_log, HMETimerIntervalProvider, HMEMessageDatagramClientDelegate, HMEMessageDatagramClientDataSource; @interface HMEMessageDatagramClient : HMERouterClient { NSObject *_logger; } @property (readonly) id connectionRetryIntervalProvider; @property (readonly) id timerProvider; @property (readonly) HMEPendingTopicsCombiner *pendingTopicsCombiner; @property (nonatomic) BOOL isConnected; @property (nonatomic) BOOL hasPendingRequest; @property (nonatomic) BOOL hasPendingServerChangeRequest; @property (readonly) double keepAliveInterval; @property (retain, nonatomic) id keepAliveTimer; @property (retain, nonatomic) id connectionRetryTimer; @property (retain, nonatomic) NSUUID *connectedServerIdentifier; @property (nonatomic) long long connectionMode; @property (readonly) double dormatFetchTimerInterval; @property (retain, nonatomic) id dormantFetchTimer; @property (nonatomic) BOOL dormantFetchConditionsMet; @property (nonatomic) BOOL isWaitingForFetchConditionsWhenDormant; @property (weak) id delegate; @property (weak, nonatomic) id dataSource; - (id)upstreamTopicsForTopic:(id)a0; - (id)forwardingTopicsForTopics:(id)a0; - (id)dumpStateDescription; - (void)serverDidChangeWithServerIdentifier:(id)a0; - (void)updateConnectionMode:(long long)a0 completion:(id /* block */)a1; - (void)connectionCapabilityDidChange; - (void)didReceiveMessageWithCachedEvents:(id)a0 serverIdentifier:(id)a1 completion:(id /* block */)a2; - (void).cxx_destruct; - (BOOL)handleChangeRegistrationsWithTopicFilterAdditions:(id)a0 removals:(id)a1; - (id)initWithQueue:(id)a0 timerProvider:(id)a1 keepAliveInterval:(double)a2 dormantFetchTimerInterval:(double)a3 retryIntervalProvider:(id)a4; - (id)initWithQueue:(id)a0 timerProvider:(id)a1 keepAliveInterval:(double)a2 dormantFetchTimerInterval:(double)a3 retryIntervalProvider:(id)a4 storeReadHandle:(id)a5 storeWriteHandle:(id)a6 logCategory:(const char *)a7; - (void)resetReconnectTimerToInitialState; - (void)didReceiveMessageWithEvents:(id)a0 serverIdentifier:(id)a1 completion:(id /* block */)a2; - (void)updateDormantFetchCondition:(long long)a0 completion:(id /* block */)a1; @end