From 7a733b8c81b6083d4e1638a30b0092bbd82586cc Mon Sep 17 00:00:00 2001 From: mrniko <1104661+mrniko@users.noreply.github.com> Date: Mon, 27 Jan 2025 10:25:35 +0300 Subject: [PATCH] refactoring --- .../java/org/redisson/SimpleDnsServer.java | 34 +++++++++++-------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/redisson/src/test/java/org/redisson/SimpleDnsServer.java b/redisson/src/test/java/org/redisson/SimpleDnsServer.java index 7a09b50fd..cd0d5fe8d 100644 --- a/redisson/src/test/java/org/redisson/SimpleDnsServer.java +++ b/redisson/src/test/java/org/redisson/SimpleDnsServer.java @@ -9,29 +9,35 @@ import io.netty.handler.codec.dns.*; import java.net.InetAddress; import java.net.InetSocketAddress; +import java.util.concurrent.ThreadLocalRandom; public class SimpleDnsServer { private final EventLoopGroup group = new NioEventLoopGroup(); private final Channel channel; private String ip = "127.0.0.1"; - private final int port = 55; + private final int port; public SimpleDnsServer() throws InterruptedException { - Bootstrap bootstrap = new Bootstrap(); - bootstrap.group(group) - .channel(NioDatagramChannel.class) - .handler(new ChannelInitializer<>() { - @Override - protected void initChannel(Channel ch) throws Exception { - ch.pipeline().addLast(new DatagramDnsQueryDecoder()); - ch.pipeline().addLast(new DatagramDnsResponseEncoder()); - ch.pipeline().addLast(new DnsMessageHandler()); - } - }); + this(ThreadLocalRandom.current().nextInt(50, 1000)); + } + + public SimpleDnsServer(int port) throws InterruptedException { + Bootstrap bootstrap = new Bootstrap(); + bootstrap.group(group) + .channel(NioDatagramChannel.class) + .handler(new ChannelInitializer<>() { + @Override + protected void initChannel(Channel ch) throws Exception { + ch.pipeline().addLast(new DatagramDnsQueryDecoder()); + ch.pipeline().addLast(new DatagramDnsResponseEncoder()); + ch.pipeline().addLast(new DnsMessageHandler()); + } + }); - ChannelFuture future = bootstrap.bind(port).sync(); - channel = future.channel(); + this.port = port; + ChannelFuture future = bootstrap.bind(port).sync(); + channel = future.channel(); } public InetSocketAddress getAddr() {