Home / Class/ EncoderUtil Class — netty Architecture

EncoderUtil Class — netty Architecture

Architecture documentation for the EncoderUtil class in EncoderUtil.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  5499d506_cee0_224f_e7be_e0b040cb5803["EncoderUtil"]
  bc8610db_53e4_dbf7_d06e_27bfa6eb30aa["EncoderUtil.java"]
  5499d506_cee0_224f_e7be_e0b040cb5803 -->|defined in| bc8610db_53e4_dbf7_d06e_27bfa6eb30aa
  ae24e180_ee6e_f254_7a0c_1c5992d5e25c["closeAfterFinishEncode()"]
  5499d506_cee0_224f_e7be_e0b040cb5803 -->|method| ae24e180_ee6e_f254_7a0c_1c5992d5e25c
  bcd7c9a7_efdc_d2fb_def6_0b20d9362669["EncoderUtil()"]
  5499d506_cee0_224f_e7be_e0b040cb5803 -->|method| bcd7c9a7_efdc_d2fb_def6_0b20d9362669

Relationship Graph

Source Code

codec-compression/src/main/java/io/netty/handler/codec/compression/EncoderUtil.java lines 25–52

final class EncoderUtil {
    private static final int THREAD_POOL_DELAY_SECONDS = 10;

    static void closeAfterFinishEncode(final ChannelHandlerContext ctx, final ChannelFuture finishFuture,
                                       final ChannelPromise promise) {
        if (!finishFuture.isDone()) {
            // Ensure the channel is closed even if the write operation completes in time.
            final Future<?> future = ctx.executor().schedule(new Runnable() {
                @Override
                public void run() {
                    ctx.close(promise);
                }
            }, THREAD_POOL_DELAY_SECONDS, TimeUnit.SECONDS);

            finishFuture.addListener(f -> {
                // Cancel the scheduled timeout.
                future.cancel(true);
                if (!promise.isDone()) {
                    ctx.close(promise);
                }
            });
        } else {
            ctx.close(promise);
        }
    }

    private EncoderUtil() { }
}

Frequently Asked Questions

What is the EncoderUtil class?
EncoderUtil is a class in the netty codebase, defined in codec-compression/src/main/java/io/netty/handler/codec/compression/EncoderUtil.java.
Where is EncoderUtil defined?
EncoderUtil is defined in codec-compression/src/main/java/io/netty/handler/codec/compression/EncoderUtil.java at line 25.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free