import static java.util.Objects.requireNonNull;
+import com.google.common.util.concurrent.ThreadFactoryBuilder;
import io.netty.bootstrap.Bootstrap;
import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.EventLoopGroup;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.nio.NioServerSocketChannel;
import io.netty.channel.socket.nio.NioSocketChannel;
+import java.util.concurrent.ThreadFactory;
import java.util.concurrent.TimeUnit;
import javax.annotation.PreDestroy;
import javax.inject.Inject;
private static final class EpollImpl extends AbstractImpl {
EpollImpl() {
- super(new EpollEventLoopGroup(), new EpollEventLoopGroup());
+ super(new EpollEventLoopGroup(BOSS_TF), new EpollEventLoopGroup(WORKER_TF));
}
@Override
private static final class NioImpl extends AbstractImpl {
NioImpl() {
- super(new NioEventLoopGroup(), new NioEventLoopGroup());
+ super(new NioEventLoopGroup(BOSS_TF), new NioEventLoopGroup(WORKER_TF));
}
@Override
}
}
+ private static final ThreadFactory BOSS_TF = new ThreadFactoryBuilder()
+ .setNameFormat("bgp-boss-%d")
+ .setDaemon(true)
+ .build();
+ private static final ThreadFactory WORKER_TF = new ThreadFactoryBuilder()
+ .setNameFormat("bgp-worker-%d")
+ .setDaemon(true)
+ .build();
private static final long TIMEOUT = 10;
private AbstractImpl impl;