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)


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

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

+ (Object) j_api_type



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

def self.j_api_type
  @@j_api_type
end

+ (Object) j_class



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

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

+ (Object) unwrap(obj)



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

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

+ (Object) wrap(obj)



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

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.



669
670
671
672
673
674
675
676
677
678
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 669

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

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

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


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

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

- (self) binaryMessageHandler(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)


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

def binary_message_handler
  if true
    @j_del.java_method(:binaryMessageHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::Vertx::Buffer)) unless !block_given? }))
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling binary_message_handler()"
  end
end

- (void) close(handler) { ... } - (void) close(statusCode, handler) { ... } - (void) close(statusCode, reason, handler) { ... }

This method returns an undefined value.

Same as but with an handler called when the operation completes

Overloads:

  • - (void) close(handler) { ... }

    Yields:

  • - (void) close(statusCode, handler) { ... }

    Parameters:

    • statusCode (Fixnum)

    Yields:

  • - (void) close(statusCode, reason, handler) { ... }

    Parameters:

    • statusCode (Fixnum)
    • reason (String)

    Yields:



502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 502

def close(*args)
  if true && args[0] == nil && args[1] == nil
    if (block_given?)
      return @j_del.java_method(:close, [Java::IoVertxCore::Handler.java_class]).call(block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:close, [Java::IoVertxCore::Handler.java_class]).call(block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil)
    end
  elsif args[0].class == Fixnum && true && args[1] == nil
    if (block_given?)
      return @j_del.java_method(:close, [Java::short.java_class,Java::IoVertxCore::Handler.java_class]).call(::Vertx::Util::Utils.to_short(args[0]),block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:close, [Java::short.java_class,Java::IoVertxCore::Handler.java_class]).call(::Vertx::Util::Utils.to_short(args[0]),block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil)
    end
  elsif args[0].class == Fixnum && args[1].class == String && true
    if (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(args[0]),args[1],block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
    else
      promise = ::Vertx::Util::Utils.promise
      @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(args[0]),args[1],block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil)
    end
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling close(#{args[0]},#{args[1]})"
  end
end

- (self) closeHandler(handler) { ... }

Yields:

Returns:

  • (self)


627
628
629
630
631
632
633
634
635
636
637
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 627

def close_handler
  if true
    @j_del.java_method(:closeHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(nil) unless !block_given? }))
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling close_handler()"
  end
end

- (String) closeReason

Returns the reason message received when the WebSocket was closed by the other side, otherwise null.

Returns:

  • (String)


465
466
467
468
469
470
471
472
473
474
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 465

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

- (Fixnum) closeStatusCode

Returns the status code received when the WebSocket was closed by the other side, otherwise null.

Returns:

  • (Fixnum)


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

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

- (true, false) isClosed

Returns true if the WebSocket is closed

Returns:

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


681
682
683
684
685
686
687
688
689
690
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 681

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

- (self) drainHandler(handler) { ... }

Yields:

Returns:

  • (self)


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

def drain_handler
  if true
    @j_del.java_method(:drainHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(nil) unless !block_given? }))
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling drain_handler()"
  end
end

- (void) end(handler) { ... } - (void) end(data, handler) { ... }

This method returns an undefined value.

Same as but with an handler called when the operation completes

Overloads:

  • - (void) end(handler) { ... }

    Yields:

  • - (void) end(data, handler) { ... }

    Parameters:

    Yields:



409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 409

def end(*args)
  if true && args[0] == nil
    if (block_given?)
      return @j_del.java_method(:end, [Java::IoVertxCore::Handler.java_class]).call(block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:end, [Java::IoVertxCore::Handler.java_class]).call(block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil)
    end
  elsif args[0].class.method_defined?(:j_del) && true
    if (block_given?)
      return @j_del.java_method(:end, [Java::IoVertxCoreBuffer::Buffer.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0].j_del,block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:end, [Java::IoVertxCoreBuffer::Buffer.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0].j_del,block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil)
    end
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling end(#{args[0]})"
  end
end

- (self) endHandler(endHandler) { ... }

Yields:

Returns:

  • (self)


694
695
696
697
698
699
700
701
702
703
704
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 694

def end_handler
  if true
    @j_del.java_method(:endHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(nil) unless !block_given? }))
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling end_handler()"
  end
end

- (self) exceptionHandler(handler) { ... }

Yields:

Returns:

  • (self)


779
780
781
782
783
784
785
786
787
788
789
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 779

def exception_handler
  if true
    @j_del.java_method(:exceptionHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.from_throwable(event)) unless !block_given? }))
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling exception_handler()"
  end
end

- (self) fetch(amount)

Parameters:

  • amount (Fixnum)

Returns:

  • (self)


723
724
725
726
727
728
729
730
731
732
733
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 723

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

- (self) frameHandler(handler) { ... }

Yields:

Returns:

  • (self)


613
614
615
616
617
618
619
620
621
622
623
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 613

def frame_handler
  if true
    @j_del.java_method(:frameHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::Vertx::WebSocketFrame)) unless !block_given? }))
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling frame_handler()"
  end
end

- (self) handler(handler) { ... }

Yields:

Returns:

  • (self)


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

def handler
  if true
    @j_del.java_method(:handler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::Vertx::Buffer)) unless !block_given? }))
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling handler()"
  end
end

- (::Vertx::MultiMap) headers

Returns the HTTP headers when the WebSocket is first obtained in the handler.

The headers will be null on subsequent interactions.

Returns:



588
589
590
591
592
593
594
595
596
597
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 588

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

- (::Vertx::SocketAddress) localAddress

Returns the local address for this socket

Returns:



707
708
709
710
711
712
713
714
715
716
717
718
719
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 707

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
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling local_address()"
  end
end

- (String) path

Returns the WebSocket handshake path.

Returns:

  • (String)
    the WebSocket handshake path.


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

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

- (self) pause

Returns:

  • (self)


652
653
654
655
656
657
658
659
660
661
662
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 652

def pause
  if !block_given?
    @j_del.java_method(:pause, []).call()
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling pause()"
  end
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:



392
393
394
395
396
397
398
399
400
401
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 392

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
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling pipe()"
  end
end

- (void) pipeTo(dst, handler) { ... }

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:



268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 268

def pipe_to(*args)
  if args[0].class.method_defined?(:j_del) && true
    if (block_given?)
      return @j_del.java_method(:pipeTo, [Java::IoVertxCoreStreams::WriteStream.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0].j_del,block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:pipeTo, [Java::IoVertxCoreStreams::WriteStream.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0].j_del,block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil)
    end
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling pipe_to(#{args[0]})"
  end
end

- (self) pongHandler(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)


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

def pong_handler
  if true
    @j_del.java_method(:pongHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::Vertx::Buffer)) unless !block_given? }))
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling pong_handler()"
  end
end

- (String) query

Returns the WebSocket handshake query string.

Returns:

  • (String)
    the WebSocket handshake query string.


600
601
602
603
604
605
606
607
608
609
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 600

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

- (void) reject - (void) reject(status)

This method returns an undefined value.

Like #reject but with a status.

Overloads:

  • - (void) reject(status)

    Parameters:

    • status (Fixnum)


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

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

- (::Vertx::SocketAddress) remoteAddress

Returns the remote address for this socket

Returns:



557
558
559
560
561
562
563
564
565
566
567
568
569
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 557

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
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling remote_address()"
  end
end

- (self) resume

Returns:

  • (self)


572
573
574
575
576
577
578
579
580
581
582
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 572

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

- (void) setHandshake(future, handler) { ... }

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:

Yields:

  • the completion handler


97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 97

def set_handshake(*args)
  if args[0].class.method_defined?(:j_del) && true
    if (block_given?)
      return @j_del.java_method(:setHandshake, [Java::IoVertxCore::Future.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0].j_del,block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) } : promise)
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:setHandshake, [Java::IoVertxCore::Future.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0].j_del,block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil)
    end
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling set_handshake(#{args[0]})"
  end
end

- (self) setWriteQueueMaxSize(maxSize)

Parameters:

  • maxSize (Fixnum)

Returns:

  • (self)


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

def set_write_queue_max_size(*args)
  if args[0].class == Fixnum && !block_given?
    @j_del.java_method(:setWriteQueueMaxSize, [Java::int.java_class]).call(args[0])
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling set_write_queue_max_size(#{args[0]})"
  end
end

- (true, false) isSsl

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

Returns:

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


792
793
794
795
796
797
798
799
800
801
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 792

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

- (String) subProtocol

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)


481
482
483
484
485
486
487
488
489
490
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 481

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

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

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)


184
185
186
187
188
189
190
191
192
193
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 184

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

- (self) textMessageHandler(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)


131
132
133
134
135
136
137
138
139
140
141
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 131

def text_message_handler
  if true
    @j_del.java_method(:textMessageHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(event) unless !block_given? }))
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling text_message_handler()"
  end
end

- (String) uri

Returns:

  • (String)


640
641
642
643
644
645
646
647
648
649
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 640

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

- (void) write(data, handler) { ... }

This method returns an undefined value.

Same as but with an handler called when the operation completes

Parameters:

Yields:



539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 539

def write(*args)
  if args[0].class.method_defined?(:j_del) && true
    if (block_given?)
      return @j_del.java_method(:write, [Java::IoVertxCoreBuffer::Buffer.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0].j_del,block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:write, [Java::IoVertxCoreBuffer::Buffer.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0].j_del,block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil)
    end
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling write(#{args[0]})"
  end
end

- (self) writeBinaryMessage(data, handler) { ... }

Parameters:

Yields:

Returns:

  • (self)


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

def write_binary_message(*args)
  if args[0].class.method_defined?(:j_del) && true
    if (block_given?)
      @j_del.java_method(:writeBinaryMessage, [Java::IoVertxCoreBuffer::Buffer.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0].j_del,block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return self
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:writeBinaryMessage, [Java::IoVertxCoreBuffer::Buffer.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0].j_del,block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil)
    end
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling write_binary_message(#{args[0]})"
  end
end

- (self) writeFinalBinaryFrame(data, handler) { ... }

Parameters:

Yields:

Returns:

  • (self)


146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 146

def write_final_binary_frame(*args)
  if args[0].class.method_defined?(:j_del) && true
    if (block_given?)
      @j_del.java_method(:writeFinalBinaryFrame, [Java::IoVertxCoreBuffer::Buffer.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0].j_del,block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return self
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:writeFinalBinaryFrame, [Java::IoVertxCoreBuffer::Buffer.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0].j_del,block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil)
    end
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling write_final_binary_frame(#{args[0]})"
  end
end

- (self) writeFinalTextFrame(text, handler) { ... }

Parameters:

  • text (String)

Yields:

Returns:

  • (self)


738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 738

def write_final_text_frame(*args)
  if args[0].class == String && true
    if (block_given?)
      @j_del.java_method(:writeFinalTextFrame, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0],block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return self
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:writeFinalTextFrame, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0],block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil)
    end
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling write_final_text_frame(#{args[0]})"
  end
end

- (self) writeFrame(frame, handler) { ... }

Parameters:

Yields:

Returns:

  • (self)


759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 759

def write_frame(*args)
  if args[0].class.method_defined?(:j_del) && true
    if (block_given?)
      @j_del.java_method(:writeFrame, [Java::IoVertxCoreHttp::WebSocketFrame.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0].j_del,block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return self
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:writeFrame, [Java::IoVertxCoreHttp::WebSocketFrame.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0].j_del,block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil)
    end
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling write_frame(#{args[0]})"
  end
end

- (self) writePing(data, handler) { ... }

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:

Yields:

  • called when the ping frame has been successfully written

Returns:

  • (self)


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

def write_ping(*args)
  if args[0].class.method_defined?(:j_del) && true
    if (block_given?)
      @j_del.java_method(:writePing, [Java::IoVertxCoreBuffer::Buffer.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0].j_del,block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return self
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:writePing, [Java::IoVertxCoreBuffer::Buffer.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0].j_del,block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil)
    end
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling write_ping(#{args[0]})"
  end
end

- (self) writePong(data, handler) { ... }

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:

Yields:

  • called when the pong frame has been successfully written

Returns:

  • (self)


445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/server_web_socket.rb', line 445

def write_pong(*args)
  if args[0].class.method_defined?(:j_del) && true
    if (block_given?)
      @j_del.java_method(:writePong, [Java::IoVertxCoreBuffer::Buffer.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0].j_del,block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return self
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:writePong, [Java::IoVertxCoreBuffer::Buffer.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0].j_del,block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil)
    end
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling write_pong(#{args[0]})"
  end
end

- (true, false) writeQueueFull

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


166
167
168
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 166

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

- (self) writeTextMessage(text, handler) { ... }

Parameters:

  • text (String)

Yields:

Returns:

  • (self)


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

def write_text_message(*args)
  if args[0].class == String && true
    if (block_given?)
      @j_del.java_method(:writeTextMessage, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0],block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return self
    else
      promise = ::Vertx::Util::Utils.promise
      @j_del.java_method(:writeTextMessage, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0],block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise)
      return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil)
    end
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling write_text_message(#{args[0]})"
  end
end