Class: Vertx::DatagramSocket
- Inherits:
-
Object
- Object
- Vertx::DatagramSocket
- Includes:
- Measured, ReadStream
- Defined in:
- /Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/datagram_socket.rb
Overview
A datagram socket can be used to send DatagramPacket's to remote datagram servers
and receive {::Vertx::DatagramPacket}s .
Usually you use a datagram socket to send UDP over the wire. UDP is connection-less which means you are not connected to the remote peer in a persistent way. Because of this you have to supply the address and port of the remote peer when sending data.
You can send data to ipv4 or ipv6 addresses, which also include multicast addresses.
Please consult the documentation for more information on datagram sockets.
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)
-
- (self) block_multicast_group(multicastAddress = nil, networkInterface = nil, sourceToBlock = nil) { ... }
Block the given address for the given multicast address on the given network interface and notifies the once the operation completes.
-
- (void) close { ... }
Closes the DatagramSocket implementation asynchronous and notifies the handler once done.
- - (self) end_handler { ... }
- - (self) exception_handler { ... }
- - (self) fetch(amount = nil)
- - (self) handler { ... }
-
- (self) listen(port = nil, host = nil) { ... }
Start listening on the given port and host.
-
- (self) listen_multicast_group(multicastAddress = nil, networkInterface = nil, source = nil) { ... }
Joins a multicast group and listens for packets send to it on the given network interface.
-
- (::Vertx::SocketAddress) local_address
Return the SocketAddress to which this DatagramSocket is bound.
-
- (true, false) metrics_enabled?
Whether the metrics are enabled for this measured object.
- - (self) pause
- - (self) resume
-
- (self) send(param_1 = nil, param_2 = nil, param_3 = nil, param_4 = nil)
Write the given String to the SocketAddress using the given encoding.
-
- (::Vertx::WriteStream) sender(port = nil, host = nil)
Returns a WriteStream able to send to the SocketAddress.
-
- (self) unlisten_multicast_group(multicastAddress = nil, networkInterface = nil, source = nil) { ... }
Leaves a multicast group and stops listening for packets send to it on the given network interface.
Class Method Details
+ (Boolean) accept?(obj)
34 35 36 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/datagram_socket.rb', line 34 def @@j_api_type.accept?(obj) obj.class == DatagramSocket end |
+ (Object) j_api_type
43 44 45 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/datagram_socket.rb', line 43 def self.j_api_type @@j_api_type end |
+ (Object) j_class
46 47 48 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/datagram_socket.rb', line 46 def self.j_class Java::IoVertxCoreDatagram::DatagramSocket.java_class end |
+ (Object) unwrap(obj)
40 41 42 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/datagram_socket.rb', line 40 def @@j_api_type.unwrap(obj) obj.j_del end |
+ (Object) wrap(obj)
37 38 39 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/datagram_socket.rb', line 37 def @@j_api_type.wrap(obj) DatagramSocket.new(obj) end |
Instance Method Details
- (self) block_multicast_group(multicastAddress = nil, networkInterface = nil, sourceToBlock = nil) { ... }
Block the given address for the given multicast address on the given network interface and notifies
the once the operation completes.
165 166 167 168 169 170 171 172 173 174 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/datagram_socket.rb', line 165 def block_multicast_group(multicastAddress=nil,networkInterface=nil,sourceToBlock=nil) if multicastAddress.class == String && networkInterface.class == String && block_given? && sourceToBlock == nil @j_del.java_method(:blockMulticastGroup, [Java::java.lang.String.java_class,Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(multicastAddress,networkInterface,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::Vertx::DatagramSocket) : nil) })) return self elsif multicastAddress.class == String && networkInterface.class == String && sourceToBlock.class == String && block_given? @j_del.java_method(:blockMulticastGroup, [Java::java.lang.String.java_class,Java::java.lang.String.java_class,Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(multicastAddress,networkInterface,sourceToBlock,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::Vertx::DatagramSocket) : nil) })) return self end raise ArgumentError, "Invalid arguments when calling block_multicast_group(#{multicastAddress},#{networkInterface},#{sourceToBlock})" end |
- (void) close { ... }
This method returns an undefined value.
Closes the Vertx::DatagramSocket implementation asynchronous and notifies the handler once done.
104 105 106 107 108 109 110 111 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/datagram_socket.rb', line 104 def close if !block_given? return @j_del.java_method(:close, []).call() elsif block_given? return @j_del.java_method(:close, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |ar| yield(ar.failed ? ar.cause : nil) })) end raise ArgumentError, "Invalid arguments when calling close()" end |
- (self) end_handler { ... }
214 215 216 217 218 219 220 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/datagram_socket.rb', line 214 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 { ... }
232 233 234 235 236 237 238 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/datagram_socket.rb', line 232 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)
205 206 207 208 209 210 211 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/datagram_socket.rb', line 205 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 { ... }
223 224 225 226 227 228 229 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/datagram_socket.rb', line 223 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::DatagramPacket)) })) return self end raise ArgumentError, "Invalid arguments when calling handler()" end |
- (self) listen(port = nil, host = nil) { ... }
Start listening on the given port and host. The handler will be called when the socket is listening.
180 181 182 183 184 185 186 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/datagram_socket.rb', line 180 def listen(port=nil,host=nil) if port.class == Fixnum && host.class == String && block_given? @j_del.java_method(:listen, [Java::int.java_class,Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(port,host,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::Vertx::DatagramSocket) : nil) })) return self end raise ArgumentError, "Invalid arguments when calling listen(#{port},#{host})" end |
- (self) listen_multicast_group(multicastAddress = nil, networkInterface = nil, source = nil) { ... }
Joins a multicast group and listens for packets send to it on the given network interface.
The is notified once the operation completes.
131 132 133 134 135 136 137 138 139 140 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/datagram_socket.rb', line 131 def listen_multicast_group(multicastAddress=nil,networkInterface=nil,source=nil) if multicastAddress.class == String && block_given? && networkInterface == nil && source == nil @j_del.java_method(:listenMulticastGroup, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(multicastAddress,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::Vertx::DatagramSocket) : nil) })) return self elsif multicastAddress.class == String && networkInterface.class == String && source.class == String && block_given? @j_del.java_method(:listenMulticastGroup, [Java::java.lang.String.java_class,Java::java.lang.String.java_class,Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(multicastAddress,networkInterface,source,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::Vertx::DatagramSocket) : nil) })) return self end raise ArgumentError, "Invalid arguments when calling listen_multicast_group(#{multicastAddress},#{networkInterface},#{source})" end |
- (::Vertx::SocketAddress) local_address
Return the SocketAddress to which
this Vertx::DatagramSocket is bound.
115 116 117 118 119 120 121 122 123 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/datagram_socket.rb', line 115 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 |
- (true, false) metrics_enabled?
Whether the metrics are enabled for this measured object
51 52 53 54 55 56 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/datagram_socket.rb', line 51 def metrics_enabled? if !block_given? return @j_del.java_method(:isMetricsEnabled, []).call() end raise ArgumentError, "Invalid arguments when calling metrics_enabled?()" end |
- (self) pause
188 189 190 191 192 193 194 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/datagram_socket.rb', line 188 def pause if !block_given? @j_del.java_method(:pause, []).call() return self end raise ArgumentError, "Invalid arguments when calling pause()" end |
- (self) resume
196 197 198 199 200 201 202 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/datagram_socket.rb', line 196 def resume if !block_given? @j_del.java_method(:resume, []).call() return self end raise ArgumentError, "Invalid arguments when calling resume()" end |
- (self) send(packet, port, host, handler) - (self) send(str, port, host, handler) - (self) send(str, enc, port, host, handler)
Write the given String to the SocketAddress using the given encoding.
The will be notified once the write completes.
76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/datagram_socket.rb', line 76 def send(param_1=nil,param_2=nil,param_3=nil,param_4=nil) if param_1.class.method_defined?(:j_del) && param_2.class == Fixnum && param_3.class == String && block_given? && param_4 == nil @j_del.java_method(:send, [Java::IoVertxCoreBuffer::Buffer.java_class,Java::int.java_class,Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(param_1.j_del,param_2,param_3,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::Vertx::DatagramSocket) : nil) })) return self elsif param_1.class == String && param_2.class == Fixnum && param_3.class == String && block_given? && param_4 == nil @j_del.java_method(:send, [Java::java.lang.String.java_class,Java::int.java_class,Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(param_1,param_2,param_3,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::Vertx::DatagramSocket) : nil) })) return self elsif param_1.class == String && param_2.class == String && param_3.class == Fixnum && param_4.class == String && block_given? @j_del.java_method(:send, [Java::java.lang.String.java_class,Java::java.lang.String.java_class,Java::int.java_class,Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(param_1,param_2,param_3,param_4,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::Vertx::DatagramSocket) : nil) })) return self end raise ArgumentError, "Invalid arguments when calling send(#{param_1},#{param_2},#{param_3},#{param_4})" end |
- (::Vertx::WriteStream) sender(port = nil, host = nil)
Returns a
WriteStream
able to send to the
SocketAddress.
94 95 96 97 98 99 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/datagram_socket.rb', line 94 def sender(port=nil,host=nil) if port.class == Fixnum && host.class == String && !block_given? return ::Vertx::Util::Utils.safe_create(@j_del.java_method(:sender, [Java::int.java_class,Java::java.lang.String.java_class]).call(port,host),::Vertx::WriteStreamImpl,::Vertx::Buffer.j_api_type) end raise ArgumentError, "Invalid arguments when calling sender(#{port},#{host})" end |
- (self) unlisten_multicast_group(multicastAddress = nil, networkInterface = nil, source = nil) { ... }
Leaves a multicast group and stops listening for packets send to it on the given network interface.
The is notified once the operation completes.
148 149 150 151 152 153 154 155 156 157 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/datagram_socket.rb', line 148 def unlisten_multicast_group(multicastAddress=nil,networkInterface=nil,source=nil) if multicastAddress.class == String && block_given? && networkInterface == nil && source == nil @j_del.java_method(:unlistenMulticastGroup, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(multicastAddress,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::Vertx::DatagramSocket) : nil) })) return self elsif multicastAddress.class == String && networkInterface.class == String && source.class == String && block_given? @j_del.java_method(:unlistenMulticastGroup, [Java::java.lang.String.java_class,Java::java.lang.String.java_class,Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(multicastAddress,networkInterface,source,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::Vertx::DatagramSocket) : nil) })) return self end raise ArgumentError, "Invalid arguments when calling unlisten_multicast_group(#{multicastAddress},#{networkInterface},#{source})" end |