@Override
    // Keep this in sync with ShadedNettyGrpcServerFactory#configureKeepAlive
    protected void configureKeepAlive(final NettyServerBuilder builder) {
        if (this.properties.isEnableKeepAlive()) {
            builder.keepAliveTime(this.properties.getKeepAliveTime().toNanos(), TimeUnit.NANOSECONDS)
                    .keepAliveTimeout(this.properties.getKeepAliveTimeout().toNanos(), TimeUnit.NANOSECONDS);
        }
        builder.permitKeepAliveTime(this.properties.getPermitKeepAliveTime().toNanos(), TimeUnit.NANOSECONDS)
                .permitKeepAliveWithoutCalls(this.properties.isPermitKeepAliveWithoutCalls());
    }
Creates a new netty server factory with the given properties.

@param properties The properties used to configure the server.
@param serverConfigurers The server configurers to use. Can be empty.
grpc-server-spring-boot-starter/src/main/java/net/devh/boot/grpc/server/serverfactory/NettyGrpcServerFactory.java