Class DatagramSocket

java.lang.Object
io.vertx.mutiny.core.datagram.DatagramSocket
All Implemented Interfaces:
io.smallrye.mutiny.vertx.MutinyDelegate, Measured, ReadStream<DatagramPacket>, StreamBase

public class DatagramSocket extends Object implements io.smallrye.mutiny.vertx.MutinyDelegate, ReadStream<DatagramPacket>, Measured
A datagram socket can be used to send DatagramPacket's to remote datagram servers and receive DatagramPackets .

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.

NOTE: This class has been automatically generated from the original non Mutiny-ified interface using Vert.x codegen.

  • Field Details

    • __TYPE_ARG

      public static final io.smallrye.mutiny.vertx.TypeArg<DatagramSocket> __TYPE_ARG
  • Constructor Details

    • DatagramSocket

      public DatagramSocket(io.vertx.core.datagram.DatagramSocket delegate)
    • DatagramSocket

      public DatagramSocket(Object delegate)
  • Method Details

    • getDelegate

      public io.vertx.core.datagram.DatagramSocket getDelegate()
      Specified by:
      getDelegate in interface Measured
      Specified by:
      getDelegate in interface io.smallrye.mutiny.vertx.MutinyDelegate
      Specified by:
      getDelegate in interface ReadStream<DatagramPacket>
      Specified by:
      getDelegate in interface StreamBase
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • isMetricsEnabled

      public boolean isMetricsEnabled()
      Specified by:
      isMetricsEnabled in interface Measured
      Returns:
      true if metrics are enabled
    • pipe

      public Pipe<DatagramPacket> pipe()
      Specified by:
      pipe in interface ReadStream<DatagramPacket>
      Returns:
      a pipe
    • pipeTo

      @CheckReturnValue public io.smallrye.mutiny.Uni<Void> pipeTo(WriteStream<DatagramPacket> dst)
      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.

      Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

      Specified by:
      pipeTo in interface ReadStream<DatagramPacket>
      Parameters:
      dst - the destination write stream
      Returns:
      the uni firing the result of the operation when completed, or a failure if the operation failed.
    • pipeToAndAwait

      public Void pipeToAndAwait(WriteStream<DatagramPacket> dst)
      Blocking variant of ReadStream.pipeTo(io.vertx.mutiny.core.streams.WriteStream).

      This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

      Specified by:
      pipeToAndAwait in interface ReadStream<DatagramPacket>
      Parameters:
      dst - the destination write stream
      Returns:
      the Void instance produced by the operation.
    • pipeToAndForget

      public void pipeToAndForget(WriteStream<DatagramPacket> dst)
      Variant of ReadStream.pipeTo(io.vertx.mutiny.core.streams.WriteStream) that ignores the result of the operation.

      This method subscribes on the result of ReadStream.pipeTo(io.vertx.mutiny.core.streams.WriteStream), but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation from ReadStream.pipeTo(io.vertx.mutiny.core.streams.WriteStream) but you don't need to compose it with other operations.

      Specified by:
      pipeToAndForget in interface ReadStream<DatagramPacket>
      Parameters:
      dst - the destination write stream
    • send

      @CheckReturnValue public io.smallrye.mutiny.Uni<Void> send(Buffer packet, int port, String host)
      Write the given Buffer to the SocketAddress. The Handler will be notified once the write completes.

      Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

      Parameters:
      packet - the Buffer to write
      port - the host port of the remote peer
      host - the host address of the remote peer
      Returns:
      the uni firing the result of the operation when completed, or a failure if the operation failed.
    • sendAndAwait

      public Void sendAndAwait(Buffer packet, int port, String host)
      Blocking variant of send(io.vertx.mutiny.core.buffer.Buffer,int,String).

      This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

      Parameters:
      packet - the Buffer to write
      port - the host port of the remote peer
      host - the host address of the remote peer
      Returns:
      the Void instance produced by the operation.
    • sendAndForget

      public DatagramSocket sendAndForget(Buffer packet, int port, String host)
      Variant of send(io.vertx.mutiny.core.buffer.Buffer,int,String) that ignores the result of the operation.

      This method subscribes on the result of send(io.vertx.mutiny.core.buffer.Buffer,int,String), but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation from send(io.vertx.mutiny.core.buffer.Buffer,int,String) but you don't need to compose it with other operations.

      Parameters:
      packet - the Buffer to write
      port - the host port of the remote peer
      host - the host address of the remote peer
      Returns:
      the instance of DatagramSocket to chain method calls.
    • sender

      public WriteStream<Buffer> sender(int port, String host)
      Parameters:
      port - the port of the remote peer
      host - the host address of the remote peer
      Returns:
      the write stream for sending packets
    • send

      @CheckReturnValue public io.smallrye.mutiny.Uni<Void> send(String str, int port, String host)
      Write the given String to the SocketAddress using UTF8 encoding. The will be notified once the write completes.

      Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

      Parameters:
      str - the String to write
      port - the host port of the remote peer
      host - the host address of the remote peer
      Returns:
      the uni firing the result of the operation when completed, or a failure if the operation failed.
    • sendAndAwait

      public Void sendAndAwait(String str, int port, String host)
      Blocking variant of send(String,int,String).

      This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

      Parameters:
      str - the String to write
      port - the host port of the remote peer
      host - the host address of the remote peer
      Returns:
      the Void instance produced by the operation.
    • sendAndForget

      public DatagramSocket sendAndForget(String str, int port, String host)
      Variant of send(String,int,String) that ignores the result of the operation.

      This method subscribes on the result of send(String,int,String), but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation from send(String,int,String) but you don't need to compose it with other operations.

      Parameters:
      str - the String to write
      port - the host port of the remote peer
      host - the host address of the remote peer
      Returns:
      the instance of DatagramSocket to chain method calls.
    • send

      @CheckReturnValue public io.smallrye.mutiny.Uni<Void> send(String str, String enc, int port, String host)
      Write the given String to the SocketAddress using the given encoding. The will be notified once the write completes.

      Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

      Parameters:
      str - the String to write
      enc - the charset used for encoding
      port - the host port of the remote peer
      host - the host address of the remote peer
      Returns:
      the uni firing the result of the operation when completed, or a failure if the operation failed.
    • sendAndAwait

      public Void sendAndAwait(String str, String enc, int port, String host)
      Blocking variant of send(String,String,int,String).

      This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

      Parameters:
      str - the String to write
      enc - the charset used for encoding
      port - the host port of the remote peer
      host - the host address of the remote peer
      Returns:
      the Void instance produced by the operation.
    • sendAndForget

      public DatagramSocket sendAndForget(String str, String enc, int port, String host)
      Variant of send(String,String,int,String) that ignores the result of the operation.

      This method subscribes on the result of send(String,String,int,String), but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation from send(String,String,int,String) but you don't need to compose it with other operations.

      Parameters:
      str - the String to write
      enc - the charset used for encoding
      port - the host port of the remote peer
      host - the host address of the remote peer
      Returns:
      the instance of DatagramSocket to chain method calls.
    • close

      @CheckReturnValue public io.smallrye.mutiny.Uni<Void> close()
      Closes the DatagramSocket implementation asynchronous and notifies the handler once done.

      Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

      Returns:
      the uni firing the result of the operation when completed, or a failure if the operation failed.
    • closeAndAwait

      public Void closeAndAwait()
      Blocking variant of close().

      This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

      Returns:
      the Void instance produced by the operation.
    • closeAndForget

      public void closeAndForget()
      Variant of close() that ignores the result of the operation.

      This method subscribes on the result of close(), but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation from close() but you don't need to compose it with other operations.

    • localAddress

      public SocketAddress localAddress()
      Returns:
      the socket address
    • listenMulticastGroup

      @CheckReturnValue public io.smallrye.mutiny.Uni<Void> listenMulticastGroup(String multicastAddress)
      Joins a multicast group and listens for packets send to it. The is notified once the operation completes.

      Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

      Parameters:
      multicastAddress - the address of the multicast group to join
      Returns:
      the uni firing the result of the operation when completed, or a failure if the operation failed.
    • listenMulticastGroupAndAwait

      public Void listenMulticastGroupAndAwait(String multicastAddress)
      Blocking variant of listenMulticastGroup(String).

      This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

      Parameters:
      multicastAddress - the address of the multicast group to join
      Returns:
      the Void instance produced by the operation.
    • listenMulticastGroupAndForget

      public DatagramSocket listenMulticastGroupAndForget(String multicastAddress)
      Variant of listenMulticastGroup(String) that ignores the result of the operation.

      This method subscribes on the result of listenMulticastGroup(String), but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation from listenMulticastGroup(String) but you don't need to compose it with other operations.

      Parameters:
      multicastAddress - the address of the multicast group to join
      Returns:
      the instance of DatagramSocket to chain method calls.
    • listenMulticastGroup

      @CheckReturnValue public io.smallrye.mutiny.Uni<Void> listenMulticastGroup(String multicastAddress, String networkInterface, String source)
      Joins a multicast group and listens for packets send to it on the given network interface. The is notified once the operation completes.

      Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

      Parameters:
      multicastAddress - the address of the multicast group to join
      networkInterface - the network interface on which to listen for packets.
      source - the address of the source for which we will listen for multicast packets
      Returns:
      the uni firing the result of the operation when completed, or a failure if the operation failed.
    • listenMulticastGroupAndAwait

      public Void listenMulticastGroupAndAwait(String multicastAddress, String networkInterface, String source)
      Blocking variant of listenMulticastGroup(String,String,String).

      This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

      Parameters:
      multicastAddress - the address of the multicast group to join
      networkInterface - the network interface on which to listen for packets.
      source - the address of the source for which we will listen for multicast packets
      Returns:
      the Void instance produced by the operation.
    • listenMulticastGroupAndForget

      public DatagramSocket listenMulticastGroupAndForget(String multicastAddress, String networkInterface, String source)
      Variant of listenMulticastGroup(String,String,String) that ignores the result of the operation.

      This method subscribes on the result of listenMulticastGroup(String,String,String), but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation from listenMulticastGroup(String,String,String) but you don't need to compose it with other operations.

      Parameters:
      multicastAddress - the address of the multicast group to join
      networkInterface - the network interface on which to listen for packets.
      source - the address of the source for which we will listen for multicast packets
      Returns:
      the instance of DatagramSocket to chain method calls.
    • unlistenMulticastGroup

      @CheckReturnValue public io.smallrye.mutiny.Uni<Void> unlistenMulticastGroup(String multicastAddress)
      Leaves a multicast group and stops listening for packets send to it. The is notified once the operation completes.

      Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

      Parameters:
      multicastAddress - the address of the multicast group to leave
      Returns:
      the uni firing the result of the operation when completed, or a failure if the operation failed.
    • unlistenMulticastGroupAndAwait

      public Void unlistenMulticastGroupAndAwait(String multicastAddress)
      Blocking variant of unlistenMulticastGroup(String).

      This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

      Parameters:
      multicastAddress - the address of the multicast group to leave
      Returns:
      the Void instance produced by the operation.
    • unlistenMulticastGroupAndForget

      public DatagramSocket unlistenMulticastGroupAndForget(String multicastAddress)
      Variant of unlistenMulticastGroup(String) that ignores the result of the operation.

      This method subscribes on the result of unlistenMulticastGroup(String), but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation from unlistenMulticastGroup(String) but you don't need to compose it with other operations.

      Parameters:
      multicastAddress - the address of the multicast group to leave
      Returns:
      the instance of DatagramSocket to chain method calls.
    • unlistenMulticastGroup

      @CheckReturnValue public io.smallrye.mutiny.Uni<Void> unlistenMulticastGroup(String multicastAddress, String networkInterface, String source)
      Leaves a multicast group and stops listening for packets send to it on the given network interface. The is notified once the operation completes.

      Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

      Parameters:
      multicastAddress - the address of the multicast group to join
      networkInterface - the network interface on which to listen for packets.
      source - the address of the source for which we will listen for multicast packets
      Returns:
      the uni firing the result of the operation when completed, or a failure if the operation failed.
    • unlistenMulticastGroupAndAwait

      public Void unlistenMulticastGroupAndAwait(String multicastAddress, String networkInterface, String source)
      Blocking variant of unlistenMulticastGroup(String,String,String).

      This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

      Parameters:
      multicastAddress - the address of the multicast group to join
      networkInterface - the network interface on which to listen for packets.
      source - the address of the source for which we will listen for multicast packets
      Returns:
      the Void instance produced by the operation.
    • unlistenMulticastGroupAndForget

      public DatagramSocket unlistenMulticastGroupAndForget(String multicastAddress, String networkInterface, String source)
      Variant of unlistenMulticastGroup(String,String,String) that ignores the result of the operation.

      This method subscribes on the result of unlistenMulticastGroup(String,String,String), but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation from unlistenMulticastGroup(String,String,String) but you don't need to compose it with other operations.

      Parameters:
      multicastAddress - the address of the multicast group to join
      networkInterface - the network interface on which to listen for packets.
      source - the address of the source for which we will listen for multicast packets
      Returns:
      the instance of DatagramSocket to chain method calls.
    • blockMulticastGroup

      @CheckReturnValue public io.smallrye.mutiny.Uni<Void> blockMulticastGroup(String multicastAddress, String sourceToBlock)
      Block the given address for the given multicast address and notifies the once the operation completes.

      Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

      Parameters:
      multicastAddress - the address for which you want to block the source address
      sourceToBlock - the source address which should be blocked. You will not receive an multicast packets for it anymore.
      Returns:
      the uni firing the result of the operation when completed, or a failure if the operation failed.
    • blockMulticastGroupAndAwait

      public Void blockMulticastGroupAndAwait(String multicastAddress, String sourceToBlock)
      Blocking variant of blockMulticastGroup(String,String).

      This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

      Parameters:
      multicastAddress - the address for which you want to block the source address
      sourceToBlock - the source address which should be blocked. You will not receive an multicast packets for it anymore.
      Returns:
      the Void instance produced by the operation.
    • blockMulticastGroupAndForget

      public DatagramSocket blockMulticastGroupAndForget(String multicastAddress, String sourceToBlock)
      Variant of blockMulticastGroup(String,String) that ignores the result of the operation.

      This method subscribes on the result of blockMulticastGroup(String,String), but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation from blockMulticastGroup(String,String) but you don't need to compose it with other operations.

      Parameters:
      multicastAddress - the address for which you want to block the source address
      sourceToBlock - the source address which should be blocked. You will not receive an multicast packets for it anymore.
      Returns:
      the instance of DatagramSocket to chain method calls.
    • blockMulticastGroup

      @CheckReturnValue public io.smallrye.mutiny.Uni<Void> blockMulticastGroup(String multicastAddress, String networkInterface, String sourceToBlock)
      Block the given address for the given multicast address on the given network interface and notifies the once the operation completes.

      Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

      Parameters:
      multicastAddress - the address for which you want to block the source address
      networkInterface - the network interface on which the blocking should occur.
      sourceToBlock - the source address which should be blocked. You will not receive an multicast packets for it anymore.
      Returns:
      the uni firing the result of the operation when completed, or a failure if the operation failed.
    • blockMulticastGroupAndAwait

      public Void blockMulticastGroupAndAwait(String multicastAddress, String networkInterface, String sourceToBlock)
      Blocking variant of blockMulticastGroup(String,String,String).

      This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

      Parameters:
      multicastAddress - the address for which you want to block the source address
      networkInterface - the network interface on which the blocking should occur.
      sourceToBlock - the source address which should be blocked. You will not receive an multicast packets for it anymore.
      Returns:
      the Void instance produced by the operation.
    • blockMulticastGroupAndForget

      public DatagramSocket blockMulticastGroupAndForget(String multicastAddress, String networkInterface, String sourceToBlock)
      Variant of blockMulticastGroup(String,String,String) that ignores the result of the operation.

      This method subscribes on the result of blockMulticastGroup(String,String,String), but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation from blockMulticastGroup(String,String,String) but you don't need to compose it with other operations.

      Parameters:
      multicastAddress - the address for which you want to block the source address
      networkInterface - the network interface on which the blocking should occur.
      sourceToBlock - the source address which should be blocked. You will not receive an multicast packets for it anymore.
      Returns:
      the instance of DatagramSocket to chain method calls.
    • listen

      @CheckReturnValue public io.smallrye.mutiny.Uni<DatagramSocket> listen(int port, String host)
      Start listening on the given port and host. The handler will be called when the socket is listening.

      Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

      Parameters:
      port - the port to listen on
      host - the host to listen on
      Returns:
      the uni firing the result of the operation when completed, or a failure if the operation failed.
    • listenAndAwait

      public DatagramSocket listenAndAwait(int port, String host)
      Blocking variant of listen(int,String).

      This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

      Parameters:
      port - the port to listen on
      host - the host to listen on
      Returns:
      the DatagramSocket instance produced by the operation.
    • listenAndForget

      public DatagramSocket listenAndForget(int port, String host)
      Variant of listen(int,String) that ignores the result of the operation.

      This method subscribes on the result of listen(int,String), but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation from listen(int,String) but you don't need to compose it with other operations.

      Parameters:
      port - the port to listen on
      host - the host to listen on
      Returns:
      the instance of DatagramSocket to chain method calls.
    • pause

      @Deprecated public DatagramSocket pause()
      Deprecated.
      no replacement for back-pressure, instead ignore the packet or buffer it somewhere
      Specified by:
      pause in interface ReadStream<DatagramPacket>
      Returns:
      the instance of DatagramSocket to chain method calls.
    • resume

      @Deprecated public DatagramSocket resume()
      Deprecated.
      no replacement for back-pressure, instead ignore the packet or buffer it somewhere
      Specified by:
      resume in interface ReadStream<DatagramPacket>
      Returns:
      the instance of DatagramSocket to chain method calls.
    • fetch

      @Deprecated public DatagramSocket fetch(long amount)
      Deprecated.
      no replacement for back-pressure, instead ignore the packet or buffer it somewhere
      Specified by:
      fetch in interface ReadStream<DatagramPacket>
      Parameters:
      amount -
      Returns:
      the instance of DatagramSocket to chain method calls.
    • endHandler

      @Deprecated public DatagramSocket endHandler(Runnable endHandler)
      Deprecated.
      removed in Vert.x 5
      Specified by:
      endHandler in interface ReadStream<DatagramPacket>
      Parameters:
      endHandler -
      Returns:
    • handler

      public DatagramSocket handler(Consumer<DatagramPacket> handler)
      Specified by:
      handler in interface ReadStream<DatagramPacket>
      Parameters:
      handler -
      Returns:
    • exceptionHandler

      public DatagramSocket exceptionHandler(Consumer<Throwable> handler)
      Specified by:
      exceptionHandler in interface ReadStream<DatagramPacket>
      Specified by:
      exceptionHandler in interface StreamBase
      Parameters:
      handler - the exception handler
      Returns:
    • toMulti

      @CheckReturnValue public io.smallrye.mutiny.Multi<DatagramPacket> toMulti()
      Specified by:
      toMulti in interface ReadStream<DatagramPacket>
    • toBlockingIterable

      public Iterable<DatagramPacket> toBlockingIterable()
    • toBlockingStream

      public Stream<DatagramPacket> toBlockingStream()
    • newInstance

      public static DatagramSocket newInstance(io.vertx.core.datagram.DatagramSocket arg)