@Override
    protected NettyChannelBuilder newChannelBuilder(final String name) {
        final GrpcChannelProperties properties = getPropertiesFor(name);
        URI address = properties.getAddress();
        if (address == null) {
            String defaultScheme = getDefaultScheme();
            if (defaultScheme != null) {
                address = URI.create(defaultScheme + name);
            } else {
                address = URI.create(name);
            }
        }
        if (DOMAIN_SOCKET_ADDRESS_SCHEME.equals(address.getScheme())) {
            final String path = GrpcUtils.extractDomainSocketAddressPath(address.toString());
            return NettyChannelBuilder.forAddress(new DomainSocketAddress(path))
                    .channelType(EpollDomainSocketChannel.class)
                    .eventLoopGroup(new EpollEventLoopGroup());
        } else {
            return NettyChannelBuilder.forTarget(address.toString())
                    .defaultLoadBalancingPolicy(properties.getDefaultLoadBalancingPolicy());
        }
    }
Creates a new GrpcChannelFactory for netty with the given options.

@param properties The properties for the channels to create.
@param globalClientInterceptorRegistry The interceptor registry to use.
@param channelConfigurers The channel configurers to use. Can be empty.
grpc-client-spring-boot-starter/src/main/java/net/devh/boot/grpc/client/channelfactory/NettyChannelFactory.java