code: private static void bind(final NioDatagramChannel channel,
                               final ChannelFuture future, final InetSocketAddress address) {
          boolean bound = false;
          boolean started = false;
          try {
              // First bind the DatagramSocket the specified port.
              channel.getDatagramChannel().socket().bind(address);
              bound = true;
  
              future.setSuccess();
              fireChannelBound(channel, address);
  
              channel.worker.register(channel, null);
              started = true;
          } catch (final Throwable t) {
              future.setFailure(t);
              fireExceptionCaught(channel, t);
          } finally {
              if (!started && bound) {
                  close(channel, future);
              }
          }
      }
docs: Will bind the DatagramSocket to the passed-in address.
  Every call bind will spawn a new thread using the that basically in turn