void start() throws IOException, InterruptedException {
        startUpdater();
        Options options = new Options()
                .withHost(null) // wildcard any-address binding
                .withPort(port)
                .withReuseAddr(true)
                .withReusePort(true)
                .withAcceptLength(8_192)
                .withMaxRequestSize(1_024 * 1_024)
                .withReadBufferSize(1_024 * 64)
                .withResolution(Duration.ofMillis(1_000))
                .withRequestTimeout(Duration.ofSeconds(90));
        EventLoop eventLoop = new EventLoop(options, new DisabledLogger(), this::handle);
        eventLoop.start();
        eventLoop.join();
    }
@Test
    void plainTextAndJson() throws IOException, InterruptedException {
        HelloWebServer server = new HelloWebServer(8080);
        Runnable task = () -> {
            try {
                server.start();
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        };
        Thread thread = new Thread(task);
        thread.setDaemon(true);
        thread.start();
        HttpClient client = HttpClient.newBuilder()
                .version(HttpClient.Version.HTTP_1_1)
                .build();
        verifyPlainText(client);
        verifyJson(client);
        verifyOther(client);
    }