blob: ff7c3ee6f4824c87d86849f1e0855f635a7b1a95 [file] [log] [blame]
khenaidooac637102019-01-14 15:44:34 -05001/*
2 *
3 * Copyright 2017 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// See internal/backoff package for the backoff implementation. This file is
William Kurkiandaa6bb22019-03-07 12:26:28 -050020// kept for the exported types and API backward compatibility.
khenaidooac637102019-01-14 15:44:34 -050021
22package grpc
23
24import (
25 "time"
Andrea Campanella3614a922021-02-25 12:40:42 +010026
27 "google.golang.org/grpc/backoff"
khenaidooac637102019-01-14 15:44:34 -050028)
29
30// DefaultBackoffConfig uses values specified for backoff in
31// https://github.com/grpc/grpc/blob/master/doc/connection-backoff.md.
Andrea Campanella3614a922021-02-25 12:40:42 +010032//
33// Deprecated: use ConnectParams instead. Will be supported throughout 1.x.
khenaidooac637102019-01-14 15:44:34 -050034var DefaultBackoffConfig = BackoffConfig{
35 MaxDelay: 120 * time.Second,
36}
37
38// BackoffConfig defines the parameters for the default gRPC backoff strategy.
Andrea Campanella3614a922021-02-25 12:40:42 +010039//
40// Deprecated: use ConnectParams instead. Will be supported throughout 1.x.
khenaidooac637102019-01-14 15:44:34 -050041type BackoffConfig struct {
42 // MaxDelay is the upper bound of backoff delay.
43 MaxDelay time.Duration
44}
Andrea Campanella3614a922021-02-25 12:40:42 +010045
46// ConnectParams defines the parameters for connecting and retrying. Users are
47// encouraged to use this instead of the BackoffConfig type defined above. See
48// here for more details:
49// https://github.com/grpc/grpc/blob/master/doc/connection-backoff.md.
50//
51// This API is EXPERIMENTAL.
52type ConnectParams struct {
53 // Backoff specifies the configuration options for connection backoff.
54 Backoff backoff.Config
55 // MinConnectTimeout is the minimum amount of time we are willing to give a
56 // connection to complete.
57 MinConnectTimeout time.Duration
58}