public SockJSSocket pause() { ws.pause(); return this; }
public io.vertx.rxjava.core.http.ServerWebSocket pause() { delegate.pause(); return this; }
public SockJSSocket pause() { ws.pause(); return this; }
public SockJSSocket pause() { ws.pause(); return this; }
public SockJSSocket pause() { ws.pause(); return this; }
public io.vertx.rxjava.core.http.ServerWebSocket pause() { delegate.pause(); return this; }
public RecordParser initialHandhakeProtocolParser() { if(!(webSocket instanceof ServerWebSocket)) { throw new IllegalStateException("This must be a server! websocket instance is of type '"+webSocket.getClass().getSimpleName()+"'"); } ServerWebSocket sock = (ServerWebSocket)webSocket; final RecordParser parser = RecordParser.newDelimited("\n", h -> { String cmd = h.toString(); if("START SESSION".equalsIgnoreCase(cmd)) { sock.pause(); start(); logger.info("Bridge Server - start session with " + "tenant: " + getTenant() + ", ip: " + sock.remoteAddress() + ", bridgeUUID: " + getBridgeUUID() ); sock.resume(); } else { String tenant = cmd; String tenantFromCert = new CertInfo(sock).getTenant(); if(tenantFromCert != null) tenant = tenantFromCert; setTenant(tenant); } }); return parser; } }
@Override public void update(final Observable queue, final Object arg) { if (request instanceof HttpServerRequest) { final Buffer buffer = ((TransferQueue) queue).poll(); queue.deleteObserver(this); final HttpServerRequest req = (HttpServerRequest) request; assert buffer != null; final String encodedBytes = Base64.getUrlEncoder().encodeToString(buffer.getBytes()); req.response().setStatusCode(200); req.response().end(encodedBytes); } else if (request instanceof ServerWebSocket) { final Buffer buffer = ((TransferQueue) queue).poll(); final ServerWebSocket ws = (ServerWebSocket) request; if (!ws.writeQueueFull()) { final Buffer ackbuffer = Buffer.buffer(); ackbuffer.setInt(0, session.getWrite_count()); ackbuffer.setBuffer(4, buffer); ws.write(ackbuffer); } else { ws.pause(); } } else { queue.deleteObserver(this); } } }
queue.remove(buffer); } else { ws.pause();