Class: Vertx::ServerWebSocket
- Inherits:
-
Object
- Object
- Vertx::ServerWebSocket
- Includes:
- WebSocketBase
- Defined in:
- /Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/src/main/resources/vertx/server_web_socket.rb
Overview
Instances of this class are passed into a HttpServer#websocket_handler or provided when a WebSocket handshake is manually {::Vertx::HttpServerRequest#upgrade}ed.
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.
-
- (void) close
Close the WebSocket.
- - (self) close_handler { ... }
- - (self) drain_handler { ... }
- - (self) end_handler { ... }
- - (self) exception_handler { ... }
- - (self) frame_handler { ... }
- - (self) handler { ... }
-
- (::Vertx::MultiMap) headers
@return the headers in the WebSocket handshake.
-
- (::Vertx::SocketAddress) local_address
@return the local address for this socket.
-
- (String) path
@return the WebSocket handshake path.
- - (self) pause
-
- (String) query
@return the WebSocket handshake query string.
-
- (void) reject
Reject the WebSocket.
-
- (::Vertx::SocketAddress) remote_address
@return the remote address for this socket.
- - (self) resume
- - (self) set_write_queue_max_size(maxSize = nil)
-
- (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.
- - (String) uri
- - (self) write(data = nil)
- - (self) write_frame(frame = nil)
- - (self) write_message(data = nil)
-
- (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.
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.
40 41 42 43 44 45 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/src/main/resources/vertx/server_web_socket.rb', line 40 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 |
- (void) close
This method returns an undefined value.
Close the WebSocket.
61 62 63 64 65 66 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/src/main/resources/vertx/server_web_socket.rb', line 61 def close if !block_given? return @j_del.java_method(:close, []).call() end raise ArgumentError, "Invalid arguments when calling close()" end |
- (self) close_handler { ... }
179 180 181 182 183 184 185 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/src/main/resources/vertx/server_web_socket.rb', line 179 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 { ... }
152 153 154 155 156 157 158 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/src/main/resources/vertx/server_web_socket.rb', line 152 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 |
- (self) end_handler { ... }
125 126 127 128 129 130 131 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/src/main/resources/vertx/server_web_socket.rb', line 125 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 { ... }
91 92 93 94 95 96 97 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/src/main/resources/vertx/server_web_socket.rb', line 91 def exception_handler if block_given? @j_del.java_method(:exceptionHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(event) })) return self end raise ArgumentError, "Invalid arguments when calling exception_handler()" end |
- (self) frame_handler { ... }
188 189 190 191 192 193 194 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/src/main/resources/vertx/server_web_socket.rb', line 188 def frame_handler if block_given? @j_del.java_method(:frameHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::WebSocketFrame.new(event)) })) return self end raise ArgumentError, "Invalid arguments when calling frame_handler()" end |
- (self) handler { ... }
100 101 102 103 104 105 106 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/src/main/resources/vertx/server_web_socket.rb', line 100 def handler if block_given? @j_del.java_method(:handler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Buffer.new(event)) })) return self end raise ArgumentError, "Invalid arguments when calling handler()" end |
- (::Vertx::MultiMap) headers
220 221 222 223 224 225 226 227 228 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/src/main/resources/vertx/server_web_socket.rb', line 220 def headers if !block_given? if @cached_headers != nil return @cached_headers end return @cached_headers = ::Vertx::MultiMap.new(@j_del.java_method(:headers, []).call()) end raise ArgumentError, "Invalid arguments when calling headers()" end |
- (::Vertx::SocketAddress) local_address
80 81 82 83 84 85 86 87 88 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/src/main/resources/vertx/server_web_socket.rb', line 80 def local_address if !block_given? if @cached_local_address != nil return @cached_local_address end return @cached_local_address = ::Vertx::SocketAddress.new(@j_del.java_method(:localAddress, []).call()) end raise ArgumentError, "Invalid arguments when calling local_address()" end |
- (String) path
204 205 206 207 208 209 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/src/main/resources/vertx/server_web_socket.rb', line 204 def path if !block_given? return @j_del.java_method(:path, []).call() end raise ArgumentError, "Invalid arguments when calling path()" end |
- (self) pause
108 109 110 111 112 113 114 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/src/main/resources/vertx/server_web_socket.rb', line 108 def pause if !block_given? @j_del.java_method(:pause, []).call() return self end raise ArgumentError, "Invalid arguments when calling pause()" end |
- (String) query
212 213 214 215 216 217 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/src/main/resources/vertx/server_web_socket.rb', line 212 def query if !block_given? return @j_del.java_method(:query, []).call() end raise ArgumentError, "Invalid arguments when calling query()" end |
- (void) reject
This method returns an undefined value.
Reject the WebSocket.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.
237 238 239 240 241 242 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/src/main/resources/vertx/server_web_socket.rb', line 237 def reject if !block_given? return @j_del.java_method(:reject, []).call() end raise ArgumentError, "Invalid arguments when calling reject()" end |
- (::Vertx::SocketAddress) remote_address
69 70 71 72 73 74 75 76 77 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/src/main/resources/vertx/server_web_socket.rb', line 69 def remote_address if !block_given? if @cached_remote_address != nil return @cached_remote_address end return @cached_remote_address = ::Vertx::SocketAddress.new(@j_del.java_method(:remoteAddress, []).call()) end raise ArgumentError, "Invalid arguments when calling remote_address()" end |
- (self) resume
116 117 118 119 120 121 122 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/src/main/resources/vertx/server_web_socket.rb', line 116 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)
143 144 145 146 147 148 149 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/src/main/resources/vertx/server_web_socket.rb', line 143 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 |
- (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.
53 54 55 56 57 58 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/src/main/resources/vertx/server_web_socket.rb', line 53 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 |
- (String) uri
196 197 198 199 200 201 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/src/main/resources/vertx/server_web_socket.rb', line 196 def uri if !block_given? return @j_del.java_method(:uri, []).call() end raise ArgumentError, "Invalid arguments when calling uri()" end |
- (self) write(data = nil)
134 135 136 137 138 139 140 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/src/main/resources/vertx/server_web_socket.rb', line 134 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_frame(frame = nil)
161 162 163 164 165 166 167 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/src/main/resources/vertx/server_web_socket.rb', line 161 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_message(data = nil)
170 171 172 173 174 175 176 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/src/main/resources/vertx/server_web_socket.rb', line 170 def (data=nil) if data.class.method_defined?(:j_del) && !block_given? @j_del.java_method(:writeMessage, [Java::IoVertxCoreBuffer::Buffer.java_class]).call(data.j_del) return self end raise ArgumentError, "Invalid arguments when calling write_message(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
27 28 29 30 31 32 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/src/main/resources/vertx/server_web_socket.rb', line 27 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 |