public interface ServerWebSocket extends WebSocketBase
Instances of this class are passed into a HttpServer.webSocketHandler(io.vertx.core.Handler<io.vertx.core.http.ServerWebSocket>) or provided
when a WebSocket handshake is manually HttpServerRequest.toWebSocket(io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.http.ServerWebSocket>>)ed.
| Modifier and Type | Method and Description |
|---|---|
void |
accept()
Accept the WebSocket and terminate the WebSocket handshake.
|
Future<Void> |
close()
Close the WebSocket sending the default close frame.
|
ServerWebSocket |
closeHandler(Handler<Void> handler)
Set a close handler.
|
ServerWebSocket |
drainHandler(Handler<Void> handler)
Set a drain handler on the stream.
|
ServerWebSocket |
endHandler(Handler<Void> endHandler)
Set an end handler.
|
ServerWebSocket |
exceptionHandler(Handler<Throwable> handler)
Set an exception handler on the read stream.
|
ServerWebSocket |
fetch(long amount)
Fetch the specified
amount of elements. |
ServerWebSocket |
frameHandler(Handler<WebSocketFrame> handler)
Set a frame handler on the connection.
|
ServerWebSocket |
handler(Handler<Buffer> handler)
Set a data handler.
|
String |
host() |
String |
path() |
ServerWebSocket |
pause()
Pause the
ReadStream, it sets the buffer in fetch mode and clears the actual demand. |
String |
query() |
void |
reject()
Reject the WebSocket.
|
void |
reject(int status)
Like
reject() but with a status. |
ServerWebSocket |
resume()
Resume reading, and sets the buffer in
flowing mode. |
String |
scheme() |
Future<Integer> |
setHandshake(Future<Integer> future)
Like
setHandshake(Future, Handler) but returns a Future of the asynchronous result |
void |
setHandshake(Future<Integer> future,
Handler<AsyncResult<Integer>> handler)
Set an asynchronous result for the handshake, upon completion of the specified
future, the
WebSocket will either be
accepted when the future succeeds with the HTTP 101 status code
rejected when the future is succeeds with an HTTP status code different than 101
rejected when the future fails with the HTTP status code 500
The provided future might be completed by the WebSocket itself, e.g calling the close() method
will try to accept the handshake and close the WebSocket afterward. |
ServerWebSocket |
setWriteQueueMaxSize(int maxSize)
Set the maximum size of the write queue to
maxSize. |
SSLSession |
sslSession() |
String |
uri() |
ServerWebSocket |
writeBinaryMessage(Buffer data,
Handler<AsyncResult<Void>> handler)
Same as
WebSocketBase.writeBinaryMessage(Buffer) but with an handler called when the operation completes |
ServerWebSocket |
writeFinalBinaryFrame(Buffer data,
Handler<AsyncResult<Void>> handler)
Same as
WebSocketBase.writeFinalBinaryFrame(Buffer, Handler) but with an handler called when the operation completes |
ServerWebSocket |
writeFinalTextFrame(String text,
Handler<AsyncResult<Void>> handler)
Same as
WebSocketBase.writeFinalTextFrame(String, Handler) but with an handler called when the operation completes |
ServerWebSocket |
writeFrame(WebSocketFrame frame,
Handler<AsyncResult<Void>> handler)
Same as
WebSocketBase.writeFrame(WebSocketFrame) but with an handler called when the operation completes |
ServerWebSocket |
writeTextMessage(String text,
Handler<AsyncResult<Void>> handler)
Same as
WebSocketBase.writeTextMessage(String) but with an handler called when the operation completes |
binaryHandlerID, binaryMessageHandler, close, close, close, close, close, closeReason, closeStatusCode, end, end, headers, isClosed, isSsl, localAddress, peerCertificateChain, peerCertificates, pongHandler, remoteAddress, subProtocol, textHandlerID, textMessageHandler, writeBinaryMessage, writeFinalBinaryFrame, writeFinalTextFrame, writeFrame, writePing, writePing, writePong, writePong, writeTextMessagepipe, pipeTo, pipeToend, end, write, write, writeQueueFullServerWebSocket exceptionHandler(Handler<Throwable> handler)
ReadStreamexceptionHandler in interface ReadStream<Buffer>exceptionHandler in interface StreamBaseexceptionHandler in interface WebSocketBaseexceptionHandler in interface WriteStream<Buffer>handler - the exception handlerServerWebSocket handler(Handler<Buffer> handler)
ReadStreamhandler in interface ReadStream<Buffer>handler in interface WebSocketBaseServerWebSocket pause()
ReadStreamReadStream, it sets the buffer in fetch mode and clears the actual demand.
While it's paused, no data will be sent to the data handler.
pause in interface ReadStream<Buffer>pause in interface WebSocketBaseServerWebSocket resume()
ReadStreamflowing mode.
If the ReadStream has been paused, reading will recommence on it.resume in interface ReadStream<Buffer>resume in interface WebSocketBaseServerWebSocket fetch(long amount)
ReadStreamamount of elements. If the ReadStream has been paused, reading will
recommence with the specified amount of items, otherwise the specified amount will
be added to the current stream demand.fetch in interface ReadStream<Buffer>fetch in interface WebSocketBaseServerWebSocket endHandler(Handler<Void> endHandler)
ReadStreamendHandler in interface ReadStream<Buffer>endHandler in interface WebSocketBaseServerWebSocket setWriteQueueMaxSize(int maxSize)
WriteStreammaxSize. You will still be able to write to the stream even
if there is more than maxSize items in the write queue. This is used as an indicator by classes such as
Pipe to provide flow control.
The value is defined by the implementation of the stream, e.g in bytes for a
NetSocket, etc...setWriteQueueMaxSize in interface WebSocketBasesetWriteQueueMaxSize in interface WriteStream<Buffer>maxSize - the max size of the write streamServerWebSocket drainHandler(Handler<Void> handler)
WriteStreamPipe for an example of this being used.
The stream implementation defines when the drain handler, for example it could be when the queue size has been
reduced to maxSize / 2.
drainHandler in interface WebSocketBasedrainHandler in interface WriteStream<Buffer>handler - the handlerServerWebSocket writeFrame(WebSocketFrame frame, Handler<AsyncResult<Void>> handler)
WebSocketBaseWebSocketBase.writeFrame(WebSocketFrame) but with an handler called when the operation completeswriteFrame in interface WebSocketBaseServerWebSocket writeFinalTextFrame(String text, Handler<AsyncResult<Void>> handler)
WebSocketBaseWebSocketBase.writeFinalTextFrame(String, Handler) but with an handler called when the operation completeswriteFinalTextFrame in interface WebSocketBaseServerWebSocket writeFinalBinaryFrame(Buffer data, Handler<AsyncResult<Void>> handler)
WebSocketBaseWebSocketBase.writeFinalBinaryFrame(Buffer, Handler) but with an handler called when the operation completeswriteFinalBinaryFrame in interface WebSocketBaseServerWebSocket writeBinaryMessage(Buffer data, Handler<AsyncResult<Void>> handler)
WebSocketBaseWebSocketBase.writeBinaryMessage(Buffer) but with an handler called when the operation completeswriteBinaryMessage in interface WebSocketBaseServerWebSocket writeTextMessage(String text, Handler<AsyncResult<Void>> handler)
WebSocketBaseWebSocketBase.writeTextMessage(String) but with an handler called when the operation completeswriteTextMessage in interface WebSocketBaseServerWebSocket closeHandler(Handler<Void> handler)
WebSocketBaseWebSocketBase.closeStatusCode() will return the status code and WebSocketBase.closeReason() will return the reason.closeHandler in interface WebSocketBasehandler - the handlerServerWebSocket frameHandler(Handler<WebSocketFrame> handler)
WebSocketBaseframeHandler in interface WebSocketBasehandler - the handlerString scheme()
String host()
String uri()
String path()
String query()
void accept()
IllegalStateException - when the WebSocket handshake is already setvoid reject()
Calling this method from the WebSocket handler when it is first passed to you gives you the opportunity to reject the WebSocket, which will cause the WebSocket handshake to fail by returning a 502 response code.
You might use this method, if for example you only want to accept WebSockets with a particular path.
IllegalStateException - when the WebSocket handshake is already setvoid reject(int status)
reject() but with a status.void setHandshake(Future<Integer> future, Handler<AsyncResult<Integer>> handler)
future, the
WebSocket will either be
future succeeds with the HTTP 101 status codefuture is succeeds with an HTTP status code different than 101future fails with the HTTP status code 500close() method
will try to accept the handshake and close the WebSocket afterward. Thus it is advised to try to complete
the future with Promise.tryComplete(T) or Promise.tryFail(java.lang.Throwable).
This method should be called from the WebSocket handler to explicitly set an asynchronous handshake.
Calling this method will override the future completion handler.
future - the future to complete withhandler - the completion handlerIllegalStateException - when the WebSocket has already an asynchronous resultFuture<Integer> setHandshake(Future<Integer> future)
setHandshake(Future, Handler) but returns a Future of the asynchronous resultFuture<Void> close()
The WebSocket handshake will be accepted when it hasn't yet been settled or when an asynchronous handshake is in progress.
close in interface WebSocketBaseSSLSession sslSession()
sslSession in interface WebSocketBaseSSLSessionCopyright © 2022 Eclipse. All rights reserved.