1syntax = "proto3"; 2 3package envoy.api.v2.core; 4 5import "google/protobuf/duration.proto"; 6 7import "udpa/annotations/migrate.proto"; 8import "udpa/annotations/status.proto"; 9import "validate/validate.proto"; 10 11option java_package = "io.envoyproxy.envoy.api.v2.core"; 12option java_outer_classname = "BackoffProto"; 13option java_multiple_files = true; 14option go_package = "github.com/envoyproxy/go-control-plane/envoy/api/v2/core"; 15option (udpa.annotations.file_migrate).move_to_package = "envoy.config.core.v3"; 16option (udpa.annotations.file_status).package_version_status = FROZEN; 17 18// [#protodoc-title: Backoff Strategy] 19 20// Configuration defining a jittered exponential back off strategy. 21message BackoffStrategy { 22 // The base interval to be used for the next back off computation. It should 23 // be greater than zero and less than or equal to :ref:`max_interval 24 // <envoy_api_field_core.BackoffStrategy.max_interval>`. 25 google.protobuf.Duration base_interval = 1 [(validate.rules).duration = { 26 required: true 27 gte {nanos: 1000000} 28 }]; 29 30 // Specifies the maximum interval between retries. This parameter is optional, 31 // but must be greater than or equal to the :ref:`base_interval 32 // <envoy_api_field_core.BackoffStrategy.base_interval>` if set. The default 33 // is 10 times the :ref:`base_interval 34 // <envoy_api_field_core.BackoffStrategy.base_interval>`. 35 google.protobuf.Duration max_interval = 2 [(validate.rules).duration = {gt {}}]; 36} 37