@Override public EventDriver create(Object websocket, WebSocketPolicy policy) { WebSocketConnectionListener listener = (WebSocketConnectionListener)websocket; return new JettyListenerEventDriver(policy,listener); }
@Override public void onBinaryFrame(ByteBuffer buffer, boolean fin) throws IOException { if (listener instanceof WebSocketListener) { if (activeMessage == null) { activeMessage = new SimpleBinaryMessage(this); } appendMessage(buffer,fin); } if (listener instanceof WebSocketPartialListener) { ((WebSocketPartialListener)listener).onWebSocketPartialBinary(buffer.slice().asReadOnlyBuffer(),fin); } }
@Override public void onTextFrame(ByteBuffer buffer, boolean fin) throws IOException { if (listener instanceof WebSocketListener) { if (activeMessage == null) { activeMessage = new SimpleTextMessage(this); } appendMessage(buffer,fin); } if (listener instanceof WebSocketPartialListener) { if (utf8Partial == null) { utf8Partial = new Utf8PartialBuilder(); } String partial = utf8Partial.toPartialString(buffer); ((WebSocketPartialListener)listener).onWebSocketPartialText(partial,fin); if (fin) { partial = null; } } }