github.com/hxx258456/ccgo@v0.0.5-0.20230213014102-48b35f46f66f/go-control-plane/envoy/service/load_stats/v3/lrs.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/service/load_stats/v3/lrs.proto
     6  
     7  package envoy_service_load_stats_v3
     8  
     9  import (
    10  	context "context"
    11  	_ "github.com/cncf/xds/go/udpa/annotations"
    12  	v3 "github.com/hxx258456/ccgo/go-control-plane/envoy/config/core/v3"
    13  	v31 "github.com/hxx258456/ccgo/go-control-plane/envoy/config/endpoint/v3"
    14  	proto "github.com/golang/protobuf/proto"
    15  	duration "github.com/golang/protobuf/ptypes/duration"
    16  	grpc "github.com/hxx258456/ccgo/grpc"
    17  	codes "github.com/hxx258456/ccgo/grpc/codes"
    18  	status "github.com/hxx258456/ccgo/grpc/status"
    19  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    20  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    21  	reflect "reflect"
    22  	sync "sync"
    23  )
    24  
    25  const (
    26  	// Verify that this generated code is sufficiently up-to-date.
    27  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    28  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    29  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    30  )
    31  
    32  // This is a compile-time assertion that a sufficiently up-to-date version
    33  // of the legacy proto package is being used.
    34  const _ = proto.ProtoPackageIsVersion4
    35  
    36  // A load report Envoy sends to the management server.
    37  type LoadStatsRequest struct {
    38  	state         protoimpl.MessageState
    39  	sizeCache     protoimpl.SizeCache
    40  	unknownFields protoimpl.UnknownFields
    41  
    42  	// Node identifier for Envoy instance.
    43  	Node *v3.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"`
    44  	// A list of load stats to report.
    45  	ClusterStats []*v31.ClusterStats `protobuf:"bytes,2,rep,name=cluster_stats,json=clusterStats,proto3" json:"cluster_stats,omitempty"`
    46  }
    47  
    48  func (x *LoadStatsRequest) Reset() {
    49  	*x = LoadStatsRequest{}
    50  	if protoimpl.UnsafeEnabled {
    51  		mi := &file_envoy_service_load_stats_v3_lrs_proto_msgTypes[0]
    52  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    53  		ms.StoreMessageInfo(mi)
    54  	}
    55  }
    56  
    57  func (x *LoadStatsRequest) String() string {
    58  	return protoimpl.X.MessageStringOf(x)
    59  }
    60  
    61  func (*LoadStatsRequest) ProtoMessage() {}
    62  
    63  func (x *LoadStatsRequest) ProtoReflect() protoreflect.Message {
    64  	mi := &file_envoy_service_load_stats_v3_lrs_proto_msgTypes[0]
    65  	if protoimpl.UnsafeEnabled && x != nil {
    66  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    67  		if ms.LoadMessageInfo() == nil {
    68  			ms.StoreMessageInfo(mi)
    69  		}
    70  		return ms
    71  	}
    72  	return mi.MessageOf(x)
    73  }
    74  
    75  // Deprecated: Use LoadStatsRequest.ProtoReflect.Descriptor instead.
    76  func (*LoadStatsRequest) Descriptor() ([]byte, []int) {
    77  	return file_envoy_service_load_stats_v3_lrs_proto_rawDescGZIP(), []int{0}
    78  }
    79  
    80  func (x *LoadStatsRequest) GetNode() *v3.Node {
    81  	if x != nil {
    82  		return x.Node
    83  	}
    84  	return nil
    85  }
    86  
    87  func (x *LoadStatsRequest) GetClusterStats() []*v31.ClusterStats {
    88  	if x != nil {
    89  		return x.ClusterStats
    90  	}
    91  	return nil
    92  }
    93  
    94  // The management server sends envoy a LoadStatsResponse with all clusters it
    95  // is interested in learning load stats about.
    96  type LoadStatsResponse struct {
    97  	state         protoimpl.MessageState
    98  	sizeCache     protoimpl.SizeCache
    99  	unknownFields protoimpl.UnknownFields
   100  
   101  	// Clusters to report stats for.
   102  	// Not populated if *send_all_clusters* is true.
   103  	Clusters []string `protobuf:"bytes,1,rep,name=clusters,proto3" json:"clusters,omitempty"`
   104  	// If true, the client should send all clusters it knows about.
   105  	// Only clients that advertise the "envoy.lrs.supports_send_all_clusters" capability in their
   106  	// :ref:`client_features<envoy_v3_api_field_config.core.v3.Node.client_features>` field will honor this field.
   107  	SendAllClusters bool `protobuf:"varint,4,opt,name=send_all_clusters,json=sendAllClusters,proto3" json:"send_all_clusters,omitempty"`
   108  	// The minimum interval of time to collect stats over. This is only a minimum for two reasons:
   109  	//
   110  	// 1. There may be some delay from when the timer fires until stats sampling occurs.
   111  	// 2. For clusters that were already feature in the previous *LoadStatsResponse*, any traffic
   112  	//    that is observed in between the corresponding previous *LoadStatsRequest* and this
   113  	//    *LoadStatsResponse* will also be accumulated and billed to the cluster. This avoids a period
   114  	//    of inobservability that might otherwise exists between the messages. New clusters are not
   115  	//    subject to this consideration.
   116  	LoadReportingInterval *duration.Duration `protobuf:"bytes,2,opt,name=load_reporting_interval,json=loadReportingInterval,proto3" json:"load_reporting_interval,omitempty"`
   117  	// Set to *true* if the management server supports endpoint granularity
   118  	// report.
   119  	ReportEndpointGranularity bool `protobuf:"varint,3,opt,name=report_endpoint_granularity,json=reportEndpointGranularity,proto3" json:"report_endpoint_granularity,omitempty"`
   120  }
   121  
   122  func (x *LoadStatsResponse) Reset() {
   123  	*x = LoadStatsResponse{}
   124  	if protoimpl.UnsafeEnabled {
   125  		mi := &file_envoy_service_load_stats_v3_lrs_proto_msgTypes[1]
   126  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   127  		ms.StoreMessageInfo(mi)
   128  	}
   129  }
   130  
   131  func (x *LoadStatsResponse) String() string {
   132  	return protoimpl.X.MessageStringOf(x)
   133  }
   134  
   135  func (*LoadStatsResponse) ProtoMessage() {}
   136  
   137  func (x *LoadStatsResponse) ProtoReflect() protoreflect.Message {
   138  	mi := &file_envoy_service_load_stats_v3_lrs_proto_msgTypes[1]
   139  	if protoimpl.UnsafeEnabled && x != nil {
   140  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   141  		if ms.LoadMessageInfo() == nil {
   142  			ms.StoreMessageInfo(mi)
   143  		}
   144  		return ms
   145  	}
   146  	return mi.MessageOf(x)
   147  }
   148  
   149  // Deprecated: Use LoadStatsResponse.ProtoReflect.Descriptor instead.
   150  func (*LoadStatsResponse) Descriptor() ([]byte, []int) {
   151  	return file_envoy_service_load_stats_v3_lrs_proto_rawDescGZIP(), []int{1}
   152  }
   153  
   154  func (x *LoadStatsResponse) GetClusters() []string {
   155  	if x != nil {
   156  		return x.Clusters
   157  	}
   158  	return nil
   159  }
   160  
   161  func (x *LoadStatsResponse) GetSendAllClusters() bool {
   162  	if x != nil {
   163  		return x.SendAllClusters
   164  	}
   165  	return false
   166  }
   167  
   168  func (x *LoadStatsResponse) GetLoadReportingInterval() *duration.Duration {
   169  	if x != nil {
   170  		return x.LoadReportingInterval
   171  	}
   172  	return nil
   173  }
   174  
   175  func (x *LoadStatsResponse) GetReportEndpointGranularity() bool {
   176  	if x != nil {
   177  		return x.ReportEndpointGranularity
   178  	}
   179  	return false
   180  }
   181  
   182  var File_envoy_service_load_stats_v3_lrs_proto protoreflect.FileDescriptor
   183  
   184  var file_envoy_service_load_stats_v3_lrs_proto_rawDesc = []byte{
   185  	0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f,
   186  	0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x6c, 0x72,
   187  	0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73,
   188  	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74,
   189  	0x73, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66,
   190  	0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e,
   191  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e,
   192  	0x66, 0x69, 0x67, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x33, 0x2f,
   193  	0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
   194  	0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
   195  	0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
   196  	0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
   197  	0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   198  	0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
   199  	0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72,
   200  	0x6f, 0x74, 0x6f, 0x22, 0xc4, 0x01, 0x0a, 0x10, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74,
   201  	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65,
   202  	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
   203  	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4e, 0x6f,
   204  	0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x4b, 0x0a, 0x0d, 0x63, 0x6c, 0x75, 0x73,
   205  	0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
   206  	0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65,
   207  	0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74,
   208  	0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
   209  	0x53, 0x74, 0x61, 0x74, 0x73, 0x3a, 0x33, 0x9a, 0xc5, 0x88, 0x1e, 0x2e, 0x0a, 0x2c, 0x65, 0x6e,
   210  	0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6c, 0x6f, 0x61, 0x64,
   211  	0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x74,
   212  	0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xa4, 0x02, 0x0a, 0x11, 0x4c,
   213  	0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
   214  	0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03,
   215  	0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2a, 0x0a, 0x11,
   216  	0x73, 0x65, 0x6e, 0x64, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
   217  	0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, 0x65, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
   218  	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x51, 0x0a, 0x17, 0x6c, 0x6f, 0x61, 0x64,
   219  	0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72,
   220  	0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
   221  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61,
   222  	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74,
   223  	0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x3e, 0x0a, 0x1b, 0x72,
   224  	0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67,
   225  	0x72, 0x61, 0x6e, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
   226  	0x52, 0x19, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
   227  	0x47, 0x72, 0x61, 0x6e, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x3a, 0x34, 0x9a, 0xc5, 0x88,
   228  	0x1e, 0x2f, 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
   229  	0x65, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e,
   230  	0x4c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
   231  	0x65, 0x32, 0x8e, 0x01, 0x0a, 0x14, 0x4c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74,
   232  	0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x76, 0x0a, 0x0f, 0x53, 0x74,
   233  	0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2d, 0x2e,
   234  	0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6c, 0x6f,
   235  	0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x61, 0x64,
   236  	0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x65,
   237  	0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6c, 0x6f, 0x61,
   238  	0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x53,
   239  	0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01,
   240  	0x30, 0x01, 0x42, 0x42, 0x0a, 0x29, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72,
   241  	0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
   242  	0x65, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x33, 0x42,
   243  	0x08, 0x4c, 0x72, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x88, 0x01, 0x01, 0xba, 0x80,
   244  	0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
   245  }
   246  
   247  var (
   248  	file_envoy_service_load_stats_v3_lrs_proto_rawDescOnce sync.Once
   249  	file_envoy_service_load_stats_v3_lrs_proto_rawDescData = file_envoy_service_load_stats_v3_lrs_proto_rawDesc
   250  )
   251  
   252  func file_envoy_service_load_stats_v3_lrs_proto_rawDescGZIP() []byte {
   253  	file_envoy_service_load_stats_v3_lrs_proto_rawDescOnce.Do(func() {
   254  		file_envoy_service_load_stats_v3_lrs_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_load_stats_v3_lrs_proto_rawDescData)
   255  	})
   256  	return file_envoy_service_load_stats_v3_lrs_proto_rawDescData
   257  }
   258  
   259  var file_envoy_service_load_stats_v3_lrs_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
   260  var file_envoy_service_load_stats_v3_lrs_proto_goTypes = []interface{}{
   261  	(*LoadStatsRequest)(nil),  // 0: envoy.service.load_stats.v3.LoadStatsRequest
   262  	(*LoadStatsResponse)(nil), // 1: envoy.service.load_stats.v3.LoadStatsResponse
   263  	(*v3.Node)(nil),           // 2: envoy.config.core.v3.Node
   264  	(*v31.ClusterStats)(nil),  // 3: envoy.config.endpoint.v3.ClusterStats
   265  	(*duration.Duration)(nil), // 4: google.protobuf.Duration
   266  }
   267  var file_envoy_service_load_stats_v3_lrs_proto_depIdxs = []int32{
   268  	2, // 0: envoy.service.load_stats.v3.LoadStatsRequest.node:type_name -> envoy.config.core.v3.Node
   269  	3, // 1: envoy.service.load_stats.v3.LoadStatsRequest.cluster_stats:type_name -> envoy.config.endpoint.v3.ClusterStats
   270  	4, // 2: envoy.service.load_stats.v3.LoadStatsResponse.load_reporting_interval:type_name -> google.protobuf.Duration
   271  	0, // 3: envoy.service.load_stats.v3.LoadReportingService.StreamLoadStats:input_type -> envoy.service.load_stats.v3.LoadStatsRequest
   272  	1, // 4: envoy.service.load_stats.v3.LoadReportingService.StreamLoadStats:output_type -> envoy.service.load_stats.v3.LoadStatsResponse
   273  	4, // [4:5] is the sub-list for method output_type
   274  	3, // [3:4] is the sub-list for method input_type
   275  	3, // [3:3] is the sub-list for extension type_name
   276  	3, // [3:3] is the sub-list for extension extendee
   277  	0, // [0:3] is the sub-list for field type_name
   278  }
   279  
   280  func init() { file_envoy_service_load_stats_v3_lrs_proto_init() }
   281  func file_envoy_service_load_stats_v3_lrs_proto_init() {
   282  	if File_envoy_service_load_stats_v3_lrs_proto != nil {
   283  		return
   284  	}
   285  	if !protoimpl.UnsafeEnabled {
   286  		file_envoy_service_load_stats_v3_lrs_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
   287  			switch v := v.(*LoadStatsRequest); i {
   288  			case 0:
   289  				return &v.state
   290  			case 1:
   291  				return &v.sizeCache
   292  			case 2:
   293  				return &v.unknownFields
   294  			default:
   295  				return nil
   296  			}
   297  		}
   298  		file_envoy_service_load_stats_v3_lrs_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
   299  			switch v := v.(*LoadStatsResponse); i {
   300  			case 0:
   301  				return &v.state
   302  			case 1:
   303  				return &v.sizeCache
   304  			case 2:
   305  				return &v.unknownFields
   306  			default:
   307  				return nil
   308  			}
   309  		}
   310  	}
   311  	type x struct{}
   312  	out := protoimpl.TypeBuilder{
   313  		File: protoimpl.DescBuilder{
   314  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
   315  			RawDescriptor: file_envoy_service_load_stats_v3_lrs_proto_rawDesc,
   316  			NumEnums:      0,
   317  			NumMessages:   2,
   318  			NumExtensions: 0,
   319  			NumServices:   1,
   320  		},
   321  		GoTypes:           file_envoy_service_load_stats_v3_lrs_proto_goTypes,
   322  		DependencyIndexes: file_envoy_service_load_stats_v3_lrs_proto_depIdxs,
   323  		MessageInfos:      file_envoy_service_load_stats_v3_lrs_proto_msgTypes,
   324  	}.Build()
   325  	File_envoy_service_load_stats_v3_lrs_proto = out.File
   326  	file_envoy_service_load_stats_v3_lrs_proto_rawDesc = nil
   327  	file_envoy_service_load_stats_v3_lrs_proto_goTypes = nil
   328  	file_envoy_service_load_stats_v3_lrs_proto_depIdxs = nil
   329  }
   330  
   331  // Reference imports to suppress errors if they are not otherwise used.
   332  var _ context.Context
   333  var _ grpc.ClientConnInterface
   334  
   335  // This is a compile-time assertion to ensure that this generated file
   336  // is compatible with the grpc package it is being compiled against.
   337  const _ = grpc.SupportPackageIsVersion6
   338  
   339  // LoadReportingServiceClient is the client API for LoadReportingService service.
   340  //
   341  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
   342  type LoadReportingServiceClient interface {
   343  	// Advanced API to allow for multi-dimensional load balancing by remote
   344  	// server. For receiving LB assignments, the steps are:
   345  	// 1, The management server is configured with per cluster/zone/load metric
   346  	//    capacity configuration. The capacity configuration definition is
   347  	//    outside of the scope of this document.
   348  	// 2. Envoy issues a standard {Stream,Fetch}Endpoints request for the clusters
   349  	//    to balance.
   350  	//
   351  	// Independently, Envoy will initiate a StreamLoadStats bidi stream with a
   352  	// management server:
   353  	// 1. Once a connection establishes, the management server publishes a
   354  	//    LoadStatsResponse for all clusters it is interested in learning load
   355  	//    stats about.
   356  	// 2. For each cluster, Envoy load balances incoming traffic to upstream hosts
   357  	//    based on per-zone weights and/or per-instance weights (if specified)
   358  	//    based on intra-zone LbPolicy. This information comes from the above
   359  	//    {Stream,Fetch}Endpoints.
   360  	// 3. When upstream hosts reply, they optionally add header <define header
   361  	//    name> with ASCII representation of EndpointLoadMetricStats.
   362  	// 4. Envoy aggregates load reports over the period of time given to it in
   363  	//    LoadStatsResponse.load_reporting_interval. This includes aggregation
   364  	//    stats Envoy maintains by itself (total_requests, rpc_errors etc.) as
   365  	//    well as load metrics from upstream hosts.
   366  	// 5. When the timer of load_reporting_interval expires, Envoy sends new
   367  	//    LoadStatsRequest filled with load reports for each cluster.
   368  	// 6. The management server uses the load reports from all reported Envoys
   369  	//    from around the world, computes global assignment and prepares traffic
   370  	//    assignment destined for each zone Envoys are located in. Goto 2.
   371  	StreamLoadStats(ctx context.Context, opts ...grpc.CallOption) (LoadReportingService_StreamLoadStatsClient, error)
   372  }
   373  
   374  type loadReportingServiceClient struct {
   375  	cc grpc.ClientConnInterface
   376  }
   377  
   378  func NewLoadReportingServiceClient(cc grpc.ClientConnInterface) LoadReportingServiceClient {
   379  	return &loadReportingServiceClient{cc}
   380  }
   381  
   382  func (c *loadReportingServiceClient) StreamLoadStats(ctx context.Context, opts ...grpc.CallOption) (LoadReportingService_StreamLoadStatsClient, error) {
   383  	stream, err := c.cc.NewStream(ctx, &_LoadReportingService_serviceDesc.Streams[0], "/envoy.service.load_stats.v3.LoadReportingService/StreamLoadStats", opts...)
   384  	if err != nil {
   385  		return nil, err
   386  	}
   387  	x := &loadReportingServiceStreamLoadStatsClient{stream}
   388  	return x, nil
   389  }
   390  
   391  type LoadReportingService_StreamLoadStatsClient interface {
   392  	Send(*LoadStatsRequest) error
   393  	Recv() (*LoadStatsResponse, error)
   394  	grpc.ClientStream
   395  }
   396  
   397  type loadReportingServiceStreamLoadStatsClient struct {
   398  	grpc.ClientStream
   399  }
   400  
   401  func (x *loadReportingServiceStreamLoadStatsClient) Send(m *LoadStatsRequest) error {
   402  	return x.ClientStream.SendMsg(m)
   403  }
   404  
   405  func (x *loadReportingServiceStreamLoadStatsClient) Recv() (*LoadStatsResponse, error) {
   406  	m := new(LoadStatsResponse)
   407  	if err := x.ClientStream.RecvMsg(m); err != nil {
   408  		return nil, err
   409  	}
   410  	return m, nil
   411  }
   412  
   413  // LoadReportingServiceServer is the server API for LoadReportingService service.
   414  type LoadReportingServiceServer interface {
   415  	// Advanced API to allow for multi-dimensional load balancing by remote
   416  	// server. For receiving LB assignments, the steps are:
   417  	// 1, The management server is configured with per cluster/zone/load metric
   418  	//    capacity configuration. The capacity configuration definition is
   419  	//    outside of the scope of this document.
   420  	// 2. Envoy issues a standard {Stream,Fetch}Endpoints request for the clusters
   421  	//    to balance.
   422  	//
   423  	// Independently, Envoy will initiate a StreamLoadStats bidi stream with a
   424  	// management server:
   425  	// 1. Once a connection establishes, the management server publishes a
   426  	//    LoadStatsResponse for all clusters it is interested in learning load
   427  	//    stats about.
   428  	// 2. For each cluster, Envoy load balances incoming traffic to upstream hosts
   429  	//    based on per-zone weights and/or per-instance weights (if specified)
   430  	//    based on intra-zone LbPolicy. This information comes from the above
   431  	//    {Stream,Fetch}Endpoints.
   432  	// 3. When upstream hosts reply, they optionally add header <define header
   433  	//    name> with ASCII representation of EndpointLoadMetricStats.
   434  	// 4. Envoy aggregates load reports over the period of time given to it in
   435  	//    LoadStatsResponse.load_reporting_interval. This includes aggregation
   436  	//    stats Envoy maintains by itself (total_requests, rpc_errors etc.) as
   437  	//    well as load metrics from upstream hosts.
   438  	// 5. When the timer of load_reporting_interval expires, Envoy sends new
   439  	//    LoadStatsRequest filled with load reports for each cluster.
   440  	// 6. The management server uses the load reports from all reported Envoys
   441  	//    from around the world, computes global assignment and prepares traffic
   442  	//    assignment destined for each zone Envoys are located in. Goto 2.
   443  	StreamLoadStats(LoadReportingService_StreamLoadStatsServer) error
   444  }
   445  
   446  // UnimplementedLoadReportingServiceServer can be embedded to have forward compatible implementations.
   447  type UnimplementedLoadReportingServiceServer struct {
   448  }
   449  
   450  func (*UnimplementedLoadReportingServiceServer) StreamLoadStats(LoadReportingService_StreamLoadStatsServer) error {
   451  	return status.Errorf(codes.Unimplemented, "method StreamLoadStats not implemented")
   452  }
   453  
   454  func RegisterLoadReportingServiceServer(s *grpc.Server, srv LoadReportingServiceServer) {
   455  	s.RegisterService(&_LoadReportingService_serviceDesc, srv)
   456  }
   457  
   458  func _LoadReportingService_StreamLoadStats_Handler(srv interface{}, stream grpc.ServerStream) error {
   459  	return srv.(LoadReportingServiceServer).StreamLoadStats(&loadReportingServiceStreamLoadStatsServer{stream})
   460  }
   461  
   462  type LoadReportingService_StreamLoadStatsServer interface {
   463  	Send(*LoadStatsResponse) error
   464  	Recv() (*LoadStatsRequest, error)
   465  	grpc.ServerStream
   466  }
   467  
   468  type loadReportingServiceStreamLoadStatsServer struct {
   469  	grpc.ServerStream
   470  }
   471  
   472  func (x *loadReportingServiceStreamLoadStatsServer) Send(m *LoadStatsResponse) error {
   473  	return x.ServerStream.SendMsg(m)
   474  }
   475  
   476  func (x *loadReportingServiceStreamLoadStatsServer) Recv() (*LoadStatsRequest, error) {
   477  	m := new(LoadStatsRequest)
   478  	if err := x.ServerStream.RecvMsg(m); err != nil {
   479  		return nil, err
   480  	}
   481  	return m, nil
   482  }
   483  
   484  var _LoadReportingService_serviceDesc = grpc.ServiceDesc{
   485  	ServiceName: "envoy.service.load_stats.v3.LoadReportingService",
   486  	HandlerType: (*LoadReportingServiceServer)(nil),
   487  	Methods:     []grpc.MethodDesc{},
   488  	Streams: []grpc.StreamDesc{
   489  		{
   490  			StreamName:    "StreamLoadStats",
   491  			Handler:       _LoadReportingService_StreamLoadStats_Handler,
   492  			ServerStreams: true,
   493  			ClientStreams: true,
   494  		},
   495  	},
   496  	Metadata: "envoy/service/load_stats/v3/lrs.proto",
   497  }