gitee.com/ks-custle/core-gm@v0.0.0-20230922171213-b83bdd97b62c/grpc/internal/transport/defaults.go (about) 1 /* 2 * 3 * Copyright 2018 gRPC authors. 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 * 17 */ 18 19 package transport 20 21 import ( 22 "math" 23 "time" 24 ) 25 26 const ( 27 // The default value of flow control window size in HTTP2 spec. 28 defaultWindowSize = 65535 29 // The initial window size for flow control. 30 initialWindowSize = defaultWindowSize // for an RPC 31 infinity = time.Duration(math.MaxInt64) 32 defaultClientKeepaliveTime = infinity 33 defaultClientKeepaliveTimeout = 20 * time.Second 34 defaultMaxStreamsClient = 100 35 defaultMaxConnectionIdle = infinity 36 defaultMaxConnectionAge = infinity 37 defaultMaxConnectionAgeGrace = infinity 38 defaultServerKeepaliveTime = 2 * time.Hour 39 defaultServerKeepaliveTimeout = 20 * time.Second 40 defaultKeepalivePolicyMinTime = 5 * time.Minute 41 // max window limit set by HTTP2 Specs. 42 maxWindowSize = math.MaxInt32 43 // defaultWriteQuota is the default value for number of data 44 // bytes that each stream can schedule before some of it being 45 // flushed out. 46 defaultWriteQuota = 64 * 1024 47 defaultClientMaxHeaderListSize = uint32(16 << 20) 48 defaultServerMaxHeaderListSize = uint32(16 << 20) 49 )