1 /* 2 * Copyright 2023 The Netty Project 3 * 4 * The Netty Project licenses this file to you under the Apache License, 5 * version 2.0 (the "License"); you may not use this file except in compliance 6 * with the License. You may obtain a copy of the License at: 7 * 8 * https://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 * License for the specific language governing permissions and limitations 14 * under the License. 15 */ 16 package io.netty.handler.codec.quic; 17 18 /** 19 * Transport parameters for QUIC. 20 */ 21 public interface QuicTransportParameters { 22 23 /** 24 * The maximum idle timeout. 25 * @return timeout. 26 */ 27 long maxIdleTimeout(); 28 29 /** 30 * The maximum UDP payload size. 31 * 32 * @return maximum payload size. 33 */ 34 long maxUdpPayloadSize(); 35 36 /** 37 * The initial flow control maximum data for the connection. 38 * 39 * @return flowcontrol. 40 */ 41 long initialMaxData(); 42 43 /** 44 * The initial flow control maximum data for local bidirectional streams. 45 * 46 * @return flowcontrol. 47 */ 48 long initialMaxStreamDataBidiLocal(); 49 50 /** 51 * The initial flow control maximum data for remote bidirectional streams. 52 * 53 * @return flowcontrol. 54 */ 55 long initialMaxStreamDataBidiRemote(); 56 57 /** 58 * The initial flow control maximum data for unidirectional streams. 59 * 60 * @return flowcontrol. 61 */ 62 long initialMaxStreamDataUni(); 63 64 /** 65 * The initial maximum bidirectional streams. 66 * 67 * @return streams. 68 */ 69 long initialMaxStreamsBidi(); 70 71 /** 72 * The initial maximum unidirectional streams. 73 * 74 * @return streams. 75 */ 76 long initialMaxStreamsUni(); 77 78 /** 79 * The ACK delay exponent 80 * 81 * @return exponent. 82 */ 83 long ackDelayExponent(); 84 85 /** 86 * The max ACK delay. 87 * 88 * @return delay. 89 */ 90 long maxAckDelay(); 91 92 /** 93 * Whether active migration is disabled. 94 * 95 * @return disabled. 96 */ 97 boolean disableActiveMigration(); 98 99 /** 100 * The active connection ID limit. 101 * 102 * @return limit. 103 */ 104 long activeConnIdLimit(); 105 106 /** 107 * DATAGRAM frame extension parameter, if any. 108 * 109 * @return param. 110 */ 111 long maxDatagramFrameSize(); 112 }