Home / Class/ OpenSslEngineTestParam Class — netty Architecture

OpenSslEngineTestParam Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  b3d1cbd8_40fd_0172_72e6_4ff68a01b993["OpenSslEngineTestParam"]
  755b031e_c2ba_4a57_6b41_87ac70aacd0b["OpenSslEngineTestParam.java"]
  b3d1cbd8_40fd_0172_72e6_4ff68a01b993 -->|defined in| 755b031e_c2ba_4a57_6b41_87ac70aacd0b
  14833ae7_4f78_e293_b891_f81e638e33cd["expandCombinations()"]
  b3d1cbd8_40fd_0172_72e6_4ff68a01b993 -->|method| 14833ae7_4f78_e293_b891_f81e638e33cd
  7a9622f8_d04a_0cb3_af71_4060c9f783be["SslContext()"]
  b3d1cbd8_40fd_0172_72e6_4ff68a01b993 -->|method| 7a9622f8_d04a_0cb3_af71_4060c9f783be
  6e3f67bd_b14a_d209_6aa4_d5e3cfc22b61["isUsingTickets()"]
  b3d1cbd8_40fd_0172_72e6_4ff68a01b993 -->|method| 6e3f67bd_b14a_d209_6aa4_d5e3cfc22b61
  cb07d8c1_266d_fb09_f16f_9330d43759e3["OpenSslEngineTestParam()"]
  b3d1cbd8_40fd_0172_72e6_4ff68a01b993 -->|method| cb07d8c1_266d_fb09_f16f_9330d43759e3
  a0bc43c1_9e7a_9d53_b414_bb1ecc3f3866["String()"]
  b3d1cbd8_40fd_0172_72e6_4ff68a01b993 -->|method| a0bc43c1_9e7a_9d53_b414_bb1ecc3f3866

Relationship Graph

Source Code

handler/src/test/java/io/netty/handler/ssl/OpenSslEngineTestParam.java lines 20–74

final class OpenSslEngineTestParam extends SSLEngineTest.SSLEngineTestParam {
    final boolean useTasks;
    final boolean useTickets;

    static void expandCombinations(SSLEngineTest.SSLEngineTestParam param,
                                   List<? super OpenSslEngineTestParam> output) {
        output.add(new OpenSslEngineTestParam(true, false, param));
        output.add(new OpenSslEngineTestParam(false, false, param));
        if (OpenSsl.isBoringSSL() || OpenSsl.isAWSLC()) {
            output.add(new OpenSslEngineTestParam(true, true, param));
            output.add(new OpenSslEngineTestParam(false, true, param));
        }
    }

    @SuppressWarnings("deprecation")
    static SslContext wrapContext(SSLEngineTest.SSLEngineTestParam param, SslContext context) {
        if (context instanceof OpenSslContext) {
            OpenSslContext ctx = (OpenSslContext) context;
            if (param instanceof OpenSslEngineTestParam) {
                OpenSslEngineTestParam openSslParam = (OpenSslEngineTestParam) param;
                ctx.setUseTasks(openSslParam.useTasks);
                if (openSslParam.useTickets) {
                    ctx.sessionContext().setTicketKeys();
                }
            }
            // Explicit enable the session cache as its disabled by default on the client side.
            ctx.sessionContext().setSessionCacheEnabled(true);
        }
        return context;
    }

    static boolean isUsingTickets(SSLEngineTest.SSLEngineTestParam param) {
        if (param instanceof OpenSslEngineTestParam) {
            return ((OpenSslEngineTestParam) param).useTickets;
        }
        return false;
    }

    OpenSslEngineTestParam(boolean useTasks, boolean useTickets, SSLEngineTest.SSLEngineTestParam param) {
        super(param.type(), param.combo(), param.delegate());
        this.useTasks = useTasks;
        this.useTickets = useTickets;
    }

    @Override
    public String toString() {
        return "OpenSslEngineTestParam{" +
                "type=" + type() +
                ", protocolCipherCombo=" + combo() +
                ", delegate=" + delegate() +
                ", useTasks=" + useTasks +
                ", useTickets=" + useTickets +
                '}';
    }
}

Frequently Asked Questions

What is the OpenSslEngineTestParam class?
OpenSslEngineTestParam is a class in the netty codebase, defined in handler/src/test/java/io/netty/handler/ssl/OpenSslEngineTestParam.java.
Where is OpenSslEngineTestParam defined?
OpenSslEngineTestParam is defined in handler/src/test/java/io/netty/handler/ssl/OpenSslEngineTestParam.java at line 20.

Analyze Your Own Codebase

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

Try Supermodel Free