# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: envoy/extensions/filters/http/adaptive_concurrency/v3/adaptive_concurrency.proto
# Protobuf Python Version: 6.31.1
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import runtime_version as _runtime_version
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
_runtime_version.ValidateProtobufRuntimeVersion(
    _runtime_version.Domain.PUBLIC,
    6,
    31,
    1,
    '',
    'envoy/extensions/filters/http/adaptive_concurrency/v3/adaptive_concurrency.proto'
)
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from envoy.config.core.v3 import base_pb2 as envoy_dot_config_dot_core_dot_v3_dot_base__pb2
from envoy.type.v3 import http_status_pb2 as envoy_dot_type_dot_v3_dot_http__status__pb2
from envoy.type.v3 import percent_pb2 as envoy_dot_type_dot_v3_dot_percent__pb2
from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2
from udpa.annotations import status_pb2 as udpa_dot_annotations_dot_status__pb2
from udpa.annotations import versioning_pb2 as udpa_dot_annotations_dot_versioning__pb2
from validate import validate_pb2 as validate_dot_validate__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nPenvoy/extensions/filters/http/adaptive_concurrency/v3/adaptive_concurrency.proto\x12\x35\x65nvoy.extensions.filters.http.adaptive_concurrency.v3\x1a\x1f\x65nvoy/config/core/v3/base.proto\x1a\x1f\x65nvoy/type/v3/http_status.proto\x1a\x1b\x65nvoy/type/v3/percent.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\x1a\x17validate/validate.proto\"\xea\t\n\x18GradientControllerConfig\x12;\n\x1bsample_aggregate_percentile\x18\x01 \x01(\x0b\x32\x16.envoy.type.v3.Percent\x12\x9d\x01\n\x18\x63oncurrency_limit_params\x18\x02 \x01(\x0b\x32q.envoy.extensions.filters.http.adaptive_concurrency.v3.GradientControllerConfig.ConcurrencyLimitCalculationParamsB\x08\xfa\x42\x05\x8a\x01\x02\x10\x01\x12\x92\x01\n\x13min_rtt_calc_params\x18\x03 \x01(\x0b\x32k.envoy.extensions.filters.http.adaptive_concurrency.v3.GradientControllerConfig.MinimumRTTCalculationParamsB\x08\xfa\x42\x05\x8a\x01\x02\x10\x01\x1a\xae\x02\n!ConcurrencyLimitCalculationParams\x12\x44\n\x15max_concurrency_limit\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt32ValueB\x07\xfa\x42\x04*\x02 \x00\x12J\n\x1b\x63oncurrency_update_interval\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\n\xfa\x42\x07\xaa\x01\x04\x08\x01*\x00:w\x9a\xc5\x88\x1er\npenvoy.config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig.ConcurrencyLimitCalculationParams\x1a\xd3\x03\n\x1bMinimumRTTCalculationParams\x12\x39\n\x08interval\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x0c\xfa\x42\t\xaa\x01\x06\x32\x04\x10\xc0\x84=\x12\x38\n\x0b\x66ixed_value\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationB\x08\xfa\x42\x05\xaa\x01\x02*\x00\x12<\n\rrequest_count\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt32ValueB\x07\xfa\x42\x04*\x02 \x00\x12&\n\x06jitter\x18\x03 \x01(\x0b\x32\x16.envoy.type.v3.Percent\x12>\n\x0fmin_concurrency\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.UInt32ValueB\x07\xfa\x42\x04*\x02 \x00\x12&\n\x06\x62uffer\x18\x05 \x01(\x0b\x32\x16.envoy.type.v3.Percent:q\x9a\xc5\x88\x1el\njenvoy.config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig.MinimumRTTCalculationParams:U\x9a\xc5\x88\x1eP\nNenvoy.config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig\"\x8f\x03\n\x13\x41\x64\x61ptiveConcurrency\x12\x7f\n\x1agradient_controller_config\x18\x01 \x01(\x0b\x32O.envoy.extensions.filters.http.adaptive_concurrency.v3.GradientControllerConfigB\x08\xfa\x42\x05\x8a\x01\x02\x10\x01H\x00\x12\x39\n\x07\x65nabled\x18\x02 \x01(\x0b\x32(.envoy.config.core.v3.RuntimeFeatureFlag\x12\x44\n!concurrency_limit_exceeded_status\x18\x03 \x01(\x0b\x32\x19.envoy.type.v3.HttpStatus:P\x9a\xc5\x88\x1eK\nIenvoy.config.filter.http.adaptive_concurrency.v2alpha.AdaptiveConcurrencyB$\n\x1d\x63oncurrency_controller_config\x12\x03\xf8\x42\x01\x42\xde\x01\nCio.envoyproxy.envoy.extensions.filters.http.adaptive_concurrency.v3B\x18\x41\x64\x61ptiveConcurrencyProtoP\x01Zsgithub.com/envoyproxy/go-control-plane/envoy/extensions/filters/http/adaptive_concurrency/v3;adaptive_concurrencyv3\xba\x80\xc8\xd1\x06\x02\x10\x02\x62\x06proto3')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'envoy.extensions.filters.http.adaptive_concurrency.v3.adaptive_concurrency_pb2', _globals)
if not _descriptor._USE_C_DESCRIPTORS:
  _globals['DESCRIPTOR']._loaded_options = None
  _globals['DESCRIPTOR']._serialized_options = b'\nCio.envoyproxy.envoy.extensions.filters.http.adaptive_concurrency.v3B\030AdaptiveConcurrencyProtoP\001Zsgithub.com/envoyproxy/go-control-plane/envoy/extensions/filters/http/adaptive_concurrency/v3;adaptive_concurrencyv3\272\200\310\321\006\002\020\002'
  _globals['_GRADIENTCONTROLLERCONFIG_CONCURRENCYLIMITCALCULATIONPARAMS'].fields_by_name['max_concurrency_limit']._loaded_options = None
  _globals['_GRADIENTCONTROLLERCONFIG_CONCURRENCYLIMITCALCULATIONPARAMS'].fields_by_name['max_concurrency_limit']._serialized_options = b'\372B\004*\002 \000'
  _globals['_GRADIENTCONTROLLERCONFIG_CONCURRENCYLIMITCALCULATIONPARAMS'].fields_by_name['concurrency_update_interval']._loaded_options = None
  _globals['_GRADIENTCONTROLLERCONFIG_CONCURRENCYLIMITCALCULATIONPARAMS'].fields_by_name['concurrency_update_interval']._serialized_options = b'\372B\007\252\001\004\010\001*\000'
  _globals['_GRADIENTCONTROLLERCONFIG_CONCURRENCYLIMITCALCULATIONPARAMS']._loaded_options = None
  _globals['_GRADIENTCONTROLLERCONFIG_CONCURRENCYLIMITCALCULATIONPARAMS']._serialized_options = b'\232\305\210\036r\npenvoy.config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig.ConcurrencyLimitCalculationParams'
  _globals['_GRADIENTCONTROLLERCONFIG_MINIMUMRTTCALCULATIONPARAMS'].fields_by_name['interval']._loaded_options = None
  _globals['_GRADIENTCONTROLLERCONFIG_MINIMUMRTTCALCULATIONPARAMS'].fields_by_name['interval']._serialized_options = b'\372B\t\252\001\0062\004\020\300\204='
  _globals['_GRADIENTCONTROLLERCONFIG_MINIMUMRTTCALCULATIONPARAMS'].fields_by_name['fixed_value']._loaded_options = None
  _globals['_GRADIENTCONTROLLERCONFIG_MINIMUMRTTCALCULATIONPARAMS'].fields_by_name['fixed_value']._serialized_options = b'\372B\005\252\001\002*\000'
  _globals['_GRADIENTCONTROLLERCONFIG_MINIMUMRTTCALCULATIONPARAMS'].fields_by_name['request_count']._loaded_options = None
  _globals['_GRADIENTCONTROLLERCONFIG_MINIMUMRTTCALCULATIONPARAMS'].fields_by_name['request_count']._serialized_options = b'\372B\004*\002 \000'
  _globals['_GRADIENTCONTROLLERCONFIG_MINIMUMRTTCALCULATIONPARAMS'].fields_by_name['min_concurrency']._loaded_options = None
  _globals['_GRADIENTCONTROLLERCONFIG_MINIMUMRTTCALCULATIONPARAMS'].fields_by_name['min_concurrency']._serialized_options = b'\372B\004*\002 \000'
  _globals['_GRADIENTCONTROLLERCONFIG_MINIMUMRTTCALCULATIONPARAMS']._loaded_options = None
  _globals['_GRADIENTCONTROLLERCONFIG_MINIMUMRTTCALCULATIONPARAMS']._serialized_options = b'\232\305\210\036l\njenvoy.config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig.MinimumRTTCalculationParams'
  _globals['_GRADIENTCONTROLLERCONFIG'].fields_by_name['concurrency_limit_params']._loaded_options = None
  _globals['_GRADIENTCONTROLLERCONFIG'].fields_by_name['concurrency_limit_params']._serialized_options = b'\372B\005\212\001\002\020\001'
  _globals['_GRADIENTCONTROLLERCONFIG'].fields_by_name['min_rtt_calc_params']._loaded_options = None
  _globals['_GRADIENTCONTROLLERCONFIG'].fields_by_name['min_rtt_calc_params']._serialized_options = b'\372B\005\212\001\002\020\001'
  _globals['_GRADIENTCONTROLLERCONFIG']._loaded_options = None
  _globals['_GRADIENTCONTROLLERCONFIG']._serialized_options = b'\232\305\210\036P\nNenvoy.config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig'
  _globals['_ADAPTIVECONCURRENCY'].oneofs_by_name['concurrency_controller_config']._loaded_options = None
  _globals['_ADAPTIVECONCURRENCY'].oneofs_by_name['concurrency_controller_config']._serialized_options = b'\370B\001'
  _globals['_ADAPTIVECONCURRENCY'].fields_by_name['gradient_controller_config']._loaded_options = None
  _globals['_ADAPTIVECONCURRENCY'].fields_by_name['gradient_controller_config']._serialized_options = b'\372B\005\212\001\002\020\001'
  _globals['_ADAPTIVECONCURRENCY']._loaded_options = None
  _globals['_ADAPTIVECONCURRENCY']._serialized_options = b'\232\305\210\036K\nIenvoy.config.filter.http.adaptive_concurrency.v2alpha.AdaptiveConcurrency'
  _globals['_GRADIENTCONTROLLERCONFIG']._serialized_start=390
  _globals['_GRADIENTCONTROLLERCONFIG']._serialized_end=1648
  _globals['_GRADIENTCONTROLLERCONFIG_CONCURRENCYLIMITCALCULATIONPARAMS']._serialized_start=789
  _globals['_GRADIENTCONTROLLERCONFIG_CONCURRENCYLIMITCALCULATIONPARAMS']._serialized_end=1091
  _globals['_GRADIENTCONTROLLERCONFIG_MINIMUMRTTCALCULATIONPARAMS']._serialized_start=1094
  _globals['_GRADIENTCONTROLLERCONFIG_MINIMUMRTTCALCULATIONPARAMS']._serialized_end=1561
  _globals['_ADAPTIVECONCURRENCY']._serialized_start=1651
  _globals['_ADAPTIVECONCURRENCY']._serialized_end=2050
# @@protoc_insertion_point(module_scope)
