All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.dubbo.config.nested.Http3Config Maven / Gradle / Ivy

The newest version!
/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.apache.dubbo.config.nested;

import org.apache.dubbo.config.support.Parameter;

import java.io.Serializable;

public class Http3Config implements Serializable {

    private static final long serialVersionUID = -4443828713331129834L;

    public static final int DEFAULT_INITIAL_MAX_DATA = 8_388_608;
    public static final int DEFAULT_INITIAL_MAX_STREAM_DATA_BIDI_LOCAL = 1_048_576;
    public static final int DEFAULT_INITIAL_MAX_STREAM_DATA_BIDI_REMOTE = 1_048_576;
    public static final int DEFAULT_INITIAL_MAX_STREAM_DATA_UNI = 1_048_576;
    public static final long DEFAULT_INITIAL_MAX_STREAMS_BIDI = 1_073_741_824;
    public static final long DEFAULT_INITIAL_MAX_STREAMS_UNI = 1_073_741_824;

    /**
     * Whether to enable HTTP/3 support
     * 

The default value is false. */ private Boolean enabled; /** * Whether to enable HTTP/3 negotiation * If set to false, HTTP/2 alt-svc negotiation will be skipped, enabling HTTP/3 but disabling HTTP/2 on the consumer side. *

The default value is true. */ private Boolean negotiation; /** * See set_initial_max_data. *

The default value is 8MiB. */ private Integer initialMaxData; /** * If configured this will enable Datagram support. */ private Integer recvQueueLen; /** * If configured this will enable Datagram support. */ private Integer sendQueueLen; /** * See * set_initial_max_stream_data_bidi_local. *

The default value is 1MiB. */ private Integer initialMaxStreamDataBidiLocal; /** * See * set_initial_max_stream_data_bidi_remote. *

The default value is 1MiB. */ private Integer initialMaxStreamDataBidiRemote; /** * See * set_initial_max_stream_data_uni. *

The default value is 0. */ private Integer initialMaxStreamDataUni; /** * See * set_initial_max_streams_bidi. *

The default value is 1B(2^30). */ private Long initialMaxStreamsBidi; /** * See * set_initial_max_streams_uni. *

*

The default value is 1B(2^30). */ private Long initialMaxStreamsUni; /** * See * set_ack_delay_exponent. *

The default value is 3. */ private Integer maxAckDelayExponent; /** * See * set_max_ack_delay. *

The default value is 25 milliseconds. */ private Integer maxAckDelay; /** * See * set_disable_active_migration. *

The default value is {@code false}. */ private Boolean disableActiveMigration; /** * See * enable_hystart. *

The default value is {@code true}. */ private Boolean enableHystart; /** * Sets the congestion control algorithm to use. *

Supported algorithms are {@code "RENO"} or {@code "CUBIC"} or {@code "BBR"}. *

The default value is {@code "CUBIC"}. */ private String ccAlgorithm; public Boolean getEnabled() { return enabled; } public void setEnabled(Boolean enabled) { this.enabled = enabled; } public Boolean getNegotiation() { return negotiation; } public void setNegotiation(Boolean negotiation) { this.negotiation = negotiation; } public Integer getInitialMaxData() { return initialMaxData; } @Parameter(excluded = true) public int getInitialMaxDataOrDefault() { return initialMaxData == null ? DEFAULT_INITIAL_MAX_DATA : initialMaxData; } public void setInitialMaxData(Integer initialMaxData) { this.initialMaxData = initialMaxData; } public Integer getRecvQueueLen() { return recvQueueLen; } public void setRecvQueueLen(Integer recvQueueLen) { this.recvQueueLen = recvQueueLen; } public Integer getSendQueueLen() { return sendQueueLen; } public void setSendQueueLen(Integer sendQueueLen) { this.sendQueueLen = sendQueueLen; } public Integer getInitialMaxStreamDataBidiLocal() { return initialMaxStreamDataBidiLocal; } @Parameter(excluded = true) public int getInitialMaxStreamDataBidiLocalOrDefault() { return initialMaxStreamDataBidiLocal == null ? DEFAULT_INITIAL_MAX_STREAM_DATA_BIDI_LOCAL : initialMaxStreamDataBidiLocal; } public void setInitialMaxStreamDataBidiLocal(Integer initialMaxStreamDataBidiLocal) { this.initialMaxStreamDataBidiLocal = initialMaxStreamDataBidiLocal; } public Integer getInitialMaxStreamDataBidiRemote() { return initialMaxStreamDataBidiRemote; } @Parameter(excluded = true) public int getInitialMaxStreamDataBidiRemoteOrDefault() { return initialMaxStreamDataBidiRemote == null ? DEFAULT_INITIAL_MAX_STREAM_DATA_BIDI_REMOTE : initialMaxStreamDataBidiRemote; } public void setInitialMaxStreamDataBidiRemote(Integer initialMaxStreamDataBidiRemote) { this.initialMaxStreamDataBidiRemote = initialMaxStreamDataBidiRemote; } public Integer getInitialMaxStreamDataUni() { return initialMaxStreamDataUni; } @Parameter(excluded = true) public int getInitialMaxStreamDataUniOrDefault() { return initialMaxStreamDataUni == null ? DEFAULT_INITIAL_MAX_STREAM_DATA_UNI : initialMaxStreamDataUni; } public void setInitialMaxStreamDataUni(Integer initialMaxStreamDataUni) { this.initialMaxStreamDataUni = initialMaxStreamDataUni; } public Long getInitialMaxStreamsBidi() { return initialMaxStreamsBidi; } @Parameter(excluded = true) public long getInitialMaxStreamsBidiOrDefault() { return initialMaxStreamsBidi == null ? DEFAULT_INITIAL_MAX_STREAMS_BIDI : initialMaxStreamsBidi; } public void setInitialMaxStreamsBidi(Long initialMaxStreamsBidi) { this.initialMaxStreamsBidi = initialMaxStreamsBidi; } public Long getInitialMaxStreamsUni() { return initialMaxStreamsUni; } @Parameter(excluded = true) public long getInitialMaxStreamsUniOrDefault() { return initialMaxStreamsUni == null ? DEFAULT_INITIAL_MAX_STREAMS_UNI : initialMaxStreamsUni; } public void setInitialMaxStreamsUni(Long initialMaxStreamsUni) { this.initialMaxStreamsUni = initialMaxStreamsUni; } public Integer getMaxAckDelayExponent() { return maxAckDelayExponent; } public void setMaxAckDelayExponent(Integer maxAckDelayExponent) { this.maxAckDelayExponent = maxAckDelayExponent; } public Integer getMaxAckDelay() { return maxAckDelay; } public void setMaxAckDelay(Integer maxAckDelay) { this.maxAckDelay = maxAckDelay; } public Boolean getDisableActiveMigration() { return disableActiveMigration; } public void setDisableActiveMigration(Boolean disableActiveMigration) { this.disableActiveMigration = disableActiveMigration; } public Boolean getEnableHystart() { return enableHystart; } public void setEnableHystart(Boolean enableHystart) { this.enableHystart = enableHystart; } public String getCcAlgorithm() { return ccAlgorithm; } public void setCcAlgorithm(String ccAlgorithm) { this.ccAlgorithm = ccAlgorithm; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy