public class ServerWebSocket extends Object implements WebSocketBase
Instances of this class are passed into a HttpServer.websocketHandler(io.vertx.core.Handler<io.vertx.rxjava.core.http.ServerWebSocket>)
or provided
when a WebSocket handshake is manually HttpServerRequest.upgrade()
ed.
original
non RX-ified interface using Vert.x codegen.Constructor and Description |
---|
ServerWebSocket(ServerWebSocket delegate) |
Modifier and Type | Method and Description |
---|---|
String |
binaryHandlerID()
When a
Websocket is created it automatically registers an event handler with the event bus - the ID of that
handler is given by this method. |
void |
close()
Close the WebSocket.
|
ServerWebSocket |
closeHandler(Handler<Void> handler)
Set a close handler.
|
ServerWebSocket |
drainHandler(Handler<Void> handler)
Set a drain handler on the stream.
|
void |
end()
Calls
WebSocketBase.close() |
void |
end(Buffer t)
Same as
WebSocketBase.end(io.vertx.rxjava.core.buffer.Buffer) but writes some data to the stream before ending. |
ServerWebSocket |
endHandler(Handler<Void> endHandler)
Set an end handler.
|
ServerWebSocket |
exceptionHandler(Handler<Throwable> handler)
Set an exception handler on the read stream.
|
ServerWebSocket |
frameHandler(Handler<WebSocketFrame> handler)
Set a frame handler on the connection.
|
Object |
getDelegate() |
ServerWebSocket |
handler(Handler<Buffer> handler)
Set a data handler.
|
MultiMap |
headers() |
SocketAddress |
localAddress() |
static ServerWebSocket |
newInstance(ServerWebSocket arg) |
String |
path() |
ServerWebSocket |
pause()
Pause the
ReadSupport . |
String |
query() |
void |
reject()
Reject the WebSocket.
|
SocketAddress |
remoteAddress() |
ServerWebSocket |
resume()
Resume reading.
|
ServerWebSocket |
setWriteQueueMaxSize(int maxSize)
Set the maximum size of the write queue to
maxSize . |
String |
textHandlerID()
When a
Websocket is created it automatically registers an event handler with the eventbus, the ID of that
handler is given by textHandlerID . |
Observable<Buffer> |
toObservable() |
String |
uri() |
ServerWebSocket |
write(Buffer data)
Write some data to the stream.
|
ServerWebSocket |
writeBinaryMessage(Buffer data)
Writes a (potentially large) piece of binary data to the connection.
|
ServerWebSocket |
writeFinalBinaryFrame(Buffer data)
Write a final WebSocket binary frame to the connection
|
ServerWebSocket |
writeFinalTextFrame(String text)
Write a final WebSocket text frame to the connection
|
ServerWebSocket |
writeFrame(WebSocketFrame frame)
Write a WebSocket frame to the connection
|
boolean |
writeQueueFull()
This will return
true if there are more bytes in the write queue than the value set using setWriteQueueMaxSize(int) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
newInstance
newInstance
newInstance
newInstance
public ServerWebSocket(ServerWebSocket delegate)
public Object getDelegate()
getDelegate
in interface WebSocketBase
getDelegate
in interface ReadStream<Buffer>
getDelegate
in interface StreamBase
getDelegate
in interface WriteStream<Buffer>
public Observable<Buffer> toObservable()
toObservable
in interface ReadStream<Buffer>
public void end(Buffer t)
WebSocketBase.end(io.vertx.rxjava.core.buffer.Buffer)
but writes some data to the stream before ending.end
in interface WebSocketBase
end
in interface WriteStream<Buffer>
t
- public boolean writeQueueFull()
true
if there are more bytes in the write queue than the value set using setWriteQueueMaxSize(int)
writeQueueFull
in interface WebSocketBase
writeQueueFull
in interface WriteStream<Buffer>
public String binaryHandlerID()
Websocket
is created it automatically registers an event handler with the event bus - the ID of that
handler is given by this method.
Given this ID, a different event loop can send a binary frame to that event handler using the event bus and that buffer will be received by this instance in its own event loop and written to the underlying connection. This allows you to write data to other WebSockets which are owned by different event loops.
binaryHandlerID
in interface WebSocketBase
public String textHandlerID()
Websocket
is created it automatically registers an event handler with the eventbus, the ID of that
handler is given by textHandlerID
.
Given this ID, a different event loop can send a text frame to that event handler using the event bus and that buffer will be received by this instance in its own event loop and written to the underlying connection. This allows you to write data to other WebSockets which are owned by different event loops.
textHandlerID
in interface WebSocketBase
public void end()
WebSocketBase.close()
end
in interface WebSocketBase
end
in interface WriteStream<Buffer>
public void close()
close
in interface WebSocketBase
public SocketAddress remoteAddress()
remoteAddress
in interface WebSocketBase
public SocketAddress localAddress()
localAddress
in interface WebSocketBase
public ServerWebSocket exceptionHandler(Handler<Throwable> handler)
ReadStream
exceptionHandler
in interface WebSocketBase
exceptionHandler
in interface ReadStream<Buffer>
exceptionHandler
in interface StreamBase
exceptionHandler
in interface WriteStream<Buffer>
handler
- the exception handlerpublic ServerWebSocket handler(Handler<Buffer> handler)
ReadStream
handler
in interface WebSocketBase
handler
in interface ReadStream<Buffer>
public ServerWebSocket pause()
ReadStream
ReadSupport
. While it's paused, no data will be sent to the dataHandler
pause
in interface WebSocketBase
pause
in interface ReadStream<Buffer>
public ServerWebSocket resume()
ReadStream
ReadSupport
has been paused, reading will recommence on it.resume
in interface WebSocketBase
resume
in interface ReadStream<Buffer>
public ServerWebSocket endHandler(Handler<Void> endHandler)
ReadStream
endHandler
in interface WebSocketBase
endHandler
in interface ReadStream<Buffer>
public ServerWebSocket write(Buffer data)
WriteStream
WriteStream.writeQueueFull()
method before writing. This is done automatically if using a Pump
.write
in interface WebSocketBase
write
in interface WriteStream<Buffer>
data
- the data to writepublic ServerWebSocket setWriteQueueMaxSize(int maxSize)
WriteStream
maxSize
. You will still be able to write to the stream even
if there is more than maxSize
bytes in the write queue. This is used as an indicator by classes such as
Pump
to provide flow control.setWriteQueueMaxSize
in interface WebSocketBase
setWriteQueueMaxSize
in interface WriteStream<Buffer>
maxSize
- the max size of the write streampublic ServerWebSocket drainHandler(Handler<Void> handler)
WriteStream
Pump
for an example of this being used.drainHandler
in interface WebSocketBase
drainHandler
in interface WriteStream<Buffer>
handler
- the handlerpublic ServerWebSocket writeFrame(WebSocketFrame frame)
WebSocketBase
writeFrame
in interface WebSocketBase
frame
- the frame to writepublic ServerWebSocket writeFinalTextFrame(String text)
WebSocketBase
writeFinalTextFrame
in interface WebSocketBase
text
- The text to writepublic ServerWebSocket writeFinalBinaryFrame(Buffer data)
WebSocketBase
writeFinalBinaryFrame
in interface WebSocketBase
data
- The data to writepublic ServerWebSocket writeBinaryMessage(Buffer data)
WebSocketBase
writeBinaryMessage
in interface WebSocketBase
data
- the data to writepublic ServerWebSocket closeHandler(Handler<Void> handler)
WebSocketBase
closeHandler
in interface WebSocketBase
handler
- the handlerpublic ServerWebSocket frameHandler(Handler<WebSocketFrame> handler)
WebSocketBase
frameHandler
in interface WebSocketBase
handler
- the handlerpublic String uri()
public String path()
public String query()
public MultiMap headers()
public void 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 404 response code.
You might use this method, if for example you only want to accept WebSockets with a particular path.
public static ServerWebSocket newInstance(ServerWebSocket arg)
Copyright © 2016. All rights reserved.