Home / Function/ QuicheConfig() — netty Function Reference

QuicheConfig() — netty Function Reference

Architecture documentation for the QuicheConfig() function in QuicheConfig.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  2b7c1dde_07d0_caca_ea74_7d7622ec415a["QuicheConfig()"]
  20602212_d8a2_c6eb_1440_4d1201ef959f["QuicheConfig"]
  2b7c1dde_07d0_caca_ea74_7d7622ec415a -->|defined in| 20602212_d8a2_c6eb_1440_4d1201ef959f
  style 2b7c1dde_07d0_caca_ea74_7d7622ec415a fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicheConfig.java lines 24–129

    QuicheConfig(int version,
                 @Nullable Boolean grease,
                 @Nullable Long maxIdleTimeout,
                 @Nullable Long maxSendUdpPayloadSize,
                 @Nullable Long maxRecvUdpPayloadSize,
                 @Nullable Long initialMaxData,
                 @Nullable Long initialMaxStreamDataBidiLocal,
                 @Nullable Long initialMaxStreamDataBidiRemote,
                 @Nullable Long initialMaxStreamDataUni,
                 @Nullable Long initialMaxStreamsBidi,
                 @Nullable Long initialMaxStreamsUni,
                 @Nullable Long ackDelayExponent,
                 @Nullable Long maxAckDelay,
                 @Nullable Boolean disableActiveMigration,
                 @Nullable Boolean enableHystart,
                 @Nullable Boolean discoverPmtu,
                 @Nullable QuicCongestionControlAlgorithm congestionControlAlgorithm,
                 @Nullable Integer initialCongestionWindowPackets,
                 @Nullable Integer recvQueueLen,
                 @Nullable Integer sendQueueLen,
                 @Nullable Long activeConnectionIdLimit,
                 byte @Nullable [] statelessResetToken) {
        long config = Quiche.quiche_config_new(version);
        try {
            if (grease != null) {
                Quiche.quiche_config_grease(config, grease);
            }
            if (maxIdleTimeout != null) {
                Quiche.quiche_config_set_max_idle_timeout(config, maxIdleTimeout);
            }
            if (maxSendUdpPayloadSize != null) {
                Quiche.quiche_config_set_max_send_udp_payload_size(config, maxSendUdpPayloadSize);
            }
            if (maxRecvUdpPayloadSize != null) {
                Quiche.quiche_config_set_max_recv_udp_payload_size(config, maxRecvUdpPayloadSize);
            }
            if (initialMaxData != null) {
                Quiche.quiche_config_set_initial_max_data(config, initialMaxData);
            }
            if (initialMaxStreamDataBidiLocal != null) {
                Quiche.quiche_config_set_initial_max_stream_data_bidi_local(config, initialMaxStreamDataBidiLocal);
            }
            if (initialMaxStreamDataBidiRemote != null) {
                Quiche.quiche_config_set_initial_max_stream_data_bidi_remote(config, initialMaxStreamDataBidiRemote);
            }
            if (initialMaxStreamDataUni != null) {
                Quiche.quiche_config_set_initial_max_stream_data_uni(config, initialMaxStreamDataUni);
            }
            if (initialMaxStreamsBidi != null) {
                Quiche.quiche_config_set_initial_max_streams_bidi(config, initialMaxStreamsBidi);
            }
            if (initialMaxStreamsUni != null) {
                Quiche.quiche_config_set_initial_max_streams_uni(config, initialMaxStreamsUni);
            }
            if (ackDelayExponent != null) {
                Quiche.quiche_config_set_ack_delay_exponent(config, ackDelayExponent);
            }
            if (maxAckDelay != null) {
                Quiche.quiche_config_set_max_ack_delay(config, maxAckDelay);
            }
            if (disableActiveMigration != null) {
                Quiche.quiche_config_set_disable_active_migration(config, disableActiveMigration);
            }
            if (enableHystart != null) {
                Quiche.quiche_config_enable_hystart(config, enableHystart);
            }
            if (discoverPmtu != null) {
                Quiche.quiche_config_discover_pmtu(config, discoverPmtu);
            }
            if (congestionControlAlgorithm != null) {
                switch (congestionControlAlgorithm) {
                    case RENO:
                        Quiche.quiche_config_set_cc_algorithm(config, Quiche.QUICHE_CC_RENO);
                        break;
                    case CUBIC:
                        Quiche.quiche_config_set_cc_algorithm(config, Quiche.QUICHE_CC_CUBIC);
                        break;
                    case BBR:
                        Quiche.quiche_config_set_cc_algorithm(config, Quiche.QUICHE_CC_BBR);
                        break;
                    default:

Domain

Subdomains

Frequently Asked Questions

What does QuicheConfig() do?
QuicheConfig() is a function in the netty codebase, defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicheConfig.java.
Where is QuicheConfig() defined?
QuicheConfig() is defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicheConfig.java at line 24.

Analyze Your Own Codebase

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

Try Supermodel Free