Class: Vertx::ServerWebSocket

Inherits:
Object
  • Object
show all
Includes:
WebSocketBase
Defined in:
/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb

Overview

Represents a server side WebSocket.

Instances of this class are passed into a HttpServer#websocket_handler or provided when a WebSocket handshake is manually {::Vertx::HttpServerRequest#upgrade}ed.

Constant Summary

@@j_api_type =
Object.new

Class Method Summary (collapse)

Instance Method Summary (collapse)

Class Method Details

+ (Boolean) accept?(obj)

Returns:

  • (Boolean)

29
30
31
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 29

def @@j_api_type.accept?(obj)
  obj.class == ServerWebSocket
end

+ (Object) j_api_type


38
39
40
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 38

def self.j_api_type
  @@j_api_type
end

+ (Object) j_class


41
42
43
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 41

def self.j_class
  Java::IoVertxCoreHttp::ServerWebSocket.java_class
end

+ (Object) unwrap(obj)


35
36
37
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 35

def @@j_api_type.unwrap(obj)
  obj.j_del
end

+ (Object) wrap(obj)


32
33
34
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 32

def @@j_api_type.wrap(obj)
  ServerWebSocket.new(obj)
end

Instance Method Details

- (void) accept

This method returns an undefined value.

Accept the WebSocket and terminate the WebSocket handshake.

This method should be called from the WebSocket handler to explicitly accept the WebSocket and terminate the WebSocket handshake.

Raises:

  • (ArgumentError)

463
464
465
466
467
468
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 463

def accept
  if !block_given?
    return @j_del.java_method(:accept, []).call()
  end
  raise ArgumentError, "Invalid arguments when calling accept()"
end

- (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.

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.

Returns:

  • (String)
    the binary handler id

Raises:

  • (ArgumentError)

102
103
104
105
106
107
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 102

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 { ... }

Set a binary message handler on the connection. This handler serves a similar purpose to #handler except that if a message comes into the socket in multiple frames, the data from the frames will be aggregated into a single buffer before calling the handler (using WebSocketFrame#is_final to find the boundaries).

Yields:

  • the handler

Returns:

  • (self)

Raises:

  • (ArgumentError)

181
182
183
184
185
186
187
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 181

def binary_message_handler
  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.

Same as but with an handler called when the operation completes

Parameters:

  • statusCode (Fixnum) (defaults to: nil)
  • reason (String) (defaults to: nil)

Yields:

Raises:

  • (ArgumentError)

211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 211

def close(statusCode=nil,reason=nil)
  if !block_given? && statusCode == nil && reason == nil
    return @j_del.java_method(:close, []).call()
  elsif block_given? && statusCode == nil && reason == nil
    return @j_del.java_method(:close, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
  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 && block_given? && reason == nil
    return @j_del.java_method(:close, [Java::short.java_class,Java::IoVertxCore::Handler.java_class]).call(::Vertx::Util::Utils.to_short(statusCode),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
  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)
  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,Java::IoVertxCore::Handler.java_class]).call(::Vertx::Util::Utils.to_short(statusCode),reason,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
  end
  raise ArgumentError, "Invalid arguments when calling close(#{statusCode},#{reason})"
end

- (self) close_handler { ... }

Yields:

Returns:

  • (self)

Raises:

  • (ArgumentError)

411
412
413
414
415
416
417
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 411

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

- (true, false) closed?

Returns true if the WebSocket is closed

Returns:

  • (true, false)
    true if the WebSocket is closed

Raises:

  • (ArgumentError)

255
256
257
258
259
260
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 255

def closed?
  if !block_given?
    return @j_del.java_method(:isClosed, []).call()
  end
  raise ArgumentError, "Invalid arguments when calling closed?()"
end

- (self) drain_handler { ... }

Yields:

Returns:

  • (self)

Raises:

  • (ArgumentError)

337
338
339
340
341
342
343
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 337

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(data = nil) { ... }

This method returns an undefined value.

Same as but with an handler called when the operation completes

Parameters:

Yields:

Raises:

  • (ArgumentError)

48
49
50
51
52
53
54
55
56
57
58
59
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 48

def end(data=nil)
  if !block_given? && data == nil
    return @j_del.java_method(:end, []).call()
  elsif data.class.method_defined?(:j_del) && !block_given?
    return @j_del.java_method(:end, [Java::IoVertxCoreBuffer::Buffer.java_class]).call(data.j_del)
  elsif block_given? && data == nil
    return @j_del.java_method(:end, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
  elsif data.class.method_defined?(:j_del) && block_given?
    return @j_del.java_method(:end, [Java::IoVertxCoreBuffer::Buffer.java_class,Java::IoVertxCore::Handler.java_class]).call(data.j_del,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
  end
  raise ArgumentError, "Invalid arguments when calling end(#{data})"
end

- (self) end_handler { ... }

Yields:

Returns:

  • (self)

Raises:

  • (ArgumentError)

306
307
308
309
310
311
312
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 306

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 { ... }

Yields:

Returns:

  • (self)

Raises:

  • (ArgumentError)

263
264
265
266
267
268
269
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 263

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) fetch(amount = nil)

Parameters:

  • amount (Fixnum) (defaults to: nil)

Returns:

  • (self)

Raises:

  • (ArgumentError)

297
298
299
300
301
302
303
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 297

def fetch(amount=nil)
  if amount.class == Fixnum && !block_given?
    @j_del.java_method(:fetch, [Java::long.java_class]).call(amount)
    return self
  end
  raise ArgumentError, "Invalid arguments when calling fetch(#{amount})"
end

- (self) frame_handler { ... }

Yields:

Returns:

  • (self)

Raises:

  • (ArgumentError)

420
421
422
423
424
425
426
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 420

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 { ... }

Yields:

Returns:

  • (self)

Raises:

  • (ArgumentError)

272
273
274
275
276
277
278
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 272

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::MultiMap) headers

Returns the headers in the WebSocket handshake

Returns:

Raises:

  • (ArgumentError)

449
450
451
452
453
454
455
456
457
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 449

def headers
  if !block_given?
    if @cached_headers != nil
      return @cached_headers
    end
    return @cached_headers = ::Vertx::Util::Utils.safe_create(@j_del.java_method(:headers, []).call(),::Vertx::MultiMap)
  end
  raise ArgumentError, "Invalid arguments when calling headers()"
end

- (::Vertx::SocketAddress) local_address

Returns the local address for this socket

Returns:

Raises:

  • (ArgumentError)

238
239
240
241
242
243
244
245
246
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 238

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

- (String) path

Returns the WebSocket handshake path.

Returns:

  • (String)
    the WebSocket handshake path.

Raises:

  • (ArgumentError)

435
436
437
438
439
440
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 435

def path
  if !block_given?
    return @j_del.java_method(:path, []).call()
  end
  raise ArgumentError, "Invalid arguments when calling path()"
end

- (self) pause

Returns:

  • (self)

Raises:

  • (ArgumentError)

280
281
282
283
284
285
286
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 280

def pause
  if !block_given?
    @j_del.java_method(:pause, []).call()
    return self
  end
  raise ArgumentError, "Invalid arguments when calling pause()"
end

- (::Vertx::Pipe) pipe

Pause this stream and return a to transfer the elements of this stream to a destination .

The stream will be resumed when the pipe will be wired to a WriteStream.

Returns:

Raises:

  • (ArgumentError)

72
73
74
75
76
77
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 72

def pipe
  if !block_given?
    return ::Vertx::Util::Utils.safe_create(@j_del.java_method(:pipe, []).call(),::Vertx::Pipe,::Vertx::Buffer.j_api_type)
  end
  raise ArgumentError, "Invalid arguments when calling pipe()"
end

- (void) pipe_to(dst = nil) { ... }

This method returns an undefined value.

Pipe this ReadStream to the WriteStream.

Elements emitted by this stream will be written to the write stream until this stream ends or fails.

Once this stream has ended or failed, the write stream will be ended and the handler will be called with the result.

Parameters:

Yields:

Raises:

  • (ArgumentError)

87
88
89
90
91
92
93
94
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 87

def pipe_to(dst=nil)
  if dst.class.method_defined?(:j_del) && !block_given?
    return @j_del.java_method(:pipeTo, [Java::IoVertxCoreStreams::WriteStream.java_class]).call(dst.j_del)
  elsif dst.class.method_defined?(:j_del) && block_given?
    return @j_del.java_method(:pipeTo, [Java::IoVertxCoreStreams::WriteStream.java_class,Java::IoVertxCore::Handler.java_class]).call(dst.j_del,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
  end
  raise ArgumentError, "Invalid arguments when calling pipe_to(#{dst})"
end

- (self) pong_handler { ... }

Set a pong frame handler on the connection. This handler will be invoked every time a pong frame is received on the server, and can be used by both clients and servers since the RFC 6455 section 5.5.2 and section 5.5.3 do not specify whether the client or server sends a ping.

Pong frames may be at most 125 bytes (octets).

There is no ping handler since ping frames should immediately be responded to with a pong frame with identical content

Pong frames may be received unsolicited.

Yields:

  • the handler

Returns:

  • (self)

Raises:

  • (ArgumentError)

199
200
201
202
203
204
205
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 199

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

- (String) query

Returns the WebSocket handshake query string.

Returns:

  • (String)
    the WebSocket handshake query string.

Raises:

  • (ArgumentError)

442
443
444
445
446
447
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 442

def query
  if !block_given?
    return @j_del.java_method(:query, []).call()
  end
  raise ArgumentError, "Invalid arguments when calling query()"
end

- (void) reject(status = nil)

This method returns an undefined value.

Like #reject but with a status.

Parameters:

  • status (Fixnum) (defaults to: nil)

Raises:

  • (ArgumentError)

472
473
474
475
476
477
478
479
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 472

def reject(status=nil)
  if !block_given? && status == nil
    return @j_del.java_method(:reject, []).call()
  elsif status.class == Fixnum && !block_given?
    return @j_del.java_method(:reject, [Java::int.java_class]).call(status)
  end
  raise ArgumentError, "Invalid arguments when calling reject(#{status})"
end

- (::Vertx::SocketAddress) remote_address

Returns the remote address for this socket

Returns:

Raises:

  • (ArgumentError)

228
229
230
231
232
233
234
235
236
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 228

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

Returns:

  • (self)

Raises:

  • (ArgumentError)

288
289
290
291
292
293
294
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 288

def resume
  if !block_given?
    @j_del.java_method(:resume, []).call()
    return self
  end
  raise ArgumentError, "Invalid arguments when calling resume()"
end

- (void) set_handshake(future = nil)

This method returns an undefined value.

Set an asynchronous result for the handshake, upon completion of the specified future, the WebSocket will either be
  • accepted when the future succeeds with the HTTP status code
  • rejected when the future is succeeds with an HTTP status code different than
  • rejected when the future fails with the HTTP status code 500
The provided future might be completed by the WebSocket itself, e.g calling the #close method will try to accept the handshake and close the WebSocket afterward. Thus it is advised to try to complete the future with or .

This method should be called from the WebSocket handler to explicitly set an asynchronous handshake.

Calling this method will override the future completion handler.

Parameters:

Raises:

  • (ArgumentError)

498
499
500
501
502
503
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 498

def set_handshake(future=nil)
  if future.class.method_defined?(:j_del) && !block_given?
    return @j_del.java_method(:setHandshake, [Java::IoVertxCore::Promise.java_class]).call(future.j_del)
  end
  raise ArgumentError, "Invalid arguments when calling set_handshake(#{future})"
end

- (self) set_write_queue_max_size(maxSize = nil)

Parameters:

  • maxSize (Fixnum) (defaults to: nil)

Returns:

  • (self)

Raises:

  • (ArgumentError)

328
329
330
331
332
333
334
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 328

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?

Returns true if this HttpConnection is encrypted via SSL/TLS.

Returns:

  • (true, false)
    true if this HttpConnection is encrypted via SSL/TLS.

Raises:

  • (ArgumentError)

248
249
250
251
252
253
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 248

def ssl?
  if !block_given?
    return @j_del.java_method(:isSsl, []).call()
  end
  raise ArgumentError, "Invalid arguments when calling ssl?()"
end

- (String) sub_protocol

Returns the WebSocket sub protocol selected by the WebSocket handshake.

On the server, the value will be null when the handler receives the websocket callback as the handshake will not be completed yet.

Returns:

  • (String)

Raises:

  • (ArgumentError)

126
127
128
129
130
131
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 126

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

When a 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.

Returns:

  • (String)

Raises:

  • (ArgumentError)

115
116
117
118
119
120
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 115

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 { ... }

Set a text message handler on the connection. This handler will be called similar to the , but the buffer will be converted to a String first

Yields:

  • the handler

Returns:

  • (self)

Raises:

  • (ArgumentError)

169
170
171
172
173
174
175
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 169

def text_message_handler
  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

- (String) uri

Returns:

  • (String)

Raises:

  • (ArgumentError)

428
429
430
431
432
433
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 428

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) { ... }

Parameters:

Yields:

Returns:

  • (self)

Raises:

  • (ArgumentError)

316
317
318
319
320
321
322
323
324
325
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 316

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
  elsif data.class.method_defined?(:j_del) && block_given?
    @j_del.java_method(:write, [Java::IoVertxCoreBuffer::Buffer.java_class,Java::IoVertxCore::Handler.java_class]).call(data.j_del,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
    return self
  end
  raise ArgumentError, "Invalid arguments when calling write(#{data})"
end

- (self) write_binary_message(data = nil) { ... }

Parameters:

Yields:

Returns:

  • (self)

Raises:

  • (ArgumentError)

386
387
388
389
390
391
392
393
394
395
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 386

def write_binary_message(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
  elsif data.class.method_defined?(:j_del) && block_given?
    @j_del.java_method(:writeBinaryMessage, [Java::IoVertxCoreBuffer::Buffer.java_class,Java::IoVertxCore::Handler.java_class]).call(data.j_del,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
    return self
  end
  raise ArgumentError, "Invalid arguments when calling write_binary_message(#{data})"
end

- (self) write_final_binary_frame(data = nil) { ... }

Parameters:

Yields:

Returns:

  • (self)

Raises:

  • (ArgumentError)

373
374
375
376
377
378
379
380
381
382
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 373

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
  elsif data.class.method_defined?(:j_del) && block_given?
    @j_del.java_method(:writeFinalBinaryFrame, [Java::IoVertxCoreBuffer::Buffer.java_class,Java::IoVertxCore::Handler.java_class]).call(data.j_del,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
    return self
  end
  raise ArgumentError, "Invalid arguments when calling write_final_binary_frame(#{data})"
end

- (self) write_final_text_frame(text = nil) { ... }

Parameters:

  • text (String) (defaults to: nil)

Yields:

Returns:

  • (self)

Raises:

  • (ArgumentError)

360
361
362
363
364
365
366
367
368
369
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 360

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
  elsif text.class == String && block_given?
    @j_del.java_method(:writeFinalTextFrame, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(text,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
    return self
  end
  raise ArgumentError, "Invalid arguments when calling write_final_text_frame(#{text})"
end

- (self) write_frame(frame = nil) { ... }

Parameters:

Yields:

Returns:

  • (self)

Raises:

  • (ArgumentError)

347
348
349
350
351
352
353
354
355
356
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 347

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
  elsif frame.class.method_defined?(:j_del) && block_given?
    @j_del.java_method(:writeFrame, [Java::IoVertxCoreHttp::WebSocketFrame.java_class,Java::IoVertxCore::Handler.java_class]).call(frame.j_del,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
    return self
  end
  raise ArgumentError, "Invalid arguments when calling write_frame(#{frame})"
end

- (self) write_ping(data = nil)

Writes a ping frame to the connection. This will be written in a single frame. Ping frames may be at most 125 bytes (octets).

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.

Parameters:

  • data (::Vertx::Buffer) (defaults to: nil)
    the data to write, may be at most 125 bytes

Returns:

  • (self)

Raises:

  • (ArgumentError)

141
142
143
144
145
146
147
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 141

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)

Writes a pong frame to the connection. This will be written in a single frame. Pong frames may be at most 125 bytes (octets).

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.

Parameters:

  • data (::Vertx::Buffer) (defaults to: nil)
    the data to write, may be at most 125 bytes

Returns:

  • (self)

Raises:

  • (ArgumentError)

158
159
160
161
162
163
164
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 158

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?

This will return true if there are more bytes in the write queue than the value set using #set_write_queue_max_size

Returns:

  • (true, false)
    true if write queue is full

Raises:

  • (ArgumentError)

62
63
64
65
66
67
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 62

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) { ... }

Parameters:

  • text (String) (defaults to: nil)

Yields:

Returns:

  • (self)

Raises:

  • (ArgumentError)

399
400
401
402
403
404
405
406
407
408
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 399

def write_text_message(text=nil)
  if text.class == String && !block_given?
    @j_del.java_method(:writeTextMessage, [Java::java.lang.String.java_class]).call(text)
    return self
  elsif text.class == String && block_given?
    @j_del.java_method(:writeTextMessage, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(text,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
    return self
  end
  raise ArgumentError, "Invalid arguments when calling write_text_message(#{text})"
end