Class DatagramSocket

  • All Implemented Interfaces:
    Measured, ReadStream<DatagramPacket>, StreamBase

    public class DatagramSocket
    extends Object
    implements 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.

    • Constructor Detail

      • DatagramSocket

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

        public DatagramSocket​(Object delegate)
    • Method Detail

      • 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
      • 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.
      • 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.
      • 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.
      • newInstance

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