public NettyChannelBuilder channelType(Class<? extends Channel> channelType) {
    checkNotNull(channelType, "channelType");
    return channelFactory(new ReflectiveChannelFactory<>(channelType));
  }
public NettyChannelBuilder channelType ( Class < ? extends Channel > channelType ) { checkNotNull ( channelType , "channelType" ) ; return channelFactory ( new ReflectiveChannelFactory < > ( channelType ) ) ; }
Specifies the channel type to use, by default we use {@code EpollSocketChannel} if available,
otherwise using {@link NioSocketChannel}.

<p>You either use this or {@link #channelFactory(io.netty.channel.ChannelFactory)} if your
{@link Channel} implementation has no no-args constructor.

<p>It's an optional parameter. If the user has not provided an Channel type or ChannelFactory
when the channel is built, the builder will use the default one which is static.

<p>You must also provide corresponding {@link #eventLoopGroup(EventLoopGroup)}. For example,
{@link NioSocketChannel} must use {@link io.netty.channel.nio.NioEventLoopGroup}, otherwise
your application won't start.