public interface WebSocketBase extends ReadStream<Buffer>, WriteStream<Buffer>
It implements both ReadStream
and WriteStream
so it can be used with
Pump
to pump data with flow control.
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.
|
WebSocketBase |
closeHandler(Handler<Void> handler)
Set a close handler.
|
WebSocketBase |
drainHandler(Handler<Void> handler)
Set a drain handler on the stream.
|
void |
end()
Calls
close() |
WebSocketBase |
endHandler(Handler<Void> endHandler)
Set an end handler.
|
WebSocketBase |
exceptionHandler(Handler<Throwable> handler)
Set an exception handler on the read stream.
|
WebSocketBase |
frameHandler(Handler<WebSocketFrame> handler)
Set a frame handler on the connection.
|
WebSocketBase |
handler(Handler<Buffer> handler)
Set a data handler.
|
SocketAddress |
localAddress() |
WebSocketBase |
pause()
Pause the
ReadSupport . |
SocketAddress |
remoteAddress() |
WebSocketBase |
resume()
Resume reading.
|
WebSocketBase |
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 . |
WebSocketBase |
write(Buffer data)
Write some data to the stream.
|
WebSocketBase |
writeBinaryMessage(Buffer data)
Writes a (potentially large) piece of binary data to the connection.
|
WebSocketBase |
writeFinalBinaryFrame(Buffer data)
Write a final WebSocket binary frame to the connection
|
WebSocketBase |
writeFinalTextFrame(String text)
Write a final WebSocket text frame to the connection
|
WebSocketBase |
writeFrame(WebSocketFrame frame)
Write a WebSocket frame to the connection
|
end, writeQueueFull
WebSocketBase exceptionHandler(Handler<Throwable> handler)
ReadStream
exceptionHandler
in interface ReadStream<Buffer>
exceptionHandler
in interface StreamBase
exceptionHandler
in interface WriteStream<Buffer>
handler
- the exception handlerWebSocketBase handler(Handler<Buffer> handler)
ReadStream
handler
in interface ReadStream<Buffer>
WebSocketBase pause()
ReadStream
ReadSupport
. While it's paused, no data will be sent to the dataHandler
pause
in interface ReadStream<Buffer>
WebSocketBase resume()
ReadStream
ReadSupport
has been paused, reading will recommence on it.resume
in interface ReadStream<Buffer>
WebSocketBase endHandler(Handler<Void> endHandler)
ReadStream
endHandler
in interface ReadStream<Buffer>
WebSocketBase write(Buffer data)
WriteStream
WriteStream.writeQueueFull()
method before writing. This is done automatically if using a Pump
.write
in interface WriteStream<Buffer>
data
- the data to writeWebSocketBase 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
Pump
to provide flow control.
The value is defined by the implementation of the stream, e.g in bytes for a
NetSocket
, the number of Message
for a
MessageProducer
, etc...setWriteQueueMaxSize
in interface WriteStream<Buffer>
maxSize
- the max size of the write streamWebSocketBase drainHandler(Handler<Void> handler)
WriteStream
Pump
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 WriteStream<Buffer>
handler
- the handlerString 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.
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.
WebSocketBase writeFrame(WebSocketFrame frame)
frame
- the frame to writeWebSocketBase writeFinalTextFrame(String text)
text
- The text to writeWebSocketBase writeFinalBinaryFrame(Buffer data)
data
- The data to writeWebSocketBase writeBinaryMessage(Buffer data)
data
- the data to writeWebSocketBase closeHandler(Handler<Void> handler)
handler
- the handlerWebSocketBase frameHandler(Handler<WebSocketFrame> handler)
handler
- the handlervoid end()
close()
end
in interface WriteStream<Buffer>
void close()
SocketAddress remoteAddress()
SocketAddress localAddress()
Copyright © 2016. All rights reserved.