Module: Vertx::WebSocketBase
- Includes:
- ReadStream, WriteStream
- Included in:
- ServerWebSocket, WebSocket, WebSocketBaseImpl
- Defined in:
- /Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket_base.rb
Instance Method Summary (collapse)
-
- (String) binary_handler_id
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.
-
- (self) binary_message_handler { ... }
Set a binary message handler on the connection.
- - (void) close(statusCode = nil, reason = nil)
-
- (self) close_handler { ... }
Set a close handler.
- - (self) drain_handler { ... }
-
- (void) end(t = nil)
Same as #end but writes some data to the stream before ending.
- - (self) end_handler { ... }
- - (self) exception_handler { ... }
-
- (self) frame_handler { ... }
Set a frame handler on the connection.
- - (self) handler { ... }
-
- (::Vertx::SocketAddress) local_address
The local address for this socket.
- - (self) pause
-
- (self) pong_handler { ... }
Set a pong message handler on the connection.
-
- (::Vertx::SocketAddress) remote_address
The remote address for this socket.
- - (self) resume
- - (self) set_write_queue_max_size(maxSize = nil)
-
- (true, false) ssl?
True if this HttpConnection is encrypted via SSL/TLS.
-
- (String) sub_protocol
Returns the websocket sub protocol selected by the websocket handshake.
-
- (String) text_handler_id
When a Websocket is created it automatically registers an event handler with the eventbus, the ID of that handler is given by textHandlerID.
-
- (self) text_message_handler { ... }
Set a text message handler on the connection.
- - (self) write(data = nil)
-
- (self) write_binary_message(data = nil)
Writes a (potentially large) piece of binary data to the connection.
-
- (self) write_final_binary_frame(data = nil)
Write a final WebSocket binary frame to the connection.
-
- (self) write_final_text_frame(text = nil)
Write a final WebSocket text frame to the connection.
-
- (self) write_frame(frame = nil)
Write a WebSocket frame to the connection.
-
- (self) write_ping(data = nil)
Writes a ping to the connection.
-
- (self) write_pong(data = nil)
Writes a pong to the connection.
-
- (true, false) write_queue_full?
This will return true if there are more bytes in the write queue than the value set using #set_write_queue_max_size.
-
- (self) write_text_message(text = nil)
Writes a (potentially large) piece of text data to the connection.
Instance Method Details
- (String) binary_handler_id
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.
108 109 110 111 112 113 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket_base.rb', line 108 def binary_handler_id if !block_given? return @j_del.java_method(:binaryHandlerID, []).call() end raise ArgumentError, "Invalid arguments when calling binary_handler_id()" end |
- (self) binary_message_handler { ... }
259 260 261 262 263 264 265 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket_base.rb', line 259 def if block_given? @j_del.java_method(:binaryMessageHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::Vertx::Buffer)) })) return self end raise ArgumentError, "Invalid arguments when calling binary_message_handler()" end |
- (void) close(statusCode = nil, reason = nil)
This method returns an undefined value.
287 288 289 290 291 292 293 294 295 296 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket_base.rb', line 287 def close(statusCode=nil,reason=nil) if !block_given? && statusCode == nil && reason == nil return @j_del.java_method(:close, []).call() elsif statusCode.class == Fixnum && !block_given? && reason == nil return @j_del.java_method(:close, [Java::short.java_class]).call(::Vertx::Util::Utils.to_short(statusCode)) elsif statusCode.class == Fixnum && reason.class == String && !block_given? return @j_del.java_method(:close, [Java::short.java_class,Java::java.lang.String.java_class]).call(::Vertx::Util::Utils.to_short(statusCode),reason) end raise ArgumentError, "Invalid arguments when calling close(#{statusCode},#{reason})" end |
- (self) close_handler { ... }
226 227 228 229 230 231 232 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket_base.rb', line 226 def close_handler if block_given? @j_del.java_method(:closeHandler, [Java::IoVertxCore::Handler.java_class]).call(Proc.new { yield }) return self end raise ArgumentError, "Invalid arguments when calling close_handler()" end |
- (self) drain_handler { ... }
94 95 96 97 98 99 100 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket_base.rb', line 94 def drain_handler if block_given? @j_del.java_method(:drainHandler, [Java::IoVertxCore::Handler.java_class]).call(Proc.new { yield }) return self end raise ArgumentError, "Invalid arguments when calling drain_handler()" end |
- (void) end(t = nil)
This method returns an undefined value.
Same as #end but writes some data to the stream before ending.
15 16 17 18 19 20 21 22 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket_base.rb', line 15 def end(t=nil) if !block_given? && t == nil return @j_del.java_method(:end, []).call() elsif t.class.method_defined?(:j_del) && !block_given? return @j_del.java_method(:end, [Java::IoVertxCoreBuffer::Buffer.java_class]).call(t.j_del) end raise ArgumentError, "Invalid arguments when calling end(#{t})" end |
- (self) end_handler { ... }
67 68 69 70 71 72 73 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket_base.rb', line 67 def end_handler if block_given? @j_del.java_method(:endHandler, [Java::IoVertxCore::Handler.java_class]).call(Proc.new { yield }) return self end raise ArgumentError, "Invalid arguments when calling end_handler()" end |
- (self) exception_handler { ... }
33 34 35 36 37 38 39 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket_base.rb', line 33 def exception_handler if block_given? @j_del.java_method(:exceptionHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.from_throwable(event)) })) return self end raise ArgumentError, "Invalid arguments when calling exception_handler()" end |
- (self) frame_handler { ... }
236 237 238 239 240 241 242 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket_base.rb', line 236 def frame_handler if block_given? @j_del.java_method(:frameHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::Vertx::WebSocketFrame)) })) return self end raise ArgumentError, "Invalid arguments when calling frame_handler()" end |
- (self) handler { ... }
42 43 44 45 46 47 48 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket_base.rb', line 42 def handler if block_given? @j_del.java_method(:handler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::Vertx::Buffer)) })) return self end raise ArgumentError, "Invalid arguments when calling handler()" end |
- (::Vertx::SocketAddress) local_address
308 309 310 311 312 313 314 315 316 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket_base.rb', line 308 def local_address if !block_given? if @cached_local_address != nil return @cached_local_address end return @cached_local_address = ::Vertx::Util::Utils.safe_create(@j_del.java_method(:localAddress, []).call(),::Vertx::SocketAddress) end raise ArgumentError, "Invalid arguments when calling local_address()" end |
- (self) pause
50 51 52 53 54 55 56 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket_base.rb', line 50 def pause if !block_given? @j_del.java_method(:pause, []).call() return self end raise ArgumentError, "Invalid arguments when calling pause()" end |
- (self) pong_handler { ... }
Pong frames may be at most 125 bytes (octets).
There is no ping handler since pings should immediately be responded to with a pong with identical content
Pong frames may be received unsolicited.
277 278 279 280 281 282 283 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket_base.rb', line 277 def pong_handler if block_given? @j_del.java_method(:pongHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::Vertx::Buffer)) })) return self end raise ArgumentError, "Invalid arguments when calling pong_handler()" end |
- (::Vertx::SocketAddress) remote_address
298 299 300 301 302 303 304 305 306 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket_base.rb', line 298 def remote_address if !block_given? if @cached_remote_address != nil return @cached_remote_address end return @cached_remote_address = ::Vertx::Util::Utils.safe_create(@j_del.java_method(:remoteAddress, []).call(),::Vertx::SocketAddress) end raise ArgumentError, "Invalid arguments when calling remote_address()" end |
- (self) resume
58 59 60 61 62 63 64 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket_base.rb', line 58 def resume if !block_given? @j_del.java_method(:resume, []).call() return self end raise ArgumentError, "Invalid arguments when calling resume()" end |
- (self) set_write_queue_max_size(maxSize = nil)
85 86 87 88 89 90 91 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket_base.rb', line 85 def set_write_queue_max_size(maxSize=nil) if maxSize.class == Fixnum && !block_given? @j_del.java_method(:setWriteQueueMaxSize, [Java::int.java_class]).call(maxSize) return self end raise ArgumentError, "Invalid arguments when calling set_write_queue_max_size(#{maxSize})" end |
- (true, false) ssl?
318 319 320 321 322 323 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket_base.rb', line 318 def ssl? if !block_given? return @j_del.java_method(:isSsl, []).call() end raise ArgumentError, "Invalid arguments when calling ssl?()" end |
- (String) sub_protocol
null when the handler receives the websocket callback as the
handshake will not be completed yet.
132 133 134 135 136 137 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket_base.rb', line 132 def sub_protocol if !block_given? return @j_del.java_method(:subProtocol, []).call() end raise ArgumentError, "Invalid arguments when calling sub_protocol()" end |
- (String) text_handler_id
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.
121 122 123 124 125 126 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket_base.rb', line 121 def text_handler_id if !block_given? return @j_del.java_method(:textHandlerID, []).call() end raise ArgumentError, "Invalid arguments when calling text_handler_id()" end |
- (self) text_message_handler { ... }
247 248 249 250 251 252 253 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket_base.rb', line 247 def if block_given? @j_del.java_method(:textMessageHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(event) })) return self end raise ArgumentError, "Invalid arguments when calling text_message_handler()" end |
- (self) write(data = nil)
76 77 78 79 80 81 82 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket_base.rb', line 76 def write(data=nil) if data.class.method_defined?(:j_del) && !block_given? @j_del.java_method(:write, [Java::IoVertxCoreBuffer::Buffer.java_class]).call(data.j_del) return self end raise ArgumentError, "Invalid arguments when calling write(#{data})" end |
- (self) write_binary_message(data = nil)
172 173 174 175 176 177 178 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket_base.rb', line 172 def (data=nil) if data.class.method_defined?(:j_del) && !block_given? @j_del.java_method(:writeBinaryMessage, [Java::IoVertxCoreBuffer::Buffer.java_class]).call(data.j_del) return self end raise ArgumentError, "Invalid arguments when calling write_binary_message(#{data})" end |
- (self) write_final_binary_frame(data = nil)
161 162 163 164 165 166 167 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket_base.rb', line 161 def write_final_binary_frame(data=nil) if data.class.method_defined?(:j_del) && !block_given? @j_del.java_method(:writeFinalBinaryFrame, [Java::IoVertxCoreBuffer::Buffer.java_class]).call(data.j_del) return self end raise ArgumentError, "Invalid arguments when calling write_final_binary_frame(#{data})" end |
- (self) write_final_text_frame(text = nil)
151 152 153 154 155 156 157 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket_base.rb', line 151 def write_final_text_frame(text=nil) if text.class == String && !block_given? @j_del.java_method(:writeFinalTextFrame, [Java::java.lang.String.java_class]).call(text) return self end raise ArgumentError, "Invalid arguments when calling write_final_text_frame(#{text})" end |
- (self) write_frame(frame = nil)
141 142 143 144 145 146 147 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket_base.rb', line 141 def write_frame(frame=nil) if frame.class.method_defined?(:j_del) && !block_given? @j_del.java_method(:writeFrame, [Java::IoVertxCoreHttp::WebSocketFrame.java_class]).call(frame.j_del) return self end raise ArgumentError, "Invalid arguments when calling write_frame(#{frame})" end |
- (self) write_ping(data = nil)
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 pingHandler because RFC 6455 section 5.5.2 clearly states that the only response to a ping is a pong with identical contents.
199 200 201 202 203 204 205 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket_base.rb', line 199 def write_ping(data=nil) if data.class.method_defined?(:j_del) && !block_given? @j_del.java_method(:writePing, [Java::IoVertxCoreBuffer::Buffer.java_class]).call(data.j_del) return self end raise ArgumentError, "Invalid arguments when calling write_ping(#{data})" end |
- (self) write_pong(data = nil)
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, as the server and client both handle responding to a ping with a pong 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.
216 217 218 219 220 221 222 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket_base.rb', line 216 def write_pong(data=nil) if data.class.method_defined?(:j_del) && !block_given? @j_del.java_method(:writePong, [Java::IoVertxCoreBuffer::Buffer.java_class]).call(data.j_del) return self end raise ArgumentError, "Invalid arguments when calling write_pong(#{data})" end |
- (true, false) write_queue_full?
true if there are more bytes in the write queue than the value set using #set_write_queue_max_size
25 26 27 28 29 30 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket_base.rb', line 25 def write_queue_full? if !block_given? return @j_del.java_method(:writeQueueFull, []).call() end raise ArgumentError, "Invalid arguments when calling write_queue_full?()" end |
- (self) write_text_message(text = nil)
183 184 185 186 187 188 189 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket_base.rb', line 183 def (text=nil) if text.class == String && !block_given? @j_del.java_method(:writeTextMessage, [Java::java.lang.String.java_class]).call(text) return self end raise ArgumentError, "Invalid arguments when calling write_text_message(#{text})" end |