blob: ff7c3ee6f4824c87d86849f1e0855f635a7b1a95 [file] [log] [blame]
Zack Williamse940c7a2019-08-21 14:25:39 -07001/*
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
20// kept for the exported types and API backward compatibility.
21
22package grpc
23
24import (
25 "time"
David K. Bainbridgebd6b2882021-08-26 13:31:02 +000026
27 "google.golang.org/grpc/backoff"
Zack Williamse940c7a2019-08-21 14:25:39 -070028)
29
30// DefaultBackoffConfig uses values specified for backoff in
31// https://github.com/grpc/grpc/blob/master/doc/connection-backoff.md.
David K. Bainbridgebd6b2882021-08-26 13:31:02 +000032//
33// Deprecated: use ConnectParams instead. Will be supported throughout 1.x.
Zack Williamse940c7a2019-08-21 14:25:39 -070034var DefaultBackoffConfig = BackoffConfig{
35 MaxDelay: 120 * time.Second,
36}
37
38// BackoffConfig defines the parameters for the default gRPC backoff strategy.
David K. Bainbridgebd6b2882021-08-26 13:31:02 +000039//
40// Deprecated: use ConnectParams instead. Will be supported throughout 1.x.
Zack Williamse940c7a2019-08-21 14:25:39 -070041type BackoffConfig struct {
42 // MaxDelay is the upper bound of backoff delay.
43 MaxDelay time.Duration
44}
David K. Bainbridgebd6b2882021-08-26 13:31:02 +000045
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}