private UndertowClient(XClientConfig config, XnioWorker worker, int bufferSize) { this.config = config; this.worker = worker; scanner = new XEndpointScanner<>(config.scanIntervalMillis, 0); }
/** * Asynchronously sends a text frame. * * @param payload The payload. */ default void send(String payload) { send(payload, null); }
public final C withAttributes(Map<String, Object> attributes) { this.attributes = attributes; return self(); }
/** * Awaits the drainage of connections, blocks until no more open * connections remain. * * @throws InterruptedException If this thread was interrupted. */ default void drain() throws InterruptedException { Await.perpetual(getEndpointManager().getEndpoints()::isEmpty); } }
@Override public Collection<UndertowEndpoint> getEndpoints() { return scanner.getEndpoints(); }
@Override public void onConnect(E endpoint) { if (onConnect != null) onConnect.onConnect(endpoint); }
@Override public void onPong(E endpoint, ByteBuffer data) { if (onPong != null) onPong.onPong(endpoint, data); }
@Override public String toString() { return XEndpoint.defaultToString(this); } }
public XMappedServlet(String path, Class<? extends Servlet> servletClass) { this(path, generateServletName(servletClass), servletClass); }
@Override public void onText(E endpoint, String message) { if (onText != null) onText.onText(endpoint, message); }
@Override public void onBinary(E endpoint, ByteBuffer message) { if (onBinary != null) onBinary.onBinary(endpoint, message); }
@Override public void onClose(E endpoint) { if (onClose != null) onClose.onClose(endpoint); }
@Override public void onError(E endpoint, Throwable cause) { if (onError != null) onError.onError(endpoint, cause); }
void remove(UndertowEndpoint endpoint) { scanner.removeEndpoint(endpoint); } }
public final C withScanInterval(int scanIntervalMillis) { this.scanIntervalMillis = scanIntervalMillis; return self(); }
/** * Asynchronously sends a binary frame. * * @param payload The payload. */ default void send(ByteBuffer payload) { send(payload, null); }
@Override public Collection<UndertowEndpoint> getEndpoints() { return scanner.getEndpoints(); }
public final C withHighWaterMark(long highWaterMark) { this.highWaterMark = highWaterMark; return self(); }
public final C withSSLContextProvider(SSLContextProvider sslContextProvider) { this.sslContextProvider = sslContextProvider; return self(); }