Class: VertxWeb::SockJSSocket
- Inherits:
-
Object
- Object
- VertxWeb::SockJSSocket
- Includes:
- Vertx::ReadStream, Vertx::WriteStream
- Defined in:
- /Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/sock_js_socket.rb
Overview
The API is very similar to Vertx::WebSocket. It implements both and so it can be used with Vertx::Pump to pump data with flow control.
Constant Summary
- @@j_api_type =
Object.new
Class Method Summary (collapse)
- + (Boolean) accept?(obj)
- + (Object) j_api_type
- + (Object) j_class
- + (Object) unwrap(obj)
- + (Object) wrap(obj)
Instance Method Summary (collapse)
-
- (void) close(statusCode = nil, reason = nil)
Close it giving a status code and reason.
- - (self) drain_handler { ... }
-
- (void) end(data = nil) { ... }
Same as but with an handler called when the operation completes.
- - (self) end_handler { ... }
- - (self) exception_handler { ... }
-
- (self) fetch(amount = nil)
Fetch the specified amount of elements.
- - (self) handler { ... }
-
- (::Vertx::MultiMap) headers
Return the headers corresponding to the last request for this socket or the websocket handshake Any cookie headers will be removed for security reasons.
-
- (::Vertx::SocketAddress) local_address
Return the local address for this socket.
- - (self) pause
-
- (::Vertx::Pipe) pipe
Pause this stream and return a to transfer the elements of this stream to a destination .
-
- (void) pipe_to(dst = nil) { ... }
Pipe this ReadStream to the WriteStream.
-
- (::Vertx::SocketAddress) remote_address
Return the remote address for this socket.
- - (self) resume
- - (self) set_write_queue_max_size(maxSize = nil)
-
- (String) uri
Return the URI corresponding to the last request for this socket or the websocket handshake.
-
- (::VertxWeb::Session) web_session
The Vert.x-Web session corresponding to this socket.
-
- (::VertxAuthCommon::User) web_user
The Vert.x-Web user corresponding to this socket.
- - (self) write(param_1 = nil)
-
- (String) write_handler_id
When a SockJSSocket is created it automatically registers an event handler with the event bus, the ID of that handler is given by writeHandlerID.
-
- (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.
Class Method Details
+ (Boolean) accept?(obj)
33 34 35 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/sock_js_socket.rb', line 33 def @@j_api_type.accept?(obj) obj.class == SockJSSocket end |
+ (Object) j_api_type
42 43 44 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/sock_js_socket.rb', line 42 def self.j_api_type @@j_api_type end |
+ (Object) j_class
45 46 47 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/sock_js_socket.rb', line 45 def self.j_class Java::IoVertxExtWebHandlerSockjs::SockJSSocket.java_class end |
+ (Object) unwrap(obj)
39 40 41 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/sock_js_socket.rb', line 39 def @@j_api_type.unwrap(obj) obj.j_del end |
+ (Object) wrap(obj)
36 37 38 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/sock_js_socket.rb', line 36 def @@j_api_type.wrap(obj) SockJSSocket.new(obj) end |
Instance Method Details
- (void) close(statusCode = nil, reason = nil)
This method returns an undefined value.
Close it giving a status code and reason. Only Applicable to RawWebSocket will downgrade to plain close for other transports.
216 217 218 219 220 221 222 223 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/sock_js_socket.rb', line 216 def close(statusCode=nil,reason=nil) if !block_given? && statusCode == nil && reason == nil return @j_del.java_method(:close, []).call() elsif statusCode.class == Fixnum && reason.class == String && !block_given? return @j_del.java_method(:close, [Java::int.java_class,Java::java.lang.String.java_class]).call(statusCode,reason) end raise ArgumentError, "Invalid arguments when calling close(#{statusCode},#{reason})" end |
- (self) drain_handler { ... }
191 192 193 194 195 196 197 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/sock_js_socket.rb', line 191 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 anhandler
called when the operation completes
52 53 54 55 56 57 58 59 60 61 62 63 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/sock_js_socket.rb', line 52 def end(data=nil) if !block_given? && data == nil return @j_del.java_method(:end, []).call() 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]).call(data.j_del) 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 { ... }
147 148 149 150 151 152 153 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/sock_js_socket.rb', line 147 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 { ... }
113 114 115 116 117 118 119 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/sock_js_socket.rb', line 113 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)
amount
of elements. If the ReadStream
has been paused, reading will
recommence with the specified amount
of items, otherwise the specified amount
will
be added to the current stream demand.
77 78 79 80 81 82 83 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/sock_js_socket.rb', line 77 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) handler { ... }
122 123 124 125 126 127 128 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/sock_js_socket.rb', line 122 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
243 244 245 246 247 248 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/sock_js_socket.rb', line 243 def headers if !block_given? return ::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
234 235 236 237 238 239 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/sock_js_socket.rb', line 234 def local_address if !block_given? return ::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
130 131 132 133 134 135 136 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/sock_js_socket.rb', line 130 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
WriteStream
.
88 89 90 91 92 93 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/sock_js_socket.rb', line 88 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 thisReadStream
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.
103 104 105 106 107 108 109 110 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/sock_js_socket.rb', line 103 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 |
- (::Vertx::SocketAddress) remote_address
226 227 228 229 230 231 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/sock_js_socket.rb', line 226 def remote_address if !block_given? return ::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
138 139 140 141 142 143 144 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/sock_js_socket.rb', line 138 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)
182 183 184 185 186 187 188 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/sock_js_socket.rb', line 182 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) uri
251 252 253 254 255 256 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/sock_js_socket.rb', line 251 def uri if !block_given? return @j_del.java_method(:uri, []).call() end raise ArgumentError, "Invalid arguments when calling uri()" end |
- (::VertxWeb::Session) web_session
258 259 260 261 262 263 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/sock_js_socket.rb', line 258 def web_session if !block_given? return ::Vertx::Util::Utils.safe_create(@j_del.java_method(:webSession, []).call(),::VertxWeb::Session) end raise ArgumentError, "Invalid arguments when calling web_session()" end |
- (::VertxAuthCommon::User) web_user
265 266 267 268 269 270 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/sock_js_socket.rb', line 265 def web_user if !block_given? return ::Vertx::Util::Utils.safe_create(@j_del.java_method(:webUser, []).call(),::VertxAuthCommon::User) end raise ArgumentError, "Invalid arguments when calling web_user()" end |
- (self) write(data) - (self) write(data) - (self) write(data, handler) { ... } - (self) write(data, handler) { ... }
165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/sock_js_socket.rb', line 165 def write(param_1=nil) if param_1.class.method_defined?(:j_del) && !block_given? @j_del.java_method(:write, [Java::IoVertxCoreBuffer::Buffer.java_class]).call(param_1.j_del) return self elsif param_1.class == String && !block_given? @j_del.java_method(:write, [Java::java.lang.String.java_class]).call(param_1) return self elsif param_1.class == String && block_given? return ::Vertx::Util::Utils.safe_create(@j_del.java_method(:write, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(param_1,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) })),::VertxWeb::SockJSSocket) elsif param_1.class.method_defined?(:j_del) && block_given? @j_del.java_method(:write, [Java::IoVertxCoreBuffer::Buffer.java_class,Java::IoVertxCore::Handler.java_class]).call(param_1.j_del,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) })) return self end raise ArgumentError, "Invalid arguments when calling write(#{param_1})" end |
- (String) write_handler_id
SockJSSocket
is created it automatically registers an event handler with the event bus, the ID of that
handler is given by writeHandlerID
.
Given this ID, a different event loop can send a buffer 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 socket. This allows you to write data to other sockets which are owned by different event loops.
205 206 207 208 209 210 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/sock_js_socket.rb', line 205 def write_handler_id if !block_given? return @j_del.java_method(:writeHandlerID, []).call() end raise ArgumentError, "Invalid arguments when calling write_handler_id()" 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
66 67 68 69 70 71 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web/sock_js_socket.rb', line 66 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 |