@class NSHashTable, NSString, ATSignatureProvider, NSMutableDictionary, ATMessageParser, NSMutableSet, NSObject, ATSocket, NSMapTable; @protocol OS_dispatch_source, OS_dispatch_queue, OS_dispatch_group; @interface ATConcreteMessageLink : ATMessageLink { ATMessageParser *_parser; NSMapTable *_outputStreamsToInputStreams; NSMutableDictionary *_sentRequestsByID; NSMutableDictionary *_receivedRequestsByID; NSMutableDictionary *_receivedResponsesByID; NSMutableDictionary *_completionHandlersByRequestID; NSMutableDictionary *_completionHandlersByResponseID; NSMutableDictionary *_requestWritersByID; NSMutableDictionary *_responseWritersByID; NSMutableDictionary *_streamReadersByID; NSMutableSet *_requestWritersPendingStopByID; NSMutableSet *_responseWritersPendingStopByID; NSMutableSet *_requestReadersPendingStopByID; NSMutableDictionary *_requestHandlersByDataClass; NSObject *_requestTimeoutTimer; NSObject *_queue; NSObject *_callbackQueue; NSObject *_handlerAccessQueue; NSObject *_stopReadersAndWritersGroup; BOOL _open; long long _idleTimeoutExceptionCount; long long _keepAliveExceptionCount; unsigned int _nextMessageID; } @property (retain, nonatomic) NSHashTable *observers; @property (nonatomic, getter=isInitialized) BOOL initialized; @property (nonatomic) int endpointType; @property (copy, nonatomic) NSString *identifier; @property (nonatomic) double lastActivityTime; @property (readonly, nonatomic) ATSocket *socket; @property (readonly, copy, nonatomic) NSString *guid; @property (retain, nonatomic) ATSignatureProvider *signatureProvider; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; - (void)close; - (void)dealloc; - (void)removeObserver:(id)a0; - (BOOL)isOpen; - (BOOL)open; - (id)initWithSocket:(id)a0; - (void)sendResponse:(id)a0 withCompletion:(id /* block */)a1; - (void)socketDidClose:(id)a0; - (void).cxx_destruct; - (void)socket:(id)a0 hasDataAvailable:(const char *)a1 length:(long long)a2; - (void)addObserver:(id)a0; - (BOOL)_sendMessage:(id)a0 error:(id *)a1; - (unsigned int)_nextRequestID; - (BOOL)idleTimeoutEnabled; - (id)_getObservers; - (void)addRequestHandler:(id)a0 forDataClass:(id)a1; - (void)_checkMessageTimeouts; - (void)addKeepAliveException; - (void)addTimeoutException; - (void)removeKeepAliveException; - (void)removeTimeoutException; - (void)sendRequest:(id)a0 withCompletion:(id /* block */)a1; - (void)sendResponse:(id)a0 withProgress:(id /* block */)a1 completion:(id /* block */)a2; - (void)_invokeCompletionHandlerForResponseID:(unsigned long long)a0 withError:(id)a1; - (BOOL)_isWriterPendingStopForforMessage:(id)a0; - (void)_prepareStreamReaderForMessage:(id)a0 withProgress:(id /* block */)a1; - (void)_processIncomingDataRequest:(id)a0; - (void)_processIncomingDataResponse:(id)a0; - (void)_processIncomingMessage:(id)a0; - (void)_processIncomingPartialResponse:(id)a0; - (void)_processIncomingRequest:(id)a0; - (void)_processIncomingResponse:(id)a0; - (void)_stopWriter:(id)a0 byInjectingStreamError:(struct { long long x0; int x1; } *)a1 forMessageId:(unsigned int)a2 type:(int)a3; - (void)removeRequestHandlerForDataClass:(id)a0; - (void)sendPartialResponse:(id)a0 withCompletion:(id /* block */)a1; @end