mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2024-11-24 20:56:39 +00:00
56 lines
2 KiB
Go
56 lines
2 KiB
Go
|
/*
|
||
|
*
|
||
|
* Copyright 2018 gRPC authors.
|
||
|
*
|
||
|
* Licensed 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 transport
|
||
|
|
||
|
import (
|
||
|
"math"
|
||
|
"time"
|
||
|
)
|
||
|
|
||
|
const (
|
||
|
// The default value of flow control window size in HTTP2 spec.
|
||
|
defaultWindowSize = 65535
|
||
|
// The initial window size for flow control.
|
||
|
initialWindowSize = defaultWindowSize // for an RPC
|
||
|
infinity = time.Duration(math.MaxInt64)
|
||
|
defaultClientKeepaliveTime = infinity
|
||
|
defaultClientKeepaliveTimeout = 20 * time.Second
|
||
|
defaultMaxStreamsClient = 100
|
||
|
defaultMaxConnectionIdle = infinity
|
||
|
defaultMaxConnectionAge = infinity
|
||
|
defaultMaxConnectionAgeGrace = infinity
|
||
|
defaultServerKeepaliveTime = 2 * time.Hour
|
||
|
defaultServerKeepaliveTimeout = 20 * time.Second
|
||
|
defaultKeepalivePolicyMinTime = 5 * time.Minute
|
||
|
// max window limit set by HTTP2 Specs.
|
||
|
maxWindowSize = math.MaxInt32
|
||
|
// defaultWriteQuota is the default value for number of data
|
||
|
// bytes that each stream can schedule before some of it being
|
||
|
// flushed out.
|
||
|
defaultWriteQuota = 64 * 1024
|
||
|
defaultClientMaxHeaderListSize = uint32(16 << 20)
|
||
|
defaultServerMaxHeaderListSize = uint32(16 << 20)
|
||
|
)
|
||
|
|
||
|
// MaxStreamID is the upper bound for the stream ID before the current
|
||
|
// transport gracefully closes and new transport is created for subsequent RPCs.
|
||
|
// This is set to 75% of 2^31-1. Streams are identified with an unsigned 31-bit
|
||
|
// integer. It's exported so that tests can override it.
|
||
|
var MaxStreamID = uint32(math.MaxInt32 * 3 / 4)
|