Class: Vertx::WebSocket

Inherits:
Object
  • Object
show all
Includes:
WebSocketBase
Defined in:
/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb

Overview

Represents a client-side WebSocket.

Constant Summary

@@j_api_type =
Object.new

Class Method Summary (collapse)

Instance Method Summary (collapse)

Class Method Details

+ (Boolean) accept?(obj)

Returns:

  • (Boolean)


22
23
24
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb', line 22

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

+ (Object) j_api_type



31
32
33
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb', line 31

def self.j_api_type
  @@j_api_type
end

+ (Object) j_class



34
35
36
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb', line 34

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

+ (Object) unwrap(obj)



28
29
30
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb', line 28

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

+ (Object) wrap(obj)



25
26
27
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb', line 25

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

Instance Method Details

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


63
64
65
66
67
68
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb', line 63

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 Vertx::WebSocketFrame#is_final to find the boundaries).

Yields:

  • the handler

Returns:

  • (self)

Raises:

  • (ArgumentError)


98
99
100
101
102
103
104
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb', line 98

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

This method returns an undefined value.

Close the WebSocket.

Raises:

  • (ArgumentError)


107
108
109
110
111
112
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb', line 107

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

- (self) close_handler { ... }

Yields:

Returns:

  • (self)

Raises:

  • (ArgumentError)


257
258
259
260
261
262
263
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb', line 257

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

Yields:

Returns:

  • (self)

Raises:

  • (ArgumentError)


203
204
205
206
207
208
209
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb', line 203

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 Vertx::WebSocketBase#end but writes some data to the stream before ending.

Parameters:

Raises:

  • (ArgumentError)


40
41
42
43
44
45
46
47
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb', line 40

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

Yields:

Returns:

  • (self)

Raises:

  • (ArgumentError)


176
177
178
179
180
181
182
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb', line 176

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)


142
143
144
145
146
147
148
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb', line 142

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

Yields:

Returns:

  • (self)

Raises:

  • (ArgumentError)


266
267
268
269
270
271
272
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb', line 266

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)


151
152
153
154
155
156
157
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb', line 151

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

Returns the local address for this socket

Returns:

Raises:

  • (ArgumentError)


124
125
126
127
128
129
130
131
132
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb', line 124

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

Returns:

  • (self)

Raises:

  • (ArgumentError)


159
160
161
162
163
164
165
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb', line 159

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

- (::Vertx::SocketAddress) remote_address

Returns the remote address for this socket

Returns:

Raises:

  • (ArgumentError)


114
115
116
117
118
119
120
121
122
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb', line 114

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)


167
168
169
170
171
172
173
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb', line 167

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)

Parameters:

  • maxSize (Fixnum) (defaults to: nil)

Returns:

  • (self)

Raises:

  • (ArgumentError)


194
195
196
197
198
199
200
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb', line 194

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)


134
135
136
137
138
139
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb', line 134

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


76
77
78
79
80
81
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb', line 76

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)


86
87
88
89
90
91
92
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb', line 86

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

- (self) write(data = nil)

Parameters:

Returns:

  • (self)

Raises:

  • (ArgumentError)


185
186
187
188
189
190
191
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb', line 185

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)

Parameters:

Returns:

  • (self)

Raises:

  • (ArgumentError)


239
240
241
242
243
244
245
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb', line 239

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
  end
  raise ArgumentError, "Invalid arguments when calling write_binary_message(#{data})"
end

- (self) write_final_binary_frame(data = nil)

Parameters:

Returns:

  • (self)

Raises:

  • (ArgumentError)


230
231
232
233
234
235
236
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb', line 230

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)

Parameters:

  • text (String) (defaults to: nil)

Returns:

  • (self)

Raises:

  • (ArgumentError)


221
222
223
224
225
226
227
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb', line 221

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)

Parameters:

Returns:

  • (self)

Raises:

  • (ArgumentError)


212
213
214
215
216
217
218
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb', line 212

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

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


50
51
52
53
54
55
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb', line 50

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)

Returns:

  • (self)

Raises:

  • (ArgumentError)


248
249
250
251
252
253
254
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/web_socket.rb', line 248

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
  end
  raise ArgumentError, "Invalid arguments when calling write_text_message(#{text})"
end