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()
Deprecated.
instead use
ServerWebSocketHandshake.accept() |
HostAndPort |
authority() |
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()
Deprecated.
use
authority() instead |
String |
path() |
ServerWebSocket |
pause()
Pause the
ReadStream , it sets the buffer in fetch mode and clears the actual demand. |
String |
query() |
void |
reject()
Deprecated.
instead use
ServerWebSocketHandshake.reject() |
void |
reject(int status)
Deprecated.
instead use
ServerWebSocketHandshake.reject(int) |
ServerWebSocket |
resume()
Resume reading, and sets the buffer in
flowing mode. |
String |
scheme() |
Future<Integer> |
setHandshake(Future<Integer> future)
Deprecated.
instead use
ServerWebSocketHandshake |
void |
setHandshake(Future<Integer> future,
Handler<AsyncResult<Integer>> handler)
Deprecated.
instead use
ServerWebSocketHandshake |
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 |
writePing(Buffer data,
Handler<AsyncResult<Void>> handler)
Writes a ping frame to the connection.
|
ServerWebSocket |
writePong(Buffer data,
Handler<AsyncResult<Void>> handler)
Writes a pong frame to the connection.
|
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, writePong, writeTextMessage
collect, pipe, pipeTo, pipeTo
end, end, write, write, writeQueueFull
ServerWebSocket exceptionHandler(Handler<Throwable> handler)
ReadStream
exceptionHandler
in interface ReadStream<Buffer>
exceptionHandler
in interface StreamBase
exceptionHandler
in interface WebSocketBase
exceptionHandler
in interface WriteStream<Buffer>
handler
- the exception handlerServerWebSocket handler(Handler<Buffer> handler)
ReadStream
handler
in interface ReadStream<Buffer>
handler
in interface WebSocketBase
ServerWebSocket pause()
ReadStream
ReadStream
, 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 WebSocketBase
ServerWebSocket resume()
ReadStream
flowing
mode.
If the ReadStream
has been paused, reading will recommence on it.resume
in interface ReadStream<Buffer>
resume
in interface WebSocketBase
ServerWebSocket fetch(long amount)
ReadStream
amount
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 WebSocketBase
ServerWebSocket endHandler(Handler<Void> endHandler)
ReadStream
endHandler
in interface ReadStream<Buffer>
endHandler
in interface WebSocketBase
ServerWebSocket setWriteQueueMaxSize(int maxSize)
WriteStream
maxSize
. 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 WebSocketBase
setWriteQueueMaxSize
in interface WriteStream<Buffer>
maxSize
- the max size of the write streamServerWebSocket drainHandler(Handler<Void> handler)
WriteStream
Pipe
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 WebSocketBase
drainHandler
in interface WriteStream<Buffer>
handler
- the handlerServerWebSocket writeFrame(WebSocketFrame frame, Handler<AsyncResult<Void>> handler)
WebSocketBase
WebSocketBase.writeFrame(WebSocketFrame)
but with an handler
called when the operation completeswriteFrame
in interface WebSocketBase
ServerWebSocket writeFinalTextFrame(String text, Handler<AsyncResult<Void>> handler)
WebSocketBase
WebSocketBase.writeFinalTextFrame(String, Handler)
but with an handler
called when the operation completeswriteFinalTextFrame
in interface WebSocketBase
ServerWebSocket writeFinalBinaryFrame(Buffer data, Handler<AsyncResult<Void>> handler)
WebSocketBase
WebSocketBase.writeFinalBinaryFrame(Buffer, Handler)
but with an handler
called when the operation completeswriteFinalBinaryFrame
in interface WebSocketBase
ServerWebSocket writeBinaryMessage(Buffer data, Handler<AsyncResult<Void>> handler)
WebSocketBase
WebSocketBase.writeBinaryMessage(Buffer)
but with an handler
called when the operation completeswriteBinaryMessage
in interface WebSocketBase
ServerWebSocket writeTextMessage(String text, Handler<AsyncResult<Void>> handler)
WebSocketBase
WebSocketBase.writeTextMessage(String)
but with an handler
called when the operation completeswriteTextMessage
in interface WebSocketBase
ServerWebSocket writePing(Buffer data, Handler<AsyncResult<Void>> handler)
WebSocketBase
This method should not be used to write application data and should only be used for implementing a keep alive or to ensure the client is still responsive, see RFC 6455 Section section 5.5.2.
There is no handler for ping frames because RFC 6455 clearly states that the only response to a ping frame is a pong frame with identical contents.
writePing
in interface WebSocketBase
data
- the data to write, may be at most 125 byteshandler
- called when the ping frame has been successfully writtenServerWebSocket writePong(Buffer data, Handler<AsyncResult<Void>> handler)
WebSocketBase
This method should not be used to write application data and should only be used for implementing a keep alive or to ensure the client is still responsive, see RFC 6455 section 5.5.2.
There is no need to manually write a pong frame, as the server and client both handle responding to a ping from with a pong from automatically and this is exposed to users. RFC 6455 section 5.5.3 states that pongs may be sent unsolicited in order to implement a one way heartbeat.
writePong
in interface WebSocketBase
data
- the data to write, may be at most 125 byteshandler
- called when the pong frame has been successfully writtenServerWebSocket closeHandler(Handler<Void> handler)
WebSocketBase
WebSocketBase.closeStatusCode()
will return the status code and WebSocketBase.closeReason()
will return the reason.closeHandler
in interface WebSocketBase
handler
- the handlerServerWebSocket frameHandler(Handler<WebSocketFrame> handler)
WebSocketBase
frameHandler
in interface WebSocketBase
handler
- the handlerString scheme()
@Deprecated String host()
authority()
insteadHostAndPort authority()
String uri()
String path()
String query()
@Deprecated void accept()
ServerWebSocketHandshake.accept()
IllegalStateException
- when the WebSocket handshake is already set@Deprecated void reject()
ServerWebSocketHandshake.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 set@Deprecated void reject(int status)
ServerWebSocketHandshake.reject(int)
reject()
but with a status
.@Deprecated void setHandshake(Future<Integer> future, Handler<AsyncResult<Integer>> handler)
ServerWebSocketHandshake
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 500
close()
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 result@Deprecated Future<Integer> setHandshake(Future<Integer> future)
ServerWebSocketHandshake
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 WebSocketBase
SSLSession sslSession()
sslSession
in interface WebSocketBase
SSLSession
Copyright © 2024 Eclipse. All rights reserved.