WebSocket(WebSocketFactory factory, boolean secure, String userInfo, String host, String path, SocketConnector connector) { mWebSocketFactory = factory; mSocketConnector = connector; mStateManager = new StateManager(); mHandshakeBuilder = new HandshakeBuilder(secure, userInfo, host, path); mListenerManager = new ListenerManager(this); mPingSender = new PingSender(this, new CounterPayloadGenerator()); mPongSender = new PongSender(this, new CounterPayloadGenerator()); }
public WebSocketFactory() { mSocketFactorySettings = new SocketFactorySettings(); mProxySettings = new ProxySettings(this); }
/** * Call {@link WebSocketListener#onContinuationFrame(WebSocket, WebSocketFrame) * onContinuationFrame} method of the listeners. */ private void callOnContinuationFrame(WebSocketFrame frame) { mWebSocket.getListenerManager().callOnContinuationFrame(frame); }
@Override public void runMain() { try { mWebSocket.connect(); } catch (WebSocketException e) { handleError(e); } }
private void handleError(WebSocketException cause) { ListenerManager manager = mWebSocket.getListenerManager(); manager.callOnError(cause); manager.callOnConnectError(cause); } }
/** * Call {@link #finish()} from within a separate thread. */ private void finishAsynchronously() { WebSocketThread thread = new FinishThread(this); // Execute onThreadCreated() of the listeners. thread.callOnThreadCreated(); thread.start(); }
/** * Call {@link WebSocketListener#onCloseFrame(WebSocket, WebSocketFrame) * onCloseFrame} method of the listeners. */ private void callOnCloseFrame(WebSocketFrame frame) { mWebSocket.getListenerManager().callOnCloseFrame(frame); }
/** * Call {@link WebSocketListener#onBinaryMessage(WebSocket, String) * onBinaryMessage} method of the listeners. */ private void callOnBinaryMessage(byte[] message) { mWebSocket.getListenerManager().callOnBinaryMessage(message); }
public void write(String string) throws IOException { // Convert the string into a byte array. byte[] bytes = Misc.getBytesUTF8(string); write(bytes); }
private static void setServerNames(SSLParameters parameters, String[] hostnames) { // Call parameters.setServerNames(List<SNIServerName>) method. Misc.invoke(sSetServerNamesMethod, parameters, createSNIHostNames(hostnames)); }
/** * Call {@link WebSocketListener#onError(WebSocket, WebSocketException) * onError} method of the listeners. */ private void callOnError(WebSocketException cause) { mWebSocket.getListenerManager().callOnError(cause); }
/** * Call {@link WebSocketListener#onFrameError(WebSocket, * WebSocketException, WebSocketFrame) onFrameError} method of the listeners. */ private void callOnFrameError(WebSocketException cause, WebSocketFrame frame) { mWebSocket.getListenerManager().callOnFrameError(cause, frame); }
/** * Call {@link WebSocketListener#onMessageError(WebSocket, WebSocketException, List) * onMessageError} method of the listeners. */ private void callOnMessageError(WebSocketException cause, List<WebSocketFrame> frames) { mWebSocket.getListenerManager().callOnMessageError(cause, frames); }
/** * Call {@link WebSocketListener#onBinaryFrame(WebSocket, WebSocketFrame) * onBinaryFrame} method of the listeners. */ private void callOnBinaryFrame(WebSocketFrame frame) { mWebSocket.getListenerManager().callOnBinaryFrame(frame); }
/** * Call {@link WebSocketListener#onMessageDecompressionError(WebSocket, WebSocketException, byte[]) * onMessageDecompressionError} method of the listeners. */ private void callOnMessageDecompressionError(WebSocketException cause, byte[] compressed) { mWebSocket.getListenerManager().callOnMessageDecompressionError(cause, compressed); }
/** * Call {@link WebSocketListener#onTextMessageError(WebSocket, WebSocketException, byte[]) * onTextMessageError} method of the listeners. */ private void callOnTextMessageError(WebSocketException cause, byte[] data) { mWebSocket.getListenerManager().callOnTextMessageError(cause, data); }
private static void skipDynamicBlock(ByteArray input, int[] bitIndex) throws FormatException { // 3.2.7 Compression with dynamic Huffman codes (BTYPE=10) // Read 2 tables. One is a table to convert "code value of literal/length // alphabet" into "literal/length symbol". The other is a table to convert // "code value of distance alphabet" into "distance symbol". Huffman[] tables = new Huffman[2]; DeflateUtil.readDynamicTables(input, bitIndex, tables); skipData(input, bitIndex, tables[0], tables[1]); }
/** * Call {@link WebSocketListener#onTextFrame(WebSocket, WebSocketFrame) * onTextFrame} method of the listeners. */ private void callOnTextFrame(WebSocketFrame frame) { mWebSocket.getListenerManager().callOnTextFrame(frame); }
/** * Call {@link WebSocketListener#onPingFrame(WebSocket, WebSocketFrame) * onPingFrame} method of the listeners. */ private void callOnPingFrame(WebSocketFrame frame) { mWebSocket.getListenerManager().callOnPingFrame(frame); }
/** * Call {@link WebSocketListener#onTextMessage(WebSocket, String) * onTextMessage} method of the listeners. */ private void callOnTextMessage(String message) { mWebSocket.getListenerManager().callOnTextMessage(message); }