Bootstrap getBootstrap() {
        return bootstrap;
    }
@Test
    void testSetKeepaliveOptionWithNioConfigurable() throws Exception {
        assumeThat(keepaliveForNioConfigurable()).isTrue();

        final Configuration config = new Configuration();
        config.set(NettyShuffleEnvironmentOptions.TRANSPORT_TYPE, "nio");
        config.set(NettyShuffleEnvironmentOptions.CLIENT_TCP_KEEP_IDLE_SECONDS, 300);
        config.set(NettyShuffleEnvironmentOptions.CLIENT_TCP_KEEP_INTERVAL_SECONDS, 10);
        config.set(NettyShuffleEnvironmentOptions.CLIENT_TCP_KEEP_COUNT, 8);

        try (NetUtils.Port clientPort = NetUtils.getAvailablePort()) {
            final NettyClient client = createNettyClient(config, clientPort);
            Map<String, Object> options =
                    client.getBootstrap().config().options().entrySet().stream()
                            .collect(Collectors.toMap(e -> e.getKey().name(), Map.Entry::getValue));
            assertThat(options)
                    .containsEntry(NettyClient.NIO_TCP_KEEPIDLE_KEY, 300)
                    .containsEntry(NettyClient.NIO_TCP_KEEPINTERVAL_KEY, 10)
                    .containsEntry(NettyClient.NIO_TCP_KEEPCOUNT_KEY, 8);
        }
    }