github.com/hxx258456/ccgo@v0.0.5-0.20230213014102-48b35f46f66f/go-control-plane/envoy/api/v2/core/protocol.pb.go (about) 1 // Code generated by protoc-gen-go. DO NOT EDIT. 2 // versions: 3 // protoc-gen-go v1.25.0 4 // protoc v3.16.0 5 // source: envoy/api/v2/core/protocol.proto 6 7 package envoy_api_v2_core 8 9 import ( 10 _ "github.com/cncf/xds/go/udpa/annotations" 11 _ "github.com/envoyproxy/protoc-gen-validate/validate" 12 proto "github.com/golang/protobuf/proto" 13 duration "github.com/golang/protobuf/ptypes/duration" 14 wrappers "github.com/golang/protobuf/ptypes/wrappers" 15 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 16 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 17 reflect "reflect" 18 sync "sync" 19 ) 20 21 const ( 22 // Verify that this generated code is sufficiently up-to-date. 23 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 24 // Verify that runtime/protoimpl is sufficiently up-to-date. 25 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 26 ) 27 28 // This is a compile-time assertion that a sufficiently up-to-date version 29 // of the legacy proto package is being used. 30 const _ = proto.ProtoPackageIsVersion4 31 32 // Action to take when Envoy receives client request with header names containing underscore 33 // characters. 34 // Underscore character is allowed in header names by the RFC-7230 and this behavior is implemented 35 // as a security measure due to systems that treat '_' and '-' as interchangeable. Envoy by default allows client request headers with underscore 36 // characters. 37 type HttpProtocolOptions_HeadersWithUnderscoresAction int32 38 39 const ( 40 // Allow headers with underscores. This is the default behavior. 41 HttpProtocolOptions_ALLOW HttpProtocolOptions_HeadersWithUnderscoresAction = 0 42 // Reject client request. HTTP/1 requests are rejected with the 400 status. HTTP/2 requests 43 // end with the stream reset. The "httpN.requests_rejected_with_underscores_in_headers" counter 44 // is incremented for each rejected request. 45 HttpProtocolOptions_REJECT_REQUEST HttpProtocolOptions_HeadersWithUnderscoresAction = 1 46 // Drop the header with name containing underscores. The header is dropped before the filter chain is 47 // invoked and as such filters will not see dropped headers. The 48 // "httpN.dropped_headers_with_underscores" is incremented for each dropped header. 49 HttpProtocolOptions_DROP_HEADER HttpProtocolOptions_HeadersWithUnderscoresAction = 2 50 ) 51 52 // Enum value maps for HttpProtocolOptions_HeadersWithUnderscoresAction. 53 var ( 54 HttpProtocolOptions_HeadersWithUnderscoresAction_name = map[int32]string{ 55 0: "ALLOW", 56 1: "REJECT_REQUEST", 57 2: "DROP_HEADER", 58 } 59 HttpProtocolOptions_HeadersWithUnderscoresAction_value = map[string]int32{ 60 "ALLOW": 0, 61 "REJECT_REQUEST": 1, 62 "DROP_HEADER": 2, 63 } 64 ) 65 66 func (x HttpProtocolOptions_HeadersWithUnderscoresAction) Enum() *HttpProtocolOptions_HeadersWithUnderscoresAction { 67 p := new(HttpProtocolOptions_HeadersWithUnderscoresAction) 68 *p = x 69 return p 70 } 71 72 func (x HttpProtocolOptions_HeadersWithUnderscoresAction) String() string { 73 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 74 } 75 76 func (HttpProtocolOptions_HeadersWithUnderscoresAction) Descriptor() protoreflect.EnumDescriptor { 77 return file_envoy_api_v2_core_protocol_proto_enumTypes[0].Descriptor() 78 } 79 80 func (HttpProtocolOptions_HeadersWithUnderscoresAction) Type() protoreflect.EnumType { 81 return &file_envoy_api_v2_core_protocol_proto_enumTypes[0] 82 } 83 84 func (x HttpProtocolOptions_HeadersWithUnderscoresAction) Number() protoreflect.EnumNumber { 85 return protoreflect.EnumNumber(x) 86 } 87 88 // Deprecated: Use HttpProtocolOptions_HeadersWithUnderscoresAction.Descriptor instead. 89 func (HttpProtocolOptions_HeadersWithUnderscoresAction) EnumDescriptor() ([]byte, []int) { 90 return file_envoy_api_v2_core_protocol_proto_rawDescGZIP(), []int{2, 0} 91 } 92 93 // [#not-implemented-hide:] 94 type TcpProtocolOptions struct { 95 state protoimpl.MessageState 96 sizeCache protoimpl.SizeCache 97 unknownFields protoimpl.UnknownFields 98 } 99 100 func (x *TcpProtocolOptions) Reset() { 101 *x = TcpProtocolOptions{} 102 if protoimpl.UnsafeEnabled { 103 mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[0] 104 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 105 ms.StoreMessageInfo(mi) 106 } 107 } 108 109 func (x *TcpProtocolOptions) String() string { 110 return protoimpl.X.MessageStringOf(x) 111 } 112 113 func (*TcpProtocolOptions) ProtoMessage() {} 114 115 func (x *TcpProtocolOptions) ProtoReflect() protoreflect.Message { 116 mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[0] 117 if protoimpl.UnsafeEnabled && x != nil { 118 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 119 if ms.LoadMessageInfo() == nil { 120 ms.StoreMessageInfo(mi) 121 } 122 return ms 123 } 124 return mi.MessageOf(x) 125 } 126 127 // Deprecated: Use TcpProtocolOptions.ProtoReflect.Descriptor instead. 128 func (*TcpProtocolOptions) Descriptor() ([]byte, []int) { 129 return file_envoy_api_v2_core_protocol_proto_rawDescGZIP(), []int{0} 130 } 131 132 type UpstreamHttpProtocolOptions struct { 133 state protoimpl.MessageState 134 sizeCache protoimpl.SizeCache 135 unknownFields protoimpl.UnknownFields 136 137 // Set transport socket `SNI <https://en.wikipedia.org/wiki/Server_Name_Indication>`_ for new 138 // upstream connections based on the downstream HTTP host/authority header, as seen by the 139 // :ref:`router filter <config_http_filters_router>`. 140 AutoSni bool `protobuf:"varint,1,opt,name=auto_sni,json=autoSni,proto3" json:"auto_sni,omitempty"` 141 // Automatic validate upstream presented certificate for new upstream connections based on the 142 // downstream HTTP host/authority header, as seen by the 143 // :ref:`router filter <config_http_filters_router>`. 144 // This field is intended to set with `auto_sni` field. 145 AutoSanValidation bool `protobuf:"varint,2,opt,name=auto_san_validation,json=autoSanValidation,proto3" json:"auto_san_validation,omitempty"` 146 } 147 148 func (x *UpstreamHttpProtocolOptions) Reset() { 149 *x = UpstreamHttpProtocolOptions{} 150 if protoimpl.UnsafeEnabled { 151 mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[1] 152 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 153 ms.StoreMessageInfo(mi) 154 } 155 } 156 157 func (x *UpstreamHttpProtocolOptions) String() string { 158 return protoimpl.X.MessageStringOf(x) 159 } 160 161 func (*UpstreamHttpProtocolOptions) ProtoMessage() {} 162 163 func (x *UpstreamHttpProtocolOptions) ProtoReflect() protoreflect.Message { 164 mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[1] 165 if protoimpl.UnsafeEnabled && x != nil { 166 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 167 if ms.LoadMessageInfo() == nil { 168 ms.StoreMessageInfo(mi) 169 } 170 return ms 171 } 172 return mi.MessageOf(x) 173 } 174 175 // Deprecated: Use UpstreamHttpProtocolOptions.ProtoReflect.Descriptor instead. 176 func (*UpstreamHttpProtocolOptions) Descriptor() ([]byte, []int) { 177 return file_envoy_api_v2_core_protocol_proto_rawDescGZIP(), []int{1} 178 } 179 180 func (x *UpstreamHttpProtocolOptions) GetAutoSni() bool { 181 if x != nil { 182 return x.AutoSni 183 } 184 return false 185 } 186 187 func (x *UpstreamHttpProtocolOptions) GetAutoSanValidation() bool { 188 if x != nil { 189 return x.AutoSanValidation 190 } 191 return false 192 } 193 194 // [#next-free-field: 6] 195 type HttpProtocolOptions struct { 196 state protoimpl.MessageState 197 sizeCache protoimpl.SizeCache 198 unknownFields protoimpl.UnknownFields 199 200 // The idle timeout for connections. The idle timeout is defined as the 201 // period in which there are no active requests. When the 202 // idle timeout is reached the connection will be closed. If the connection is an HTTP/2 203 // downstream connection a drain sequence will occur prior to closing the connection, see 204 // :ref:`drain_timeout 205 // <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.drain_timeout>`. 206 // Note that request based timeouts mean that HTTP/2 PINGs will not keep the connection alive. 207 // If not specified, this defaults to 1 hour. To disable idle timeouts explicitly set this to 0. 208 // 209 // .. warning:: 210 // Disabling this timeout has a highly likelihood of yielding connection leaks due to lost TCP 211 // FIN packets, etc. 212 IdleTimeout *duration.Duration `protobuf:"bytes,1,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"` 213 // The maximum duration of a connection. The duration is defined as a period since a connection 214 // was established. If not set, there is no max duration. When max_connection_duration is reached 215 // the connection will be closed. Drain sequence will occur prior to closing the connection if 216 // if's applicable. See :ref:`drain_timeout 217 // <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.drain_timeout>`. 218 // Note: not implemented for upstream connections. 219 MaxConnectionDuration *duration.Duration `protobuf:"bytes,3,opt,name=max_connection_duration,json=maxConnectionDuration,proto3" json:"max_connection_duration,omitempty"` 220 // The maximum number of headers. If unconfigured, the default 221 // maximum number of request headers allowed is 100. Requests that exceed this limit will receive 222 // a 431 response for HTTP/1.x and cause a stream reset for HTTP/2. 223 MaxHeadersCount *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=max_headers_count,json=maxHeadersCount,proto3" json:"max_headers_count,omitempty"` 224 // Total duration to keep alive an HTTP request/response stream. If the time limit is reached the stream will be 225 // reset independent of any other timeouts. If not specified, this value is not set. 226 MaxStreamDuration *duration.Duration `protobuf:"bytes,4,opt,name=max_stream_duration,json=maxStreamDuration,proto3" json:"max_stream_duration,omitempty"` 227 // Action to take when a client request with a header name containing underscore characters is received. 228 // If this setting is not specified, the value defaults to ALLOW. 229 // Note: upstream responses are not affected by this setting. 230 HeadersWithUnderscoresAction HttpProtocolOptions_HeadersWithUnderscoresAction `protobuf:"varint,5,opt,name=headers_with_underscores_action,json=headersWithUnderscoresAction,proto3,enum=envoy.api.v2.core.HttpProtocolOptions_HeadersWithUnderscoresAction" json:"headers_with_underscores_action,omitempty"` 231 } 232 233 func (x *HttpProtocolOptions) Reset() { 234 *x = HttpProtocolOptions{} 235 if protoimpl.UnsafeEnabled { 236 mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[2] 237 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 238 ms.StoreMessageInfo(mi) 239 } 240 } 241 242 func (x *HttpProtocolOptions) String() string { 243 return protoimpl.X.MessageStringOf(x) 244 } 245 246 func (*HttpProtocolOptions) ProtoMessage() {} 247 248 func (x *HttpProtocolOptions) ProtoReflect() protoreflect.Message { 249 mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[2] 250 if protoimpl.UnsafeEnabled && x != nil { 251 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 252 if ms.LoadMessageInfo() == nil { 253 ms.StoreMessageInfo(mi) 254 } 255 return ms 256 } 257 return mi.MessageOf(x) 258 } 259 260 // Deprecated: Use HttpProtocolOptions.ProtoReflect.Descriptor instead. 261 func (*HttpProtocolOptions) Descriptor() ([]byte, []int) { 262 return file_envoy_api_v2_core_protocol_proto_rawDescGZIP(), []int{2} 263 } 264 265 func (x *HttpProtocolOptions) GetIdleTimeout() *duration.Duration { 266 if x != nil { 267 return x.IdleTimeout 268 } 269 return nil 270 } 271 272 func (x *HttpProtocolOptions) GetMaxConnectionDuration() *duration.Duration { 273 if x != nil { 274 return x.MaxConnectionDuration 275 } 276 return nil 277 } 278 279 func (x *HttpProtocolOptions) GetMaxHeadersCount() *wrappers.UInt32Value { 280 if x != nil { 281 return x.MaxHeadersCount 282 } 283 return nil 284 } 285 286 func (x *HttpProtocolOptions) GetMaxStreamDuration() *duration.Duration { 287 if x != nil { 288 return x.MaxStreamDuration 289 } 290 return nil 291 } 292 293 func (x *HttpProtocolOptions) GetHeadersWithUnderscoresAction() HttpProtocolOptions_HeadersWithUnderscoresAction { 294 if x != nil { 295 return x.HeadersWithUnderscoresAction 296 } 297 return HttpProtocolOptions_ALLOW 298 } 299 300 // [#next-free-field: 6] 301 type Http1ProtocolOptions struct { 302 state protoimpl.MessageState 303 sizeCache protoimpl.SizeCache 304 unknownFields protoimpl.UnknownFields 305 306 // Handle HTTP requests with absolute URLs in the requests. These requests 307 // are generally sent by clients to forward/explicit proxies. This allows clients to configure 308 // envoy as their HTTP proxy. In Unix, for example, this is typically done by setting the 309 // *http_proxy* environment variable. 310 AllowAbsoluteUrl *wrappers.BoolValue `protobuf:"bytes,1,opt,name=allow_absolute_url,json=allowAbsoluteUrl,proto3" json:"allow_absolute_url,omitempty"` 311 // Handle incoming HTTP/1.0 and HTTP 0.9 requests. 312 // This is off by default, and not fully standards compliant. There is support for pre-HTTP/1.1 313 // style connect logic, dechunking, and handling lack of client host iff 314 // *default_host_for_http_10* is configured. 315 AcceptHttp_10 bool `protobuf:"varint,2,opt,name=accept_http_10,json=acceptHttp10,proto3" json:"accept_http_10,omitempty"` 316 // A default host for HTTP/1.0 requests. This is highly suggested if *accept_http_10* is true as 317 // Envoy does not otherwise support HTTP/1.0 without a Host header. 318 // This is a no-op if *accept_http_10* is not true. 319 DefaultHostForHttp_10 string `protobuf:"bytes,3,opt,name=default_host_for_http_10,json=defaultHostForHttp10,proto3" json:"default_host_for_http_10,omitempty"` 320 // Describes how the keys for response headers should be formatted. By default, all header keys 321 // are lower cased. 322 HeaderKeyFormat *Http1ProtocolOptions_HeaderKeyFormat `protobuf:"bytes,4,opt,name=header_key_format,json=headerKeyFormat,proto3" json:"header_key_format,omitempty"` 323 // Enables trailers for HTTP/1. By default the HTTP/1 codec drops proxied trailers. 324 // 325 // .. attention:: 326 // 327 // Note that this only happens when Envoy is chunk encoding which occurs when: 328 // - The request is HTTP/1.1. 329 // - Is neither a HEAD only request nor a HTTP Upgrade. 330 // - Not a response to a HEAD request. 331 // - The content length header is not present. 332 EnableTrailers bool `protobuf:"varint,5,opt,name=enable_trailers,json=enableTrailers,proto3" json:"enable_trailers,omitempty"` 333 } 334 335 func (x *Http1ProtocolOptions) Reset() { 336 *x = Http1ProtocolOptions{} 337 if protoimpl.UnsafeEnabled { 338 mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[3] 339 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 340 ms.StoreMessageInfo(mi) 341 } 342 } 343 344 func (x *Http1ProtocolOptions) String() string { 345 return protoimpl.X.MessageStringOf(x) 346 } 347 348 func (*Http1ProtocolOptions) ProtoMessage() {} 349 350 func (x *Http1ProtocolOptions) ProtoReflect() protoreflect.Message { 351 mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[3] 352 if protoimpl.UnsafeEnabled && x != nil { 353 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 354 if ms.LoadMessageInfo() == nil { 355 ms.StoreMessageInfo(mi) 356 } 357 return ms 358 } 359 return mi.MessageOf(x) 360 } 361 362 // Deprecated: Use Http1ProtocolOptions.ProtoReflect.Descriptor instead. 363 func (*Http1ProtocolOptions) Descriptor() ([]byte, []int) { 364 return file_envoy_api_v2_core_protocol_proto_rawDescGZIP(), []int{3} 365 } 366 367 func (x *Http1ProtocolOptions) GetAllowAbsoluteUrl() *wrappers.BoolValue { 368 if x != nil { 369 return x.AllowAbsoluteUrl 370 } 371 return nil 372 } 373 374 func (x *Http1ProtocolOptions) GetAcceptHttp_10() bool { 375 if x != nil { 376 return x.AcceptHttp_10 377 } 378 return false 379 } 380 381 func (x *Http1ProtocolOptions) GetDefaultHostForHttp_10() string { 382 if x != nil { 383 return x.DefaultHostForHttp_10 384 } 385 return "" 386 } 387 388 func (x *Http1ProtocolOptions) GetHeaderKeyFormat() *Http1ProtocolOptions_HeaderKeyFormat { 389 if x != nil { 390 return x.HeaderKeyFormat 391 } 392 return nil 393 } 394 395 func (x *Http1ProtocolOptions) GetEnableTrailers() bool { 396 if x != nil { 397 return x.EnableTrailers 398 } 399 return false 400 } 401 402 // [#next-free-field: 14] 403 type Http2ProtocolOptions struct { 404 state protoimpl.MessageState 405 sizeCache protoimpl.SizeCache 406 unknownFields protoimpl.UnknownFields 407 408 // `Maximum table size <https://httpwg.org/specs/rfc7541.html#rfc.section.4.2>`_ 409 // (in octets) that the encoder is permitted to use for the dynamic HPACK table. Valid values 410 // range from 0 to 4294967295 (2^32 - 1) and defaults to 4096. 0 effectively disables header 411 // compression. 412 HpackTableSize *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=hpack_table_size,json=hpackTableSize,proto3" json:"hpack_table_size,omitempty"` 413 // `Maximum concurrent streams <https://httpwg.org/specs/rfc7540.html#rfc.section.5.1.2>`_ 414 // allowed for peer on one HTTP/2 connection. Valid values range from 1 to 2147483647 (2^31 - 1) 415 // and defaults to 2147483647. 416 // 417 // For upstream connections, this also limits how many streams Envoy will initiate concurrently 418 // on a single connection. If the limit is reached, Envoy may queue requests or establish 419 // additional connections (as allowed per circuit breaker limits). 420 MaxConcurrentStreams *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=max_concurrent_streams,json=maxConcurrentStreams,proto3" json:"max_concurrent_streams,omitempty"` 421 // `Initial stream-level flow-control window 422 // <https://httpwg.org/specs/rfc7540.html#rfc.section.6.9.2>`_ size. Valid values range from 65535 423 // (2^16 - 1, HTTP/2 default) to 2147483647 (2^31 - 1, HTTP/2 maximum) and defaults to 268435456 424 // (256 * 1024 * 1024). 425 // 426 // NOTE: 65535 is the initial window size from HTTP/2 spec. We only support increasing the default 427 // window size now, so it's also the minimum. 428 // 429 // This field also acts as a soft limit on the number of bytes Envoy will buffer per-stream in the 430 // HTTP/2 codec buffers. Once the buffer reaches this pointer, watermark callbacks will fire to 431 // stop the flow of data to the codec buffers. 432 InitialStreamWindowSize *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=initial_stream_window_size,json=initialStreamWindowSize,proto3" json:"initial_stream_window_size,omitempty"` 433 // Similar to *initial_stream_window_size*, but for connection-level flow-control 434 // window. Currently, this has the same minimum/maximum/default as *initial_stream_window_size*. 435 InitialConnectionWindowSize *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=initial_connection_window_size,json=initialConnectionWindowSize,proto3" json:"initial_connection_window_size,omitempty"` 436 // Allows proxying Websocket and other upgrades over H2 connect. 437 AllowConnect bool `protobuf:"varint,5,opt,name=allow_connect,json=allowConnect,proto3" json:"allow_connect,omitempty"` 438 // [#not-implemented-hide:] Hiding until envoy has full metadata support. 439 // Still under implementation. DO NOT USE. 440 // 441 // Allows metadata. See [metadata 442 // docs](https://github.com/envoyproxy/envoy/blob/main/source/docs/h2_metadata.md) for more 443 // information. 444 AllowMetadata bool `protobuf:"varint,6,opt,name=allow_metadata,json=allowMetadata,proto3" json:"allow_metadata,omitempty"` 445 // Limit the number of pending outbound downstream frames of all types (frames that are waiting to 446 // be written into the socket). Exceeding this limit triggers flood mitigation and connection is 447 // terminated. The ``http2.outbound_flood`` stat tracks the number of terminated connections due 448 // to flood mitigation. The default limit is 10000. 449 // [#comment:TODO: implement same limits for upstream outbound frames as well.] 450 MaxOutboundFrames *wrappers.UInt32Value `protobuf:"bytes,7,opt,name=max_outbound_frames,json=maxOutboundFrames,proto3" json:"max_outbound_frames,omitempty"` 451 // Limit the number of pending outbound downstream frames of types PING, SETTINGS and RST_STREAM, 452 // preventing high memory utilization when receiving continuous stream of these frames. Exceeding 453 // this limit triggers flood mitigation and connection is terminated. The 454 // ``http2.outbound_control_flood`` stat tracks the number of terminated connections due to flood 455 // mitigation. The default limit is 1000. 456 // [#comment:TODO: implement same limits for upstream outbound frames as well.] 457 MaxOutboundControlFrames *wrappers.UInt32Value `protobuf:"bytes,8,opt,name=max_outbound_control_frames,json=maxOutboundControlFrames,proto3" json:"max_outbound_control_frames,omitempty"` 458 // Limit the number of consecutive inbound frames of types HEADERS, CONTINUATION and DATA with an 459 // empty payload and no end stream flag. Those frames have no legitimate use and are abusive, but 460 // might be a result of a broken HTTP/2 implementation. The `http2.inbound_empty_frames_flood`` 461 // stat tracks the number of connections terminated due to flood mitigation. 462 // Setting this to 0 will terminate connection upon receiving first frame with an empty payload 463 // and no end stream flag. The default limit is 1. 464 // [#comment:TODO: implement same limits for upstream inbound frames as well.] 465 MaxConsecutiveInboundFramesWithEmptyPayload *wrappers.UInt32Value `protobuf:"bytes,9,opt,name=max_consecutive_inbound_frames_with_empty_payload,json=maxConsecutiveInboundFramesWithEmptyPayload,proto3" json:"max_consecutive_inbound_frames_with_empty_payload,omitempty"` 466 // Limit the number of inbound PRIORITY frames allowed per each opened stream. If the number 467 // of PRIORITY frames received over the lifetime of connection exceeds the value calculated 468 // using this formula:: 469 // 470 // max_inbound_priority_frames_per_stream * (1 + inbound_streams) 471 // 472 // the connection is terminated. The ``http2.inbound_priority_frames_flood`` stat tracks 473 // the number of connections terminated due to flood mitigation. The default limit is 100. 474 // [#comment:TODO: implement same limits for upstream inbound frames as well.] 475 MaxInboundPriorityFramesPerStream *wrappers.UInt32Value `protobuf:"bytes,10,opt,name=max_inbound_priority_frames_per_stream,json=maxInboundPriorityFramesPerStream,proto3" json:"max_inbound_priority_frames_per_stream,omitempty"` 476 // Limit the number of inbound WINDOW_UPDATE frames allowed per DATA frame sent. If the number 477 // of WINDOW_UPDATE frames received over the lifetime of connection exceeds the value calculated 478 // using this formula:: 479 // 480 // 1 + 2 * (inbound_streams + 481 // max_inbound_window_update_frames_per_data_frame_sent * outbound_data_frames) 482 // 483 // the connection is terminated. The ``http2.inbound_priority_frames_flood`` stat tracks 484 // the number of connections terminated due to flood mitigation. The default limit is 10. 485 // Setting this to 1 should be enough to support HTTP/2 implementations with basic flow control, 486 // but more complex implementations that try to estimate available bandwidth require at least 2. 487 // [#comment:TODO: implement same limits for upstream inbound frames as well.] 488 MaxInboundWindowUpdateFramesPerDataFrameSent *wrappers.UInt32Value `protobuf:"bytes,11,opt,name=max_inbound_window_update_frames_per_data_frame_sent,json=maxInboundWindowUpdateFramesPerDataFrameSent,proto3" json:"max_inbound_window_update_frames_per_data_frame_sent,omitempty"` 489 // Allows invalid HTTP messaging and headers. When this option is disabled (default), then 490 // the whole HTTP/2 connection is terminated upon receiving invalid HEADERS frame. However, 491 // when this option is enabled, only the offending stream is terminated. 492 // 493 // See `RFC7540, sec. 8.1 <https://tools.ietf.org/html/rfc7540#section-8.1>`_ for details. 494 StreamErrorOnInvalidHttpMessaging bool `protobuf:"varint,12,opt,name=stream_error_on_invalid_http_messaging,json=streamErrorOnInvalidHttpMessaging,proto3" json:"stream_error_on_invalid_http_messaging,omitempty"` 495 // [#not-implemented-hide:] 496 // Specifies SETTINGS frame parameters to be sent to the peer, with two exceptions: 497 // 498 // 1. SETTINGS_ENABLE_PUSH (0x2) is not configurable as HTTP/2 server push is not supported by 499 // Envoy. 500 // 501 // 2. SETTINGS_ENABLE_CONNECT_PROTOCOL (0x8) is only configurable through the named field 502 // 'allow_connect'. 503 // 504 // Note that custom parameters specified through this field can not also be set in the 505 // corresponding named parameters: 506 // 507 // .. code-block:: text 508 // 509 // ID Field Name 510 // ---------------- 511 // 0x1 hpack_table_size 512 // 0x3 max_concurrent_streams 513 // 0x4 initial_stream_window_size 514 // 515 // Collisions will trigger config validation failure on load/update. Likewise, inconsistencies 516 // between custom parameters with the same identifier will trigger a failure. 517 // 518 // See `IANA HTTP/2 Settings 519 // <https://www.iana.org/assignments/http2-parameters/http2-parameters.xhtml#settings>`_ for 520 // standardized identifiers. 521 CustomSettingsParameters []*Http2ProtocolOptions_SettingsParameter `protobuf:"bytes,13,rep,name=custom_settings_parameters,json=customSettingsParameters,proto3" json:"custom_settings_parameters,omitempty"` 522 } 523 524 func (x *Http2ProtocolOptions) Reset() { 525 *x = Http2ProtocolOptions{} 526 if protoimpl.UnsafeEnabled { 527 mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[4] 528 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 529 ms.StoreMessageInfo(mi) 530 } 531 } 532 533 func (x *Http2ProtocolOptions) String() string { 534 return protoimpl.X.MessageStringOf(x) 535 } 536 537 func (*Http2ProtocolOptions) ProtoMessage() {} 538 539 func (x *Http2ProtocolOptions) ProtoReflect() protoreflect.Message { 540 mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[4] 541 if protoimpl.UnsafeEnabled && x != nil { 542 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 543 if ms.LoadMessageInfo() == nil { 544 ms.StoreMessageInfo(mi) 545 } 546 return ms 547 } 548 return mi.MessageOf(x) 549 } 550 551 // Deprecated: Use Http2ProtocolOptions.ProtoReflect.Descriptor instead. 552 func (*Http2ProtocolOptions) Descriptor() ([]byte, []int) { 553 return file_envoy_api_v2_core_protocol_proto_rawDescGZIP(), []int{4} 554 } 555 556 func (x *Http2ProtocolOptions) GetHpackTableSize() *wrappers.UInt32Value { 557 if x != nil { 558 return x.HpackTableSize 559 } 560 return nil 561 } 562 563 func (x *Http2ProtocolOptions) GetMaxConcurrentStreams() *wrappers.UInt32Value { 564 if x != nil { 565 return x.MaxConcurrentStreams 566 } 567 return nil 568 } 569 570 func (x *Http2ProtocolOptions) GetInitialStreamWindowSize() *wrappers.UInt32Value { 571 if x != nil { 572 return x.InitialStreamWindowSize 573 } 574 return nil 575 } 576 577 func (x *Http2ProtocolOptions) GetInitialConnectionWindowSize() *wrappers.UInt32Value { 578 if x != nil { 579 return x.InitialConnectionWindowSize 580 } 581 return nil 582 } 583 584 func (x *Http2ProtocolOptions) GetAllowConnect() bool { 585 if x != nil { 586 return x.AllowConnect 587 } 588 return false 589 } 590 591 func (x *Http2ProtocolOptions) GetAllowMetadata() bool { 592 if x != nil { 593 return x.AllowMetadata 594 } 595 return false 596 } 597 598 func (x *Http2ProtocolOptions) GetMaxOutboundFrames() *wrappers.UInt32Value { 599 if x != nil { 600 return x.MaxOutboundFrames 601 } 602 return nil 603 } 604 605 func (x *Http2ProtocolOptions) GetMaxOutboundControlFrames() *wrappers.UInt32Value { 606 if x != nil { 607 return x.MaxOutboundControlFrames 608 } 609 return nil 610 } 611 612 func (x *Http2ProtocolOptions) GetMaxConsecutiveInboundFramesWithEmptyPayload() *wrappers.UInt32Value { 613 if x != nil { 614 return x.MaxConsecutiveInboundFramesWithEmptyPayload 615 } 616 return nil 617 } 618 619 func (x *Http2ProtocolOptions) GetMaxInboundPriorityFramesPerStream() *wrappers.UInt32Value { 620 if x != nil { 621 return x.MaxInboundPriorityFramesPerStream 622 } 623 return nil 624 } 625 626 func (x *Http2ProtocolOptions) GetMaxInboundWindowUpdateFramesPerDataFrameSent() *wrappers.UInt32Value { 627 if x != nil { 628 return x.MaxInboundWindowUpdateFramesPerDataFrameSent 629 } 630 return nil 631 } 632 633 func (x *Http2ProtocolOptions) GetStreamErrorOnInvalidHttpMessaging() bool { 634 if x != nil { 635 return x.StreamErrorOnInvalidHttpMessaging 636 } 637 return false 638 } 639 640 func (x *Http2ProtocolOptions) GetCustomSettingsParameters() []*Http2ProtocolOptions_SettingsParameter { 641 if x != nil { 642 return x.CustomSettingsParameters 643 } 644 return nil 645 } 646 647 // [#not-implemented-hide:] 648 type GrpcProtocolOptions struct { 649 state protoimpl.MessageState 650 sizeCache protoimpl.SizeCache 651 unknownFields protoimpl.UnknownFields 652 653 Http2ProtocolOptions *Http2ProtocolOptions `protobuf:"bytes,1,opt,name=http2_protocol_options,json=http2ProtocolOptions,proto3" json:"http2_protocol_options,omitempty"` 654 } 655 656 func (x *GrpcProtocolOptions) Reset() { 657 *x = GrpcProtocolOptions{} 658 if protoimpl.UnsafeEnabled { 659 mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[5] 660 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 661 ms.StoreMessageInfo(mi) 662 } 663 } 664 665 func (x *GrpcProtocolOptions) String() string { 666 return protoimpl.X.MessageStringOf(x) 667 } 668 669 func (*GrpcProtocolOptions) ProtoMessage() {} 670 671 func (x *GrpcProtocolOptions) ProtoReflect() protoreflect.Message { 672 mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[5] 673 if protoimpl.UnsafeEnabled && x != nil { 674 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 675 if ms.LoadMessageInfo() == nil { 676 ms.StoreMessageInfo(mi) 677 } 678 return ms 679 } 680 return mi.MessageOf(x) 681 } 682 683 // Deprecated: Use GrpcProtocolOptions.ProtoReflect.Descriptor instead. 684 func (*GrpcProtocolOptions) Descriptor() ([]byte, []int) { 685 return file_envoy_api_v2_core_protocol_proto_rawDescGZIP(), []int{5} 686 } 687 688 func (x *GrpcProtocolOptions) GetHttp2ProtocolOptions() *Http2ProtocolOptions { 689 if x != nil { 690 return x.Http2ProtocolOptions 691 } 692 return nil 693 } 694 695 type Http1ProtocolOptions_HeaderKeyFormat struct { 696 state protoimpl.MessageState 697 sizeCache protoimpl.SizeCache 698 unknownFields protoimpl.UnknownFields 699 700 // Types that are assignable to HeaderFormat: 701 // *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords_ 702 HeaderFormat isHttp1ProtocolOptions_HeaderKeyFormat_HeaderFormat `protobuf_oneof:"header_format"` 703 } 704 705 func (x *Http1ProtocolOptions_HeaderKeyFormat) Reset() { 706 *x = Http1ProtocolOptions_HeaderKeyFormat{} 707 if protoimpl.UnsafeEnabled { 708 mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[6] 709 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 710 ms.StoreMessageInfo(mi) 711 } 712 } 713 714 func (x *Http1ProtocolOptions_HeaderKeyFormat) String() string { 715 return protoimpl.X.MessageStringOf(x) 716 } 717 718 func (*Http1ProtocolOptions_HeaderKeyFormat) ProtoMessage() {} 719 720 func (x *Http1ProtocolOptions_HeaderKeyFormat) ProtoReflect() protoreflect.Message { 721 mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[6] 722 if protoimpl.UnsafeEnabled && x != nil { 723 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 724 if ms.LoadMessageInfo() == nil { 725 ms.StoreMessageInfo(mi) 726 } 727 return ms 728 } 729 return mi.MessageOf(x) 730 } 731 732 // Deprecated: Use Http1ProtocolOptions_HeaderKeyFormat.ProtoReflect.Descriptor instead. 733 func (*Http1ProtocolOptions_HeaderKeyFormat) Descriptor() ([]byte, []int) { 734 return file_envoy_api_v2_core_protocol_proto_rawDescGZIP(), []int{3, 0} 735 } 736 737 func (m *Http1ProtocolOptions_HeaderKeyFormat) GetHeaderFormat() isHttp1ProtocolOptions_HeaderKeyFormat_HeaderFormat { 738 if m != nil { 739 return m.HeaderFormat 740 } 741 return nil 742 } 743 744 func (x *Http1ProtocolOptions_HeaderKeyFormat) GetProperCaseWords() *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords { 745 if x, ok := x.GetHeaderFormat().(*Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords_); ok { 746 return x.ProperCaseWords 747 } 748 return nil 749 } 750 751 type isHttp1ProtocolOptions_HeaderKeyFormat_HeaderFormat interface { 752 isHttp1ProtocolOptions_HeaderKeyFormat_HeaderFormat() 753 } 754 755 type Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords_ struct { 756 // Formats the header by proper casing words: the first character and any character following 757 // a special character will be capitalized if it's an alpha character. For example, 758 // "content-type" becomes "Content-Type", and "foo$b#$are" becomes "Foo$B#$Are". 759 // Note that while this results in most headers following conventional casing, certain headers 760 // are not covered. For example, the "TE" header will be formatted as "Te". 761 ProperCaseWords *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords `protobuf:"bytes,1,opt,name=proper_case_words,json=properCaseWords,proto3,oneof"` 762 } 763 764 func (*Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords_) isHttp1ProtocolOptions_HeaderKeyFormat_HeaderFormat() { 765 } 766 767 type Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords struct { 768 state protoimpl.MessageState 769 sizeCache protoimpl.SizeCache 770 unknownFields protoimpl.UnknownFields 771 } 772 773 func (x *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords) Reset() { 774 *x = Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords{} 775 if protoimpl.UnsafeEnabled { 776 mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[7] 777 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 778 ms.StoreMessageInfo(mi) 779 } 780 } 781 782 func (x *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords) String() string { 783 return protoimpl.X.MessageStringOf(x) 784 } 785 786 func (*Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords) ProtoMessage() {} 787 788 func (x *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords) ProtoReflect() protoreflect.Message { 789 mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[7] 790 if protoimpl.UnsafeEnabled && x != nil { 791 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 792 if ms.LoadMessageInfo() == nil { 793 ms.StoreMessageInfo(mi) 794 } 795 return ms 796 } 797 return mi.MessageOf(x) 798 } 799 800 // Deprecated: Use Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords.ProtoReflect.Descriptor instead. 801 func (*Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords) Descriptor() ([]byte, []int) { 802 return file_envoy_api_v2_core_protocol_proto_rawDescGZIP(), []int{3, 0, 0} 803 } 804 805 // Defines a parameter to be sent in the SETTINGS frame. 806 // See `RFC7540, sec. 6.5.1 <https://tools.ietf.org/html/rfc7540#section-6.5.1>`_ for details. 807 type Http2ProtocolOptions_SettingsParameter struct { 808 state protoimpl.MessageState 809 sizeCache protoimpl.SizeCache 810 unknownFields protoimpl.UnknownFields 811 812 // The 16 bit parameter identifier. 813 Identifier *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"` 814 // The 32 bit parameter value. 815 Value *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` 816 } 817 818 func (x *Http2ProtocolOptions_SettingsParameter) Reset() { 819 *x = Http2ProtocolOptions_SettingsParameter{} 820 if protoimpl.UnsafeEnabled { 821 mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[8] 822 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 823 ms.StoreMessageInfo(mi) 824 } 825 } 826 827 func (x *Http2ProtocolOptions_SettingsParameter) String() string { 828 return protoimpl.X.MessageStringOf(x) 829 } 830 831 func (*Http2ProtocolOptions_SettingsParameter) ProtoMessage() {} 832 833 func (x *Http2ProtocolOptions_SettingsParameter) ProtoReflect() protoreflect.Message { 834 mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[8] 835 if protoimpl.UnsafeEnabled && x != nil { 836 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 837 if ms.LoadMessageInfo() == nil { 838 ms.StoreMessageInfo(mi) 839 } 840 return ms 841 } 842 return mi.MessageOf(x) 843 } 844 845 // Deprecated: Use Http2ProtocolOptions_SettingsParameter.ProtoReflect.Descriptor instead. 846 func (*Http2ProtocolOptions_SettingsParameter) Descriptor() ([]byte, []int) { 847 return file_envoy_api_v2_core_protocol_proto_rawDescGZIP(), []int{4, 0} 848 } 849 850 func (x *Http2ProtocolOptions_SettingsParameter) GetIdentifier() *wrappers.UInt32Value { 851 if x != nil { 852 return x.Identifier 853 } 854 return nil 855 } 856 857 func (x *Http2ProtocolOptions_SettingsParameter) GetValue() *wrappers.UInt32Value { 858 if x != nil { 859 return x.Value 860 } 861 return nil 862 } 863 864 var File_envoy_api_v2_core_protocol_proto protoreflect.FileDescriptor 865 866 var file_envoy_api_v2_core_protocol_proto_rawDesc = []byte{ 867 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 868 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 869 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 870 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 871 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 872 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 873 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 874 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 875 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 876 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 877 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 878 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 879 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, 0x0a, 880 0x12, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 881 0x6f, 0x6e, 0x73, 0x22, 0x68, 0x0a, 0x1b, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 882 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 883 0x6e, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x6e, 0x69, 0x18, 0x01, 884 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x6e, 0x69, 0x12, 0x2e, 0x0a, 885 0x13, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x61, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 886 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, 0x75, 0x74, 0x6f, 887 0x53, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa1, 0x04, 888 0x0a, 0x13, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 889 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 890 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 891 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 892 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x69, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 893 0x6f, 0x75, 0x74, 0x12, 0x51, 0x0a, 0x17, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 894 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 895 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 896 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 897 0x15, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 898 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x68, 0x65, 899 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 900 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 901 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 902 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x48, 0x65, 0x61, 903 0x64, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x13, 0x6d, 0x61, 0x78, 904 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 905 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 906 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 907 0x6e, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x75, 0x72, 0x61, 908 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x8a, 0x01, 0x0a, 0x1f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 909 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 910 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x43, 911 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 912 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 913 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x57, 0x69, 914 0x74, 0x68, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x63, 0x74, 915 0x69, 0x6f, 0x6e, 0x52, 0x1c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 916 0x55, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 917 0x6e, 0x22, 0x4e, 0x0a, 0x1c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 918 0x55, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 919 0x6e, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 920 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x01, 921 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x52, 0x4f, 0x50, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 922 0x02, 0x22, 0x80, 0x04, 0x0a, 0x14, 0x48, 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 923 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x48, 0x0a, 0x12, 0x61, 0x6c, 924 0x6c, 0x6f, 0x77, 0x5f, 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6c, 925 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 926 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 927 0x75, 0x65, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 928 0x65, 0x55, 0x72, 0x6c, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x68, 929 0x74, 0x74, 0x70, 0x5f, 0x31, 0x30, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x63, 930 0x63, 0x65, 0x70, 0x74, 0x48, 0x74, 0x74, 0x70, 0x31, 0x30, 0x12, 0x36, 0x0a, 0x18, 0x64, 0x65, 931 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x68, 932 0x74, 0x74, 0x70, 0x5f, 0x31, 0x30, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x64, 0x65, 933 0x66, 0x61, 0x75, 0x6c, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x48, 0x74, 0x74, 0x70, 934 0x31, 0x30, 0x12, 0x63, 0x0a, 0x11, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 935 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 936 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 937 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 938 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 939 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x0f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b, 0x65, 940 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 941 0x65, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 942 0x52, 0x0e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 943 0x1a, 0xb1, 0x01, 0x0a, 0x0f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x46, 0x6f, 944 0x72, 0x6d, 0x61, 0x74, 0x12, 0x75, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x5f, 0x63, 945 0x61, 0x73, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 946 0x47, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 947 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 948 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b, 949 0x65, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x43, 950 0x61, 0x73, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x70, 951 0x65, 0x72, 0x43, 0x61, 0x73, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x1a, 0x11, 0x0a, 0x0f, 0x50, 952 0x72, 0x6f, 0x70, 0x65, 0x72, 0x43, 0x61, 0x73, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x42, 0x14, 953 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 954 0x03, 0xf8, 0x42, 0x01, 0x22, 0xa9, 0x0b, 0x0a, 0x14, 0x48, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 955 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 956 0x10, 0x68, 0x70, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 957 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 958 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 959 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x68, 0x70, 0x61, 0x63, 0x6b, 0x54, 0x61, 0x62, 0x6c, 960 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x61, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 961 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 962 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 963 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 964 0x6c, 0x75, 0x65, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x2a, 0x08, 0x18, 0xff, 0xff, 0xff, 0xff, 0x07, 965 0x28, 0x01, 0x52, 0x14, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 966 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x6a, 0x0a, 0x1a, 0x69, 0x6e, 0x69, 0x74, 967 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 968 0x77, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 969 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 970 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0f, 0xfa, 0x42, 0x0c, 0x2a, 971 0x0a, 0x18, 0xff, 0xff, 0xff, 0xff, 0x07, 0x28, 0xff, 0xff, 0x03, 0x52, 0x17, 0x69, 0x6e, 0x69, 972 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 973 0x53, 0x69, 0x7a, 0x65, 0x12, 0x72, 0x0a, 0x1e, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 974 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 975 0x77, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 976 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 977 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0f, 0xfa, 0x42, 0x0c, 0x2a, 978 0x0a, 0x18, 0xff, 0xff, 0xff, 0xff, 0x07, 0x28, 0xff, 0xff, 0x03, 0x52, 0x1b, 0x69, 0x6e, 0x69, 979 0x74, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x69, 980 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 981 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 982 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 983 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 984 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x61, 985 0x64, 0x61, 0x74, 0x61, 0x12, 0x55, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x62, 986 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 987 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 988 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 989 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x4f, 0x75, 0x74, 990 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x64, 0x0a, 0x1b, 0x6d, 991 0x61, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 992 0x72, 0x6f, 0x6c, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 993 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 994 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 995 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x18, 0x6d, 0x61, 0x78, 0x4f, 0x75, 0x74, 0x62, 996 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x46, 0x72, 0x61, 0x6d, 0x65, 997 0x73, 0x12, 0x84, 0x01, 0x0a, 0x31, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 998 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x66, 0x72, 999 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 1000 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 1001 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 1002 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x2b, 0x6d, 0x61, 0x78, 1003 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x75, 1004 0x6e, 0x64, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x45, 0x6d, 0x70, 0x74, 1005 0x79, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x6f, 0x0a, 0x26, 0x6d, 0x61, 0x78, 0x5f, 1006 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 1007 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 1008 0x61, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1009 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 1010 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x21, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x62, 0x6f, 0x75, 1011 0x6e, 0x64, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 1012 0x50, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x91, 0x01, 0x0a, 0x34, 0x6d, 0x61, 1013 0x78, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 1014 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x70, 1015 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65, 1016 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1017 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 1018 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 1019 0x2c, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x57, 0x69, 0x6e, 0x64, 0x6f, 1020 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x50, 0x65, 0x72, 1021 0x44, 0x61, 0x74, 0x61, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x6e, 0x74, 0x12, 0x51, 0x0a, 1022 0x26, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6f, 0x6e, 1023 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6d, 0x65, 1024 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x21, 0x73, 1025 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4f, 0x6e, 0x49, 0x6e, 0x76, 0x61, 1026 0x6c, 0x69, 0x64, 0x48, 0x74, 0x74, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 1027 0x12, 0x77, 0x0a, 0x1a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 1028 0x6e, 0x67, 0x73, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0d, 1029 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 1030 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 1031 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x65, 1032 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 1033 0x18, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x50, 1034 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x1a, 0xa4, 0x01, 0x0a, 0x11, 0x53, 0x65, 1035 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 1036 0x51, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 1037 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 1038 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 1039 0x65, 0x42, 0x13, 0xfa, 0x42, 0x08, 0x2a, 0x06, 0x18, 0x80, 0x80, 0x04, 0x28, 0x01, 0xfa, 0x42, 1040 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 1041 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 1042 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 1043 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 1044 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 1045 0x22, 0x74, 0x0a, 0x13, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 1046 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5d, 0x0a, 0x16, 0x68, 0x74, 0x74, 0x70, 0x32, 1047 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 1048 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 1049 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 1050 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 1051 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 1052 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x56, 0x0a, 0x1f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 1053 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 1054 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 1055 0x63, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x16, 1056 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 1057 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x62, 0x06, 1058 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1059 } 1060 1061 var ( 1062 file_envoy_api_v2_core_protocol_proto_rawDescOnce sync.Once 1063 file_envoy_api_v2_core_protocol_proto_rawDescData = file_envoy_api_v2_core_protocol_proto_rawDesc 1064 ) 1065 1066 func file_envoy_api_v2_core_protocol_proto_rawDescGZIP() []byte { 1067 file_envoy_api_v2_core_protocol_proto_rawDescOnce.Do(func() { 1068 file_envoy_api_v2_core_protocol_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_core_protocol_proto_rawDescData) 1069 }) 1070 return file_envoy_api_v2_core_protocol_proto_rawDescData 1071 } 1072 1073 var file_envoy_api_v2_core_protocol_proto_enumTypes = make([]protoimpl.EnumInfo, 1) 1074 var file_envoy_api_v2_core_protocol_proto_msgTypes = make([]protoimpl.MessageInfo, 9) 1075 var file_envoy_api_v2_core_protocol_proto_goTypes = []interface{}{ 1076 (HttpProtocolOptions_HeadersWithUnderscoresAction)(0), // 0: envoy.api.v2.core.HttpProtocolOptions.HeadersWithUnderscoresAction 1077 (*TcpProtocolOptions)(nil), // 1: envoy.api.v2.core.TcpProtocolOptions 1078 (*UpstreamHttpProtocolOptions)(nil), // 2: envoy.api.v2.core.UpstreamHttpProtocolOptions 1079 (*HttpProtocolOptions)(nil), // 3: envoy.api.v2.core.HttpProtocolOptions 1080 (*Http1ProtocolOptions)(nil), // 4: envoy.api.v2.core.Http1ProtocolOptions 1081 (*Http2ProtocolOptions)(nil), // 5: envoy.api.v2.core.Http2ProtocolOptions 1082 (*GrpcProtocolOptions)(nil), // 6: envoy.api.v2.core.GrpcProtocolOptions 1083 (*Http1ProtocolOptions_HeaderKeyFormat)(nil), // 7: envoy.api.v2.core.Http1ProtocolOptions.HeaderKeyFormat 1084 (*Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords)(nil), // 8: envoy.api.v2.core.Http1ProtocolOptions.HeaderKeyFormat.ProperCaseWords 1085 (*Http2ProtocolOptions_SettingsParameter)(nil), // 9: envoy.api.v2.core.Http2ProtocolOptions.SettingsParameter 1086 (*duration.Duration)(nil), // 10: google.protobuf.Duration 1087 (*wrappers.UInt32Value)(nil), // 11: google.protobuf.UInt32Value 1088 (*wrappers.BoolValue)(nil), // 12: google.protobuf.BoolValue 1089 } 1090 var file_envoy_api_v2_core_protocol_proto_depIdxs = []int32{ 1091 10, // 0: envoy.api.v2.core.HttpProtocolOptions.idle_timeout:type_name -> google.protobuf.Duration 1092 10, // 1: envoy.api.v2.core.HttpProtocolOptions.max_connection_duration:type_name -> google.protobuf.Duration 1093 11, // 2: envoy.api.v2.core.HttpProtocolOptions.max_headers_count:type_name -> google.protobuf.UInt32Value 1094 10, // 3: envoy.api.v2.core.HttpProtocolOptions.max_stream_duration:type_name -> google.protobuf.Duration 1095 0, // 4: envoy.api.v2.core.HttpProtocolOptions.headers_with_underscores_action:type_name -> envoy.api.v2.core.HttpProtocolOptions.HeadersWithUnderscoresAction 1096 12, // 5: envoy.api.v2.core.Http1ProtocolOptions.allow_absolute_url:type_name -> google.protobuf.BoolValue 1097 7, // 6: envoy.api.v2.core.Http1ProtocolOptions.header_key_format:type_name -> envoy.api.v2.core.Http1ProtocolOptions.HeaderKeyFormat 1098 11, // 7: envoy.api.v2.core.Http2ProtocolOptions.hpack_table_size:type_name -> google.protobuf.UInt32Value 1099 11, // 8: envoy.api.v2.core.Http2ProtocolOptions.max_concurrent_streams:type_name -> google.protobuf.UInt32Value 1100 11, // 9: envoy.api.v2.core.Http2ProtocolOptions.initial_stream_window_size:type_name -> google.protobuf.UInt32Value 1101 11, // 10: envoy.api.v2.core.Http2ProtocolOptions.initial_connection_window_size:type_name -> google.protobuf.UInt32Value 1102 11, // 11: envoy.api.v2.core.Http2ProtocolOptions.max_outbound_frames:type_name -> google.protobuf.UInt32Value 1103 11, // 12: envoy.api.v2.core.Http2ProtocolOptions.max_outbound_control_frames:type_name -> google.protobuf.UInt32Value 1104 11, // 13: envoy.api.v2.core.Http2ProtocolOptions.max_consecutive_inbound_frames_with_empty_payload:type_name -> google.protobuf.UInt32Value 1105 11, // 14: envoy.api.v2.core.Http2ProtocolOptions.max_inbound_priority_frames_per_stream:type_name -> google.protobuf.UInt32Value 1106 11, // 15: envoy.api.v2.core.Http2ProtocolOptions.max_inbound_window_update_frames_per_data_frame_sent:type_name -> google.protobuf.UInt32Value 1107 9, // 16: envoy.api.v2.core.Http2ProtocolOptions.custom_settings_parameters:type_name -> envoy.api.v2.core.Http2ProtocolOptions.SettingsParameter 1108 5, // 17: envoy.api.v2.core.GrpcProtocolOptions.http2_protocol_options:type_name -> envoy.api.v2.core.Http2ProtocolOptions 1109 8, // 18: envoy.api.v2.core.Http1ProtocolOptions.HeaderKeyFormat.proper_case_words:type_name -> envoy.api.v2.core.Http1ProtocolOptions.HeaderKeyFormat.ProperCaseWords 1110 11, // 19: envoy.api.v2.core.Http2ProtocolOptions.SettingsParameter.identifier:type_name -> google.protobuf.UInt32Value 1111 11, // 20: envoy.api.v2.core.Http2ProtocolOptions.SettingsParameter.value:type_name -> google.protobuf.UInt32Value 1112 21, // [21:21] is the sub-list for method output_type 1113 21, // [21:21] is the sub-list for method input_type 1114 21, // [21:21] is the sub-list for extension type_name 1115 21, // [21:21] is the sub-list for extension extendee 1116 0, // [0:21] is the sub-list for field type_name 1117 } 1118 1119 func init() { file_envoy_api_v2_core_protocol_proto_init() } 1120 func file_envoy_api_v2_core_protocol_proto_init() { 1121 if File_envoy_api_v2_core_protocol_proto != nil { 1122 return 1123 } 1124 if !protoimpl.UnsafeEnabled { 1125 file_envoy_api_v2_core_protocol_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 1126 switch v := v.(*TcpProtocolOptions); i { 1127 case 0: 1128 return &v.state 1129 case 1: 1130 return &v.sizeCache 1131 case 2: 1132 return &v.unknownFields 1133 default: 1134 return nil 1135 } 1136 } 1137 file_envoy_api_v2_core_protocol_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 1138 switch v := v.(*UpstreamHttpProtocolOptions); i { 1139 case 0: 1140 return &v.state 1141 case 1: 1142 return &v.sizeCache 1143 case 2: 1144 return &v.unknownFields 1145 default: 1146 return nil 1147 } 1148 } 1149 file_envoy_api_v2_core_protocol_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 1150 switch v := v.(*HttpProtocolOptions); i { 1151 case 0: 1152 return &v.state 1153 case 1: 1154 return &v.sizeCache 1155 case 2: 1156 return &v.unknownFields 1157 default: 1158 return nil 1159 } 1160 } 1161 file_envoy_api_v2_core_protocol_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 1162 switch v := v.(*Http1ProtocolOptions); i { 1163 case 0: 1164 return &v.state 1165 case 1: 1166 return &v.sizeCache 1167 case 2: 1168 return &v.unknownFields 1169 default: 1170 return nil 1171 } 1172 } 1173 file_envoy_api_v2_core_protocol_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 1174 switch v := v.(*Http2ProtocolOptions); i { 1175 case 0: 1176 return &v.state 1177 case 1: 1178 return &v.sizeCache 1179 case 2: 1180 return &v.unknownFields 1181 default: 1182 return nil 1183 } 1184 } 1185 file_envoy_api_v2_core_protocol_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 1186 switch v := v.(*GrpcProtocolOptions); i { 1187 case 0: 1188 return &v.state 1189 case 1: 1190 return &v.sizeCache 1191 case 2: 1192 return &v.unknownFields 1193 default: 1194 return nil 1195 } 1196 } 1197 file_envoy_api_v2_core_protocol_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 1198 switch v := v.(*Http1ProtocolOptions_HeaderKeyFormat); i { 1199 case 0: 1200 return &v.state 1201 case 1: 1202 return &v.sizeCache 1203 case 2: 1204 return &v.unknownFields 1205 default: 1206 return nil 1207 } 1208 } 1209 file_envoy_api_v2_core_protocol_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 1210 switch v := v.(*Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords); i { 1211 case 0: 1212 return &v.state 1213 case 1: 1214 return &v.sizeCache 1215 case 2: 1216 return &v.unknownFields 1217 default: 1218 return nil 1219 } 1220 } 1221 file_envoy_api_v2_core_protocol_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 1222 switch v := v.(*Http2ProtocolOptions_SettingsParameter); i { 1223 case 0: 1224 return &v.state 1225 case 1: 1226 return &v.sizeCache 1227 case 2: 1228 return &v.unknownFields 1229 default: 1230 return nil 1231 } 1232 } 1233 } 1234 file_envoy_api_v2_core_protocol_proto_msgTypes[6].OneofWrappers = []interface{}{ 1235 (*Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords_)(nil), 1236 } 1237 type x struct{} 1238 out := protoimpl.TypeBuilder{ 1239 File: protoimpl.DescBuilder{ 1240 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1241 RawDescriptor: file_envoy_api_v2_core_protocol_proto_rawDesc, 1242 NumEnums: 1, 1243 NumMessages: 9, 1244 NumExtensions: 0, 1245 NumServices: 0, 1246 }, 1247 GoTypes: file_envoy_api_v2_core_protocol_proto_goTypes, 1248 DependencyIndexes: file_envoy_api_v2_core_protocol_proto_depIdxs, 1249 EnumInfos: file_envoy_api_v2_core_protocol_proto_enumTypes, 1250 MessageInfos: file_envoy_api_v2_core_protocol_proto_msgTypes, 1251 }.Build() 1252 File_envoy_api_v2_core_protocol_proto = out.File 1253 file_envoy_api_v2_core_protocol_proto_rawDesc = nil 1254 file_envoy_api_v2_core_protocol_proto_goTypes = nil 1255 file_envoy_api_v2_core_protocol_proto_depIdxs = nil 1256 }