gitee.com/ks-custle/core-gm@v0.0.0-20230922171213-b83bdd97b62c/go-control-plane/envoy/api/v2/endpoint/load_report.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/endpoint/load_report.proto 6 7 package envoy_api_v2_endpoint 8 9 import ( 10 _ "github.com/cncf/xds/go/udpa/annotations" 11 core "gitee.com/ks-custle/core-gm/go-control-plane/envoy/api/v2/core" 12 _ "github.com/envoyproxy/protoc-gen-validate/validate" 13 proto "github.com/golang/protobuf/proto" 14 duration "github.com/golang/protobuf/ptypes/duration" 15 _struct "github.com/golang/protobuf/ptypes/struct" 16 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 17 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 18 reflect "reflect" 19 sync "sync" 20 ) 21 22 const ( 23 // Verify that this generated code is sufficiently up-to-date. 24 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 25 // Verify that runtime/protoimpl is sufficiently up-to-date. 26 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 27 ) 28 29 // This is a compile-time assertion that a sufficiently up-to-date version 30 // of the legacy proto package is being used. 31 const _ = proto.ProtoPackageIsVersion4 32 33 // These are stats Envoy reports to GLB every so often. Report frequency is 34 // defined by 35 // :ref:`LoadStatsResponse.load_reporting_interval<envoy_api_field_service.load_stats.v2.LoadStatsResponse.load_reporting_interval>`. 36 // Stats per upstream region/zone and optionally per subzone. 37 // [#not-implemented-hide:] Not configuration. TBD how to doc proto APIs. 38 // [#next-free-field: 9] 39 type UpstreamLocalityStats struct { 40 state protoimpl.MessageState 41 sizeCache protoimpl.SizeCache 42 unknownFields protoimpl.UnknownFields 43 44 // Name of zone, region and optionally endpoint group these metrics were 45 // collected from. Zone and region names could be empty if unknown. 46 Locality *core.Locality `protobuf:"bytes,1,opt,name=locality,proto3" json:"locality,omitempty"` 47 // The total number of requests successfully completed by the endpoints in the 48 // locality. 49 TotalSuccessfulRequests uint64 `protobuf:"varint,2,opt,name=total_successful_requests,json=totalSuccessfulRequests,proto3" json:"total_successful_requests,omitempty"` 50 // The total number of unfinished requests 51 TotalRequestsInProgress uint64 `protobuf:"varint,3,opt,name=total_requests_in_progress,json=totalRequestsInProgress,proto3" json:"total_requests_in_progress,omitempty"` 52 // The total number of requests that failed due to errors at the endpoint, 53 // aggregated over all endpoints in the locality. 54 TotalErrorRequests uint64 `protobuf:"varint,4,opt,name=total_error_requests,json=totalErrorRequests,proto3" json:"total_error_requests,omitempty"` 55 // The total number of requests that were issued by this Envoy since 56 // the last report. This information is aggregated over all the 57 // upstream endpoints in the locality. 58 TotalIssuedRequests uint64 `protobuf:"varint,8,opt,name=total_issued_requests,json=totalIssuedRequests,proto3" json:"total_issued_requests,omitempty"` 59 // Stats for multi-dimensional load balancing. 60 LoadMetricStats []*EndpointLoadMetricStats `protobuf:"bytes,5,rep,name=load_metric_stats,json=loadMetricStats,proto3" json:"load_metric_stats,omitempty"` 61 // Endpoint granularity stats information for this locality. This information 62 // is populated if the Server requests it by setting 63 // :ref:`LoadStatsResponse.report_endpoint_granularity<envoy_api_field_service.load_stats.v2.LoadStatsResponse.report_endpoint_granularity>`. 64 UpstreamEndpointStats []*UpstreamEndpointStats `protobuf:"bytes,7,rep,name=upstream_endpoint_stats,json=upstreamEndpointStats,proto3" json:"upstream_endpoint_stats,omitempty"` 65 // [#not-implemented-hide:] The priority of the endpoint group these metrics 66 // were collected from. 67 Priority uint32 `protobuf:"varint,6,opt,name=priority,proto3" json:"priority,omitempty"` 68 } 69 70 func (x *UpstreamLocalityStats) Reset() { 71 *x = UpstreamLocalityStats{} 72 if protoimpl.UnsafeEnabled { 73 mi := &file_envoy_api_v2_endpoint_load_report_proto_msgTypes[0] 74 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 75 ms.StoreMessageInfo(mi) 76 } 77 } 78 79 func (x *UpstreamLocalityStats) String() string { 80 return protoimpl.X.MessageStringOf(x) 81 } 82 83 func (*UpstreamLocalityStats) ProtoMessage() {} 84 85 func (x *UpstreamLocalityStats) ProtoReflect() protoreflect.Message { 86 mi := &file_envoy_api_v2_endpoint_load_report_proto_msgTypes[0] 87 if protoimpl.UnsafeEnabled && x != nil { 88 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 89 if ms.LoadMessageInfo() == nil { 90 ms.StoreMessageInfo(mi) 91 } 92 return ms 93 } 94 return mi.MessageOf(x) 95 } 96 97 // Deprecated: Use UpstreamLocalityStats.ProtoReflect.Descriptor instead. 98 func (*UpstreamLocalityStats) Descriptor() ([]byte, []int) { 99 return file_envoy_api_v2_endpoint_load_report_proto_rawDescGZIP(), []int{0} 100 } 101 102 func (x *UpstreamLocalityStats) GetLocality() *core.Locality { 103 if x != nil { 104 return x.Locality 105 } 106 return nil 107 } 108 109 func (x *UpstreamLocalityStats) GetTotalSuccessfulRequests() uint64 { 110 if x != nil { 111 return x.TotalSuccessfulRequests 112 } 113 return 0 114 } 115 116 func (x *UpstreamLocalityStats) GetTotalRequestsInProgress() uint64 { 117 if x != nil { 118 return x.TotalRequestsInProgress 119 } 120 return 0 121 } 122 123 func (x *UpstreamLocalityStats) GetTotalErrorRequests() uint64 { 124 if x != nil { 125 return x.TotalErrorRequests 126 } 127 return 0 128 } 129 130 func (x *UpstreamLocalityStats) GetTotalIssuedRequests() uint64 { 131 if x != nil { 132 return x.TotalIssuedRequests 133 } 134 return 0 135 } 136 137 func (x *UpstreamLocalityStats) GetLoadMetricStats() []*EndpointLoadMetricStats { 138 if x != nil { 139 return x.LoadMetricStats 140 } 141 return nil 142 } 143 144 func (x *UpstreamLocalityStats) GetUpstreamEndpointStats() []*UpstreamEndpointStats { 145 if x != nil { 146 return x.UpstreamEndpointStats 147 } 148 return nil 149 } 150 151 func (x *UpstreamLocalityStats) GetPriority() uint32 { 152 if x != nil { 153 return x.Priority 154 } 155 return 0 156 } 157 158 // [#not-implemented-hide:] Not configuration. TBD how to doc proto APIs. 159 // [#next-free-field: 8] 160 type UpstreamEndpointStats struct { 161 state protoimpl.MessageState 162 sizeCache protoimpl.SizeCache 163 unknownFields protoimpl.UnknownFields 164 165 // Upstream host address. 166 Address *core.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 167 // Opaque and implementation dependent metadata of the 168 // endpoint. Envoy will pass this directly to the management server. 169 Metadata *_struct.Struct `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` 170 // The total number of requests successfully completed by the endpoints in the 171 // locality. These include non-5xx responses for HTTP, where errors 172 // originate at the client and the endpoint responded successfully. For gRPC, 173 // the grpc-status values are those not covered by total_error_requests below. 174 TotalSuccessfulRequests uint64 `protobuf:"varint,2,opt,name=total_successful_requests,json=totalSuccessfulRequests,proto3" json:"total_successful_requests,omitempty"` 175 // The total number of unfinished requests for this endpoint. 176 TotalRequestsInProgress uint64 `protobuf:"varint,3,opt,name=total_requests_in_progress,json=totalRequestsInProgress,proto3" json:"total_requests_in_progress,omitempty"` 177 // The total number of requests that failed due to errors at the endpoint. 178 // For HTTP these are responses with 5xx status codes and for gRPC the 179 // grpc-status values: 180 // 181 // - DeadlineExceeded 182 // - Unimplemented 183 // - Internal 184 // - Unavailable 185 // - Unknown 186 // - DataLoss 187 TotalErrorRequests uint64 `protobuf:"varint,4,opt,name=total_error_requests,json=totalErrorRequests,proto3" json:"total_error_requests,omitempty"` 188 // The total number of requests that were issued to this endpoint 189 // since the last report. A single TCP connection, HTTP or gRPC 190 // request or stream is counted as one request. 191 TotalIssuedRequests uint64 `protobuf:"varint,7,opt,name=total_issued_requests,json=totalIssuedRequests,proto3" json:"total_issued_requests,omitempty"` 192 // Stats for multi-dimensional load balancing. 193 LoadMetricStats []*EndpointLoadMetricStats `protobuf:"bytes,5,rep,name=load_metric_stats,json=loadMetricStats,proto3" json:"load_metric_stats,omitempty"` 194 } 195 196 func (x *UpstreamEndpointStats) Reset() { 197 *x = UpstreamEndpointStats{} 198 if protoimpl.UnsafeEnabled { 199 mi := &file_envoy_api_v2_endpoint_load_report_proto_msgTypes[1] 200 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 201 ms.StoreMessageInfo(mi) 202 } 203 } 204 205 func (x *UpstreamEndpointStats) String() string { 206 return protoimpl.X.MessageStringOf(x) 207 } 208 209 func (*UpstreamEndpointStats) ProtoMessage() {} 210 211 func (x *UpstreamEndpointStats) ProtoReflect() protoreflect.Message { 212 mi := &file_envoy_api_v2_endpoint_load_report_proto_msgTypes[1] 213 if protoimpl.UnsafeEnabled && x != nil { 214 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 215 if ms.LoadMessageInfo() == nil { 216 ms.StoreMessageInfo(mi) 217 } 218 return ms 219 } 220 return mi.MessageOf(x) 221 } 222 223 // Deprecated: Use UpstreamEndpointStats.ProtoReflect.Descriptor instead. 224 func (*UpstreamEndpointStats) Descriptor() ([]byte, []int) { 225 return file_envoy_api_v2_endpoint_load_report_proto_rawDescGZIP(), []int{1} 226 } 227 228 func (x *UpstreamEndpointStats) GetAddress() *core.Address { 229 if x != nil { 230 return x.Address 231 } 232 return nil 233 } 234 235 func (x *UpstreamEndpointStats) GetMetadata() *_struct.Struct { 236 if x != nil { 237 return x.Metadata 238 } 239 return nil 240 } 241 242 func (x *UpstreamEndpointStats) GetTotalSuccessfulRequests() uint64 { 243 if x != nil { 244 return x.TotalSuccessfulRequests 245 } 246 return 0 247 } 248 249 func (x *UpstreamEndpointStats) GetTotalRequestsInProgress() uint64 { 250 if x != nil { 251 return x.TotalRequestsInProgress 252 } 253 return 0 254 } 255 256 func (x *UpstreamEndpointStats) GetTotalErrorRequests() uint64 { 257 if x != nil { 258 return x.TotalErrorRequests 259 } 260 return 0 261 } 262 263 func (x *UpstreamEndpointStats) GetTotalIssuedRequests() uint64 { 264 if x != nil { 265 return x.TotalIssuedRequests 266 } 267 return 0 268 } 269 270 func (x *UpstreamEndpointStats) GetLoadMetricStats() []*EndpointLoadMetricStats { 271 if x != nil { 272 return x.LoadMetricStats 273 } 274 return nil 275 } 276 277 // [#not-implemented-hide:] Not configuration. TBD how to doc proto APIs. 278 type EndpointLoadMetricStats struct { 279 state protoimpl.MessageState 280 sizeCache protoimpl.SizeCache 281 unknownFields protoimpl.UnknownFields 282 283 // Name of the metric; may be empty. 284 MetricName string `protobuf:"bytes,1,opt,name=metric_name,json=metricName,proto3" json:"metric_name,omitempty"` 285 // Number of calls that finished and included this metric. 286 NumRequestsFinishedWithMetric uint64 `protobuf:"varint,2,opt,name=num_requests_finished_with_metric,json=numRequestsFinishedWithMetric,proto3" json:"num_requests_finished_with_metric,omitempty"` 287 // Sum of metric values across all calls that finished with this metric for 288 // load_reporting_interval. 289 TotalMetricValue float64 `protobuf:"fixed64,3,opt,name=total_metric_value,json=totalMetricValue,proto3" json:"total_metric_value,omitempty"` 290 } 291 292 func (x *EndpointLoadMetricStats) Reset() { 293 *x = EndpointLoadMetricStats{} 294 if protoimpl.UnsafeEnabled { 295 mi := &file_envoy_api_v2_endpoint_load_report_proto_msgTypes[2] 296 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 297 ms.StoreMessageInfo(mi) 298 } 299 } 300 301 func (x *EndpointLoadMetricStats) String() string { 302 return protoimpl.X.MessageStringOf(x) 303 } 304 305 func (*EndpointLoadMetricStats) ProtoMessage() {} 306 307 func (x *EndpointLoadMetricStats) ProtoReflect() protoreflect.Message { 308 mi := &file_envoy_api_v2_endpoint_load_report_proto_msgTypes[2] 309 if protoimpl.UnsafeEnabled && x != nil { 310 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 311 if ms.LoadMessageInfo() == nil { 312 ms.StoreMessageInfo(mi) 313 } 314 return ms 315 } 316 return mi.MessageOf(x) 317 } 318 319 // Deprecated: Use EndpointLoadMetricStats.ProtoReflect.Descriptor instead. 320 func (*EndpointLoadMetricStats) Descriptor() ([]byte, []int) { 321 return file_envoy_api_v2_endpoint_load_report_proto_rawDescGZIP(), []int{2} 322 } 323 324 func (x *EndpointLoadMetricStats) GetMetricName() string { 325 if x != nil { 326 return x.MetricName 327 } 328 return "" 329 } 330 331 func (x *EndpointLoadMetricStats) GetNumRequestsFinishedWithMetric() uint64 { 332 if x != nil { 333 return x.NumRequestsFinishedWithMetric 334 } 335 return 0 336 } 337 338 func (x *EndpointLoadMetricStats) GetTotalMetricValue() float64 { 339 if x != nil { 340 return x.TotalMetricValue 341 } 342 return 0 343 } 344 345 // Per cluster load stats. Envoy reports these stats a management server in a 346 // :ref:`LoadStatsRequest<envoy_api_msg_service.load_stats.v2.LoadStatsRequest>` 347 // [#not-implemented-hide:] Not configuration. TBD how to doc proto APIs. 348 // Next ID: 7 349 // [#next-free-field: 7] 350 type ClusterStats struct { 351 state protoimpl.MessageState 352 sizeCache protoimpl.SizeCache 353 unknownFields protoimpl.UnknownFields 354 355 // The name of the cluster. 356 ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"` 357 // The eds_cluster_config service_name of the cluster. 358 // It's possible that two clusters send the same service_name to EDS, 359 // in that case, the management server is supposed to do aggregation on the load reports. 360 ClusterServiceName string `protobuf:"bytes,6,opt,name=cluster_service_name,json=clusterServiceName,proto3" json:"cluster_service_name,omitempty"` 361 // Need at least one. 362 UpstreamLocalityStats []*UpstreamLocalityStats `protobuf:"bytes,2,rep,name=upstream_locality_stats,json=upstreamLocalityStats,proto3" json:"upstream_locality_stats,omitempty"` 363 // Cluster-level stats such as total_successful_requests may be computed by 364 // summing upstream_locality_stats. In addition, below there are additional 365 // cluster-wide stats. 366 // 367 // The total number of dropped requests. This covers requests 368 // deliberately dropped by the drop_overload policy and circuit breaking. 369 TotalDroppedRequests uint64 `protobuf:"varint,3,opt,name=total_dropped_requests,json=totalDroppedRequests,proto3" json:"total_dropped_requests,omitempty"` 370 // Information about deliberately dropped requests for each category specified 371 // in the DropOverload policy. 372 DroppedRequests []*ClusterStats_DroppedRequests `protobuf:"bytes,5,rep,name=dropped_requests,json=droppedRequests,proto3" json:"dropped_requests,omitempty"` 373 // Period over which the actual load report occurred. This will be guaranteed to include every 374 // request reported. Due to system load and delays between the *LoadStatsRequest* sent from Envoy 375 // and the *LoadStatsResponse* message sent from the management server, this may be longer than 376 // the requested load reporting interval in the *LoadStatsResponse*. 377 LoadReportInterval *duration.Duration `protobuf:"bytes,4,opt,name=load_report_interval,json=loadReportInterval,proto3" json:"load_report_interval,omitempty"` 378 } 379 380 func (x *ClusterStats) Reset() { 381 *x = ClusterStats{} 382 if protoimpl.UnsafeEnabled { 383 mi := &file_envoy_api_v2_endpoint_load_report_proto_msgTypes[3] 384 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 385 ms.StoreMessageInfo(mi) 386 } 387 } 388 389 func (x *ClusterStats) String() string { 390 return protoimpl.X.MessageStringOf(x) 391 } 392 393 func (*ClusterStats) ProtoMessage() {} 394 395 func (x *ClusterStats) ProtoReflect() protoreflect.Message { 396 mi := &file_envoy_api_v2_endpoint_load_report_proto_msgTypes[3] 397 if protoimpl.UnsafeEnabled && x != nil { 398 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 399 if ms.LoadMessageInfo() == nil { 400 ms.StoreMessageInfo(mi) 401 } 402 return ms 403 } 404 return mi.MessageOf(x) 405 } 406 407 // Deprecated: Use ClusterStats.ProtoReflect.Descriptor instead. 408 func (*ClusterStats) Descriptor() ([]byte, []int) { 409 return file_envoy_api_v2_endpoint_load_report_proto_rawDescGZIP(), []int{3} 410 } 411 412 func (x *ClusterStats) GetClusterName() string { 413 if x != nil { 414 return x.ClusterName 415 } 416 return "" 417 } 418 419 func (x *ClusterStats) GetClusterServiceName() string { 420 if x != nil { 421 return x.ClusterServiceName 422 } 423 return "" 424 } 425 426 func (x *ClusterStats) GetUpstreamLocalityStats() []*UpstreamLocalityStats { 427 if x != nil { 428 return x.UpstreamLocalityStats 429 } 430 return nil 431 } 432 433 func (x *ClusterStats) GetTotalDroppedRequests() uint64 { 434 if x != nil { 435 return x.TotalDroppedRequests 436 } 437 return 0 438 } 439 440 func (x *ClusterStats) GetDroppedRequests() []*ClusterStats_DroppedRequests { 441 if x != nil { 442 return x.DroppedRequests 443 } 444 return nil 445 } 446 447 func (x *ClusterStats) GetLoadReportInterval() *duration.Duration { 448 if x != nil { 449 return x.LoadReportInterval 450 } 451 return nil 452 } 453 454 type ClusterStats_DroppedRequests struct { 455 state protoimpl.MessageState 456 sizeCache protoimpl.SizeCache 457 unknownFields protoimpl.UnknownFields 458 459 // Identifier for the policy specifying the drop. 460 Category string `protobuf:"bytes,1,opt,name=category,proto3" json:"category,omitempty"` 461 // Total number of deliberately dropped requests for the category. 462 DroppedCount uint64 `protobuf:"varint,2,opt,name=dropped_count,json=droppedCount,proto3" json:"dropped_count,omitempty"` 463 } 464 465 func (x *ClusterStats_DroppedRequests) Reset() { 466 *x = ClusterStats_DroppedRequests{} 467 if protoimpl.UnsafeEnabled { 468 mi := &file_envoy_api_v2_endpoint_load_report_proto_msgTypes[4] 469 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 470 ms.StoreMessageInfo(mi) 471 } 472 } 473 474 func (x *ClusterStats_DroppedRequests) String() string { 475 return protoimpl.X.MessageStringOf(x) 476 } 477 478 func (*ClusterStats_DroppedRequests) ProtoMessage() {} 479 480 func (x *ClusterStats_DroppedRequests) ProtoReflect() protoreflect.Message { 481 mi := &file_envoy_api_v2_endpoint_load_report_proto_msgTypes[4] 482 if protoimpl.UnsafeEnabled && x != nil { 483 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 484 if ms.LoadMessageInfo() == nil { 485 ms.StoreMessageInfo(mi) 486 } 487 return ms 488 } 489 return mi.MessageOf(x) 490 } 491 492 // Deprecated: Use ClusterStats_DroppedRequests.ProtoReflect.Descriptor instead. 493 func (*ClusterStats_DroppedRequests) Descriptor() ([]byte, []int) { 494 return file_envoy_api_v2_endpoint_load_report_proto_rawDescGZIP(), []int{3, 0} 495 } 496 497 func (x *ClusterStats_DroppedRequests) GetCategory() string { 498 if x != nil { 499 return x.Category 500 } 501 return "" 502 } 503 504 func (x *ClusterStats_DroppedRequests) GetDroppedCount() uint64 { 505 if x != nil { 506 return x.DroppedCount 507 } 508 return 0 509 } 510 511 var File_envoy_api_v2_endpoint_load_report_proto protoreflect.FileDescriptor 512 513 var file_envoy_api_v2_endpoint_load_report_proto_rawDesc = []byte{ 514 0x0a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x65, 515 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x72, 0x65, 0x70, 516 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 517 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 518 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 519 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 520 0x6f, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 521 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 522 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 523 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 524 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 525 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 526 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 527 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 528 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 529 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 530 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 531 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8d, 0x04, 0x0a, 0x15, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 532 0x61, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 533 0x37, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 534 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 535 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x08, 536 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x19, 0x74, 0x6f, 0x74, 0x61, 537 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x5f, 0x72, 0x65, 0x71, 538 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x74, 0x6f, 0x74, 539 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x71, 0x75, 540 0x65, 0x73, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 541 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 542 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 543 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 544 0x73, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 545 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 546 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 547 0x73, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x69, 0x73, 0x73, 548 0x75, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 549 0x28, 0x04, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x73, 0x73, 0x75, 0x65, 0x64, 0x52, 550 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x5a, 0x0a, 0x11, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 551 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 552 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 553 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 554 0x69, 0x6e, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 555 0x74, 0x73, 0x52, 0x0f, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 556 0x61, 0x74, 0x73, 0x12, 0x64, 0x0a, 0x17, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 557 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x07, 558 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 559 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 560 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 561 0x74, 0x73, 0x52, 0x15, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x64, 0x70, 562 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 563 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x69, 564 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0xbd, 0x03, 0x0a, 0x15, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 565 0x61, 0x6d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 566 0x34, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 567 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 568 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 569 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 570 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 571 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 572 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x0a, 0x19, 0x74, 0x6f, 573 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x5f, 0x72, 574 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x74, 575 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x52, 0x65, 576 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 577 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x67, 578 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x74, 0x6f, 0x74, 0x61, 579 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 580 0x65, 0x73, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x72, 0x72, 581 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 582 0x04, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, 583 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x69, 584 0x73, 0x73, 0x75, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x07, 585 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x73, 0x73, 0x75, 0x65, 586 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x5a, 0x0a, 0x11, 0x6c, 0x6f, 0x61, 587 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x05, 588 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 589 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 590 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 591 0x74, 0x61, 0x74, 0x73, 0x52, 0x0f, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 592 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0xb2, 0x01, 0x0a, 0x17, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 593 0x6e, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 594 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 595 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4e, 0x61, 596 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x21, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 597 0x74, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x77, 0x69, 0x74, 0x68, 598 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1d, 0x6e, 599 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 600 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x2c, 0x0a, 0x12, 601 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x76, 0x61, 0x6c, 602 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4d, 603 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x9c, 0x04, 0x0a, 0x0c, 0x43, 604 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x0c, 0x63, 605 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 606 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 607 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6c, 0x75, 0x73, 0x74, 608 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 609 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 610 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x6e, 0x0a, 0x17, 0x75, 0x70, 0x73, 611 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x73, 612 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 613 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 614 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 615 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 616 0x08, 0x01, 0x52, 0x15, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 617 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x6f, 0x74, 618 0x61, 0x6c, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 619 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 620 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 621 0x5e, 0x0a, 0x10, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 622 0x73, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 623 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 624 0x74, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x44, 625 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x52, 0x0f, 626 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 627 0x4b, 0x0a, 0x14, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 628 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 629 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 630 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 631 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x1a, 0x5b, 0x0a, 0x0f, 632 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 633 0x23, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 634 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 635 0x67, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 636 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x64, 0x72, 0x6f, 637 0x70, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x60, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 638 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 639 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 640 0x42, 0x0f, 0x4c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 641 0x6f, 0x50, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x1a, 0x12, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 642 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 643 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 644 0x74, 0x6f, 0x33, 645 } 646 647 var ( 648 file_envoy_api_v2_endpoint_load_report_proto_rawDescOnce sync.Once 649 file_envoy_api_v2_endpoint_load_report_proto_rawDescData = file_envoy_api_v2_endpoint_load_report_proto_rawDesc 650 ) 651 652 func file_envoy_api_v2_endpoint_load_report_proto_rawDescGZIP() []byte { 653 file_envoy_api_v2_endpoint_load_report_proto_rawDescOnce.Do(func() { 654 file_envoy_api_v2_endpoint_load_report_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_endpoint_load_report_proto_rawDescData) 655 }) 656 return file_envoy_api_v2_endpoint_load_report_proto_rawDescData 657 } 658 659 var file_envoy_api_v2_endpoint_load_report_proto_msgTypes = make([]protoimpl.MessageInfo, 5) 660 var file_envoy_api_v2_endpoint_load_report_proto_goTypes = []interface{}{ 661 (*UpstreamLocalityStats)(nil), // 0: envoy.api.v2.endpoint.UpstreamLocalityStats 662 (*UpstreamEndpointStats)(nil), // 1: envoy.api.v2.endpoint.UpstreamEndpointStats 663 (*EndpointLoadMetricStats)(nil), // 2: envoy.api.v2.endpoint.EndpointLoadMetricStats 664 (*ClusterStats)(nil), // 3: envoy.api.v2.endpoint.ClusterStats 665 (*ClusterStats_DroppedRequests)(nil), // 4: envoy.api.v2.endpoint.ClusterStats.DroppedRequests 666 (*core.Locality)(nil), // 5: envoy.api.v2.core.Locality 667 (*core.Address)(nil), // 6: envoy.api.v2.core.Address 668 (*_struct.Struct)(nil), // 7: google.protobuf.Struct 669 (*duration.Duration)(nil), // 8: google.protobuf.Duration 670 } 671 var file_envoy_api_v2_endpoint_load_report_proto_depIdxs = []int32{ 672 5, // 0: envoy.api.v2.endpoint.UpstreamLocalityStats.locality:type_name -> envoy.api.v2.core.Locality 673 2, // 1: envoy.api.v2.endpoint.UpstreamLocalityStats.load_metric_stats:type_name -> envoy.api.v2.endpoint.EndpointLoadMetricStats 674 1, // 2: envoy.api.v2.endpoint.UpstreamLocalityStats.upstream_endpoint_stats:type_name -> envoy.api.v2.endpoint.UpstreamEndpointStats 675 6, // 3: envoy.api.v2.endpoint.UpstreamEndpointStats.address:type_name -> envoy.api.v2.core.Address 676 7, // 4: envoy.api.v2.endpoint.UpstreamEndpointStats.metadata:type_name -> google.protobuf.Struct 677 2, // 5: envoy.api.v2.endpoint.UpstreamEndpointStats.load_metric_stats:type_name -> envoy.api.v2.endpoint.EndpointLoadMetricStats 678 0, // 6: envoy.api.v2.endpoint.ClusterStats.upstream_locality_stats:type_name -> envoy.api.v2.endpoint.UpstreamLocalityStats 679 4, // 7: envoy.api.v2.endpoint.ClusterStats.dropped_requests:type_name -> envoy.api.v2.endpoint.ClusterStats.DroppedRequests 680 8, // 8: envoy.api.v2.endpoint.ClusterStats.load_report_interval:type_name -> google.protobuf.Duration 681 9, // [9:9] is the sub-list for method output_type 682 9, // [9:9] is the sub-list for method input_type 683 9, // [9:9] is the sub-list for extension type_name 684 9, // [9:9] is the sub-list for extension extendee 685 0, // [0:9] is the sub-list for field type_name 686 } 687 688 func init() { file_envoy_api_v2_endpoint_load_report_proto_init() } 689 func file_envoy_api_v2_endpoint_load_report_proto_init() { 690 if File_envoy_api_v2_endpoint_load_report_proto != nil { 691 return 692 } 693 if !protoimpl.UnsafeEnabled { 694 file_envoy_api_v2_endpoint_load_report_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 695 switch v := v.(*UpstreamLocalityStats); i { 696 case 0: 697 return &v.state 698 case 1: 699 return &v.sizeCache 700 case 2: 701 return &v.unknownFields 702 default: 703 return nil 704 } 705 } 706 file_envoy_api_v2_endpoint_load_report_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 707 switch v := v.(*UpstreamEndpointStats); i { 708 case 0: 709 return &v.state 710 case 1: 711 return &v.sizeCache 712 case 2: 713 return &v.unknownFields 714 default: 715 return nil 716 } 717 } 718 file_envoy_api_v2_endpoint_load_report_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 719 switch v := v.(*EndpointLoadMetricStats); i { 720 case 0: 721 return &v.state 722 case 1: 723 return &v.sizeCache 724 case 2: 725 return &v.unknownFields 726 default: 727 return nil 728 } 729 } 730 file_envoy_api_v2_endpoint_load_report_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 731 switch v := v.(*ClusterStats); i { 732 case 0: 733 return &v.state 734 case 1: 735 return &v.sizeCache 736 case 2: 737 return &v.unknownFields 738 default: 739 return nil 740 } 741 } 742 file_envoy_api_v2_endpoint_load_report_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 743 switch v := v.(*ClusterStats_DroppedRequests); i { 744 case 0: 745 return &v.state 746 case 1: 747 return &v.sizeCache 748 case 2: 749 return &v.unknownFields 750 default: 751 return nil 752 } 753 } 754 } 755 type x struct{} 756 out := protoimpl.TypeBuilder{ 757 File: protoimpl.DescBuilder{ 758 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 759 RawDescriptor: file_envoy_api_v2_endpoint_load_report_proto_rawDesc, 760 NumEnums: 0, 761 NumMessages: 5, 762 NumExtensions: 0, 763 NumServices: 0, 764 }, 765 GoTypes: file_envoy_api_v2_endpoint_load_report_proto_goTypes, 766 DependencyIndexes: file_envoy_api_v2_endpoint_load_report_proto_depIdxs, 767 MessageInfos: file_envoy_api_v2_endpoint_load_report_proto_msgTypes, 768 }.Build() 769 File_envoy_api_v2_endpoint_load_report_proto = out.File 770 file_envoy_api_v2_endpoint_load_report_proto_rawDesc = nil 771 file_envoy_api_v2_endpoint_load_report_proto_goTypes = nil 772 file_envoy_api_v2_endpoint_load_report_proto_depIdxs = nil 773 }