google.golang.org/grpc@v1.74.2/balancer/grpclb/grpc_lb_v1/load_balancer.pb.go (about)

     1  // Copyright 2015 The gRPC Authors
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // This file defines the GRPCLB LoadBalancing protocol.
    16  //
    17  // The canonical version of this proto can be found at
    18  // https://github.com/grpc/grpc-proto/blob/master/grpc/lb/v1/load_balancer.proto
    19  
    20  // Code generated by protoc-gen-go. DO NOT EDIT.
    21  // versions:
    22  // 	protoc-gen-go v1.36.6
    23  // 	protoc        v5.27.1
    24  // source: grpc/lb/v1/load_balancer.proto
    25  
    26  package grpc_lb_v1
    27  
    28  import (
    29  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    30  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    31  	durationpb "google.golang.org/protobuf/types/known/durationpb"
    32  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    33  	reflect "reflect"
    34  	sync "sync"
    35  	unsafe "unsafe"
    36  )
    37  
    38  const (
    39  	// Verify that this generated code is sufficiently up-to-date.
    40  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    41  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    42  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    43  )
    44  
    45  type LoadBalanceRequest struct {
    46  	state protoimpl.MessageState `protogen:"open.v1"`
    47  	// Types that are valid to be assigned to LoadBalanceRequestType:
    48  	//
    49  	//	*LoadBalanceRequest_InitialRequest
    50  	//	*LoadBalanceRequest_ClientStats
    51  	LoadBalanceRequestType isLoadBalanceRequest_LoadBalanceRequestType `protobuf_oneof:"load_balance_request_type"`
    52  	unknownFields          protoimpl.UnknownFields
    53  	sizeCache              protoimpl.SizeCache
    54  }
    55  
    56  func (x *LoadBalanceRequest) Reset() {
    57  	*x = LoadBalanceRequest{}
    58  	mi := &file_grpc_lb_v1_load_balancer_proto_msgTypes[0]
    59  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    60  	ms.StoreMessageInfo(mi)
    61  }
    62  
    63  func (x *LoadBalanceRequest) String() string {
    64  	return protoimpl.X.MessageStringOf(x)
    65  }
    66  
    67  func (*LoadBalanceRequest) ProtoMessage() {}
    68  
    69  func (x *LoadBalanceRequest) ProtoReflect() protoreflect.Message {
    70  	mi := &file_grpc_lb_v1_load_balancer_proto_msgTypes[0]
    71  	if x != nil {
    72  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    73  		if ms.LoadMessageInfo() == nil {
    74  			ms.StoreMessageInfo(mi)
    75  		}
    76  		return ms
    77  	}
    78  	return mi.MessageOf(x)
    79  }
    80  
    81  // Deprecated: Use LoadBalanceRequest.ProtoReflect.Descriptor instead.
    82  func (*LoadBalanceRequest) Descriptor() ([]byte, []int) {
    83  	return file_grpc_lb_v1_load_balancer_proto_rawDescGZIP(), []int{0}
    84  }
    85  
    86  func (x *LoadBalanceRequest) GetLoadBalanceRequestType() isLoadBalanceRequest_LoadBalanceRequestType {
    87  	if x != nil {
    88  		return x.LoadBalanceRequestType
    89  	}
    90  	return nil
    91  }
    92  
    93  func (x *LoadBalanceRequest) GetInitialRequest() *InitialLoadBalanceRequest {
    94  	if x != nil {
    95  		if x, ok := x.LoadBalanceRequestType.(*LoadBalanceRequest_InitialRequest); ok {
    96  			return x.InitialRequest
    97  		}
    98  	}
    99  	return nil
   100  }
   101  
   102  func (x *LoadBalanceRequest) GetClientStats() *ClientStats {
   103  	if x != nil {
   104  		if x, ok := x.LoadBalanceRequestType.(*LoadBalanceRequest_ClientStats); ok {
   105  			return x.ClientStats
   106  		}
   107  	}
   108  	return nil
   109  }
   110  
   111  type isLoadBalanceRequest_LoadBalanceRequestType interface {
   112  	isLoadBalanceRequest_LoadBalanceRequestType()
   113  }
   114  
   115  type LoadBalanceRequest_InitialRequest struct {
   116  	// This message should be sent on the first request to the load balancer.
   117  	InitialRequest *InitialLoadBalanceRequest `protobuf:"bytes,1,opt,name=initial_request,json=initialRequest,proto3,oneof"`
   118  }
   119  
   120  type LoadBalanceRequest_ClientStats struct {
   121  	// The client stats should be periodically reported to the load balancer
   122  	// based on the duration defined in the InitialLoadBalanceResponse.
   123  	ClientStats *ClientStats `protobuf:"bytes,2,opt,name=client_stats,json=clientStats,proto3,oneof"`
   124  }
   125  
   126  func (*LoadBalanceRequest_InitialRequest) isLoadBalanceRequest_LoadBalanceRequestType() {}
   127  
   128  func (*LoadBalanceRequest_ClientStats) isLoadBalanceRequest_LoadBalanceRequestType() {}
   129  
   130  type InitialLoadBalanceRequest struct {
   131  	state protoimpl.MessageState `protogen:"open.v1"`
   132  	// The name of the load balanced service (e.g., service.googleapis.com). Its
   133  	// length should be less than 256 bytes.
   134  	// The name might include a port number. How to handle the port number is up
   135  	// to the balancer.
   136  	Name          string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   137  	unknownFields protoimpl.UnknownFields
   138  	sizeCache     protoimpl.SizeCache
   139  }
   140  
   141  func (x *InitialLoadBalanceRequest) Reset() {
   142  	*x = InitialLoadBalanceRequest{}
   143  	mi := &file_grpc_lb_v1_load_balancer_proto_msgTypes[1]
   144  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   145  	ms.StoreMessageInfo(mi)
   146  }
   147  
   148  func (x *InitialLoadBalanceRequest) String() string {
   149  	return protoimpl.X.MessageStringOf(x)
   150  }
   151  
   152  func (*InitialLoadBalanceRequest) ProtoMessage() {}
   153  
   154  func (x *InitialLoadBalanceRequest) ProtoReflect() protoreflect.Message {
   155  	mi := &file_grpc_lb_v1_load_balancer_proto_msgTypes[1]
   156  	if x != nil {
   157  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   158  		if ms.LoadMessageInfo() == nil {
   159  			ms.StoreMessageInfo(mi)
   160  		}
   161  		return ms
   162  	}
   163  	return mi.MessageOf(x)
   164  }
   165  
   166  // Deprecated: Use InitialLoadBalanceRequest.ProtoReflect.Descriptor instead.
   167  func (*InitialLoadBalanceRequest) Descriptor() ([]byte, []int) {
   168  	return file_grpc_lb_v1_load_balancer_proto_rawDescGZIP(), []int{1}
   169  }
   170  
   171  func (x *InitialLoadBalanceRequest) GetName() string {
   172  	if x != nil {
   173  		return x.Name
   174  	}
   175  	return ""
   176  }
   177  
   178  // Contains the number of calls finished for a particular load balance token.
   179  type ClientStatsPerToken struct {
   180  	state protoimpl.MessageState `protogen:"open.v1"`
   181  	// See Server.load_balance_token.
   182  	LoadBalanceToken string `protobuf:"bytes,1,opt,name=load_balance_token,json=loadBalanceToken,proto3" json:"load_balance_token,omitempty"`
   183  	// The total number of RPCs that finished associated with the token.
   184  	NumCalls      int64 `protobuf:"varint,2,opt,name=num_calls,json=numCalls,proto3" json:"num_calls,omitempty"`
   185  	unknownFields protoimpl.UnknownFields
   186  	sizeCache     protoimpl.SizeCache
   187  }
   188  
   189  func (x *ClientStatsPerToken) Reset() {
   190  	*x = ClientStatsPerToken{}
   191  	mi := &file_grpc_lb_v1_load_balancer_proto_msgTypes[2]
   192  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   193  	ms.StoreMessageInfo(mi)
   194  }
   195  
   196  func (x *ClientStatsPerToken) String() string {
   197  	return protoimpl.X.MessageStringOf(x)
   198  }
   199  
   200  func (*ClientStatsPerToken) ProtoMessage() {}
   201  
   202  func (x *ClientStatsPerToken) ProtoReflect() protoreflect.Message {
   203  	mi := &file_grpc_lb_v1_load_balancer_proto_msgTypes[2]
   204  	if x != nil {
   205  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   206  		if ms.LoadMessageInfo() == nil {
   207  			ms.StoreMessageInfo(mi)
   208  		}
   209  		return ms
   210  	}
   211  	return mi.MessageOf(x)
   212  }
   213  
   214  // Deprecated: Use ClientStatsPerToken.ProtoReflect.Descriptor instead.
   215  func (*ClientStatsPerToken) Descriptor() ([]byte, []int) {
   216  	return file_grpc_lb_v1_load_balancer_proto_rawDescGZIP(), []int{2}
   217  }
   218  
   219  func (x *ClientStatsPerToken) GetLoadBalanceToken() string {
   220  	if x != nil {
   221  		return x.LoadBalanceToken
   222  	}
   223  	return ""
   224  }
   225  
   226  func (x *ClientStatsPerToken) GetNumCalls() int64 {
   227  	if x != nil {
   228  		return x.NumCalls
   229  	}
   230  	return 0
   231  }
   232  
   233  // Contains client level statistics that are useful to load balancing. Each
   234  // count except the timestamp should be reset to zero after reporting the stats.
   235  type ClientStats struct {
   236  	state protoimpl.MessageState `protogen:"open.v1"`
   237  	// The timestamp of generating the report.
   238  	Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
   239  	// The total number of RPCs that started.
   240  	NumCallsStarted int64 `protobuf:"varint,2,opt,name=num_calls_started,json=numCallsStarted,proto3" json:"num_calls_started,omitempty"`
   241  	// The total number of RPCs that finished.
   242  	NumCallsFinished int64 `protobuf:"varint,3,opt,name=num_calls_finished,json=numCallsFinished,proto3" json:"num_calls_finished,omitempty"`
   243  	// The total number of RPCs that failed to reach a server except dropped RPCs.
   244  	NumCallsFinishedWithClientFailedToSend int64 `protobuf:"varint,6,opt,name=num_calls_finished_with_client_failed_to_send,json=numCallsFinishedWithClientFailedToSend,proto3" json:"num_calls_finished_with_client_failed_to_send,omitempty"`
   245  	// The total number of RPCs that finished and are known to have been received
   246  	// by a server.
   247  	NumCallsFinishedKnownReceived int64 `protobuf:"varint,7,opt,name=num_calls_finished_known_received,json=numCallsFinishedKnownReceived,proto3" json:"num_calls_finished_known_received,omitempty"`
   248  	// The list of dropped calls.
   249  	CallsFinishedWithDrop []*ClientStatsPerToken `protobuf:"bytes,8,rep,name=calls_finished_with_drop,json=callsFinishedWithDrop,proto3" json:"calls_finished_with_drop,omitempty"`
   250  	unknownFields         protoimpl.UnknownFields
   251  	sizeCache             protoimpl.SizeCache
   252  }
   253  
   254  func (x *ClientStats) Reset() {
   255  	*x = ClientStats{}
   256  	mi := &file_grpc_lb_v1_load_balancer_proto_msgTypes[3]
   257  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   258  	ms.StoreMessageInfo(mi)
   259  }
   260  
   261  func (x *ClientStats) String() string {
   262  	return protoimpl.X.MessageStringOf(x)
   263  }
   264  
   265  func (*ClientStats) ProtoMessage() {}
   266  
   267  func (x *ClientStats) ProtoReflect() protoreflect.Message {
   268  	mi := &file_grpc_lb_v1_load_balancer_proto_msgTypes[3]
   269  	if x != nil {
   270  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   271  		if ms.LoadMessageInfo() == nil {
   272  			ms.StoreMessageInfo(mi)
   273  		}
   274  		return ms
   275  	}
   276  	return mi.MessageOf(x)
   277  }
   278  
   279  // Deprecated: Use ClientStats.ProtoReflect.Descriptor instead.
   280  func (*ClientStats) Descriptor() ([]byte, []int) {
   281  	return file_grpc_lb_v1_load_balancer_proto_rawDescGZIP(), []int{3}
   282  }
   283  
   284  func (x *ClientStats) GetTimestamp() *timestamppb.Timestamp {
   285  	if x != nil {
   286  		return x.Timestamp
   287  	}
   288  	return nil
   289  }
   290  
   291  func (x *ClientStats) GetNumCallsStarted() int64 {
   292  	if x != nil {
   293  		return x.NumCallsStarted
   294  	}
   295  	return 0
   296  }
   297  
   298  func (x *ClientStats) GetNumCallsFinished() int64 {
   299  	if x != nil {
   300  		return x.NumCallsFinished
   301  	}
   302  	return 0
   303  }
   304  
   305  func (x *ClientStats) GetNumCallsFinishedWithClientFailedToSend() int64 {
   306  	if x != nil {
   307  		return x.NumCallsFinishedWithClientFailedToSend
   308  	}
   309  	return 0
   310  }
   311  
   312  func (x *ClientStats) GetNumCallsFinishedKnownReceived() int64 {
   313  	if x != nil {
   314  		return x.NumCallsFinishedKnownReceived
   315  	}
   316  	return 0
   317  }
   318  
   319  func (x *ClientStats) GetCallsFinishedWithDrop() []*ClientStatsPerToken {
   320  	if x != nil {
   321  		return x.CallsFinishedWithDrop
   322  	}
   323  	return nil
   324  }
   325  
   326  type LoadBalanceResponse struct {
   327  	state protoimpl.MessageState `protogen:"open.v1"`
   328  	// Types that are valid to be assigned to LoadBalanceResponseType:
   329  	//
   330  	//	*LoadBalanceResponse_InitialResponse
   331  	//	*LoadBalanceResponse_ServerList
   332  	//	*LoadBalanceResponse_FallbackResponse
   333  	LoadBalanceResponseType isLoadBalanceResponse_LoadBalanceResponseType `protobuf_oneof:"load_balance_response_type"`
   334  	unknownFields           protoimpl.UnknownFields
   335  	sizeCache               protoimpl.SizeCache
   336  }
   337  
   338  func (x *LoadBalanceResponse) Reset() {
   339  	*x = LoadBalanceResponse{}
   340  	mi := &file_grpc_lb_v1_load_balancer_proto_msgTypes[4]
   341  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   342  	ms.StoreMessageInfo(mi)
   343  }
   344  
   345  func (x *LoadBalanceResponse) String() string {
   346  	return protoimpl.X.MessageStringOf(x)
   347  }
   348  
   349  func (*LoadBalanceResponse) ProtoMessage() {}
   350  
   351  func (x *LoadBalanceResponse) ProtoReflect() protoreflect.Message {
   352  	mi := &file_grpc_lb_v1_load_balancer_proto_msgTypes[4]
   353  	if x != nil {
   354  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   355  		if ms.LoadMessageInfo() == nil {
   356  			ms.StoreMessageInfo(mi)
   357  		}
   358  		return ms
   359  	}
   360  	return mi.MessageOf(x)
   361  }
   362  
   363  // Deprecated: Use LoadBalanceResponse.ProtoReflect.Descriptor instead.
   364  func (*LoadBalanceResponse) Descriptor() ([]byte, []int) {
   365  	return file_grpc_lb_v1_load_balancer_proto_rawDescGZIP(), []int{4}
   366  }
   367  
   368  func (x *LoadBalanceResponse) GetLoadBalanceResponseType() isLoadBalanceResponse_LoadBalanceResponseType {
   369  	if x != nil {
   370  		return x.LoadBalanceResponseType
   371  	}
   372  	return nil
   373  }
   374  
   375  func (x *LoadBalanceResponse) GetInitialResponse() *InitialLoadBalanceResponse {
   376  	if x != nil {
   377  		if x, ok := x.LoadBalanceResponseType.(*LoadBalanceResponse_InitialResponse); ok {
   378  			return x.InitialResponse
   379  		}
   380  	}
   381  	return nil
   382  }
   383  
   384  func (x *LoadBalanceResponse) GetServerList() *ServerList {
   385  	if x != nil {
   386  		if x, ok := x.LoadBalanceResponseType.(*LoadBalanceResponse_ServerList); ok {
   387  			return x.ServerList
   388  		}
   389  	}
   390  	return nil
   391  }
   392  
   393  func (x *LoadBalanceResponse) GetFallbackResponse() *FallbackResponse {
   394  	if x != nil {
   395  		if x, ok := x.LoadBalanceResponseType.(*LoadBalanceResponse_FallbackResponse); ok {
   396  			return x.FallbackResponse
   397  		}
   398  	}
   399  	return nil
   400  }
   401  
   402  type isLoadBalanceResponse_LoadBalanceResponseType interface {
   403  	isLoadBalanceResponse_LoadBalanceResponseType()
   404  }
   405  
   406  type LoadBalanceResponse_InitialResponse struct {
   407  	// This message should be sent on the first response to the client.
   408  	InitialResponse *InitialLoadBalanceResponse `protobuf:"bytes,1,opt,name=initial_response,json=initialResponse,proto3,oneof"`
   409  }
   410  
   411  type LoadBalanceResponse_ServerList struct {
   412  	// Contains the list of servers selected by the load balancer. The client
   413  	// should send requests to these servers in the specified order.
   414  	ServerList *ServerList `protobuf:"bytes,2,opt,name=server_list,json=serverList,proto3,oneof"`
   415  }
   416  
   417  type LoadBalanceResponse_FallbackResponse struct {
   418  	// If this field is set, then the client should eagerly enter fallback
   419  	// mode (even if there are existing, healthy connections to backends).
   420  	FallbackResponse *FallbackResponse `protobuf:"bytes,3,opt,name=fallback_response,json=fallbackResponse,proto3,oneof"`
   421  }
   422  
   423  func (*LoadBalanceResponse_InitialResponse) isLoadBalanceResponse_LoadBalanceResponseType() {}
   424  
   425  func (*LoadBalanceResponse_ServerList) isLoadBalanceResponse_LoadBalanceResponseType() {}
   426  
   427  func (*LoadBalanceResponse_FallbackResponse) isLoadBalanceResponse_LoadBalanceResponseType() {}
   428  
   429  type FallbackResponse struct {
   430  	state         protoimpl.MessageState `protogen:"open.v1"`
   431  	unknownFields protoimpl.UnknownFields
   432  	sizeCache     protoimpl.SizeCache
   433  }
   434  
   435  func (x *FallbackResponse) Reset() {
   436  	*x = FallbackResponse{}
   437  	mi := &file_grpc_lb_v1_load_balancer_proto_msgTypes[5]
   438  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   439  	ms.StoreMessageInfo(mi)
   440  }
   441  
   442  func (x *FallbackResponse) String() string {
   443  	return protoimpl.X.MessageStringOf(x)
   444  }
   445  
   446  func (*FallbackResponse) ProtoMessage() {}
   447  
   448  func (x *FallbackResponse) ProtoReflect() protoreflect.Message {
   449  	mi := &file_grpc_lb_v1_load_balancer_proto_msgTypes[5]
   450  	if x != nil {
   451  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   452  		if ms.LoadMessageInfo() == nil {
   453  			ms.StoreMessageInfo(mi)
   454  		}
   455  		return ms
   456  	}
   457  	return mi.MessageOf(x)
   458  }
   459  
   460  // Deprecated: Use FallbackResponse.ProtoReflect.Descriptor instead.
   461  func (*FallbackResponse) Descriptor() ([]byte, []int) {
   462  	return file_grpc_lb_v1_load_balancer_proto_rawDescGZIP(), []int{5}
   463  }
   464  
   465  type InitialLoadBalanceResponse struct {
   466  	state protoimpl.MessageState `protogen:"open.v1"`
   467  	// This interval defines how often the client should send the client stats
   468  	// to the load balancer. Stats should only be reported when the duration is
   469  	// positive.
   470  	ClientStatsReportInterval *durationpb.Duration `protobuf:"bytes,2,opt,name=client_stats_report_interval,json=clientStatsReportInterval,proto3" json:"client_stats_report_interval,omitempty"`
   471  	unknownFields             protoimpl.UnknownFields
   472  	sizeCache                 protoimpl.SizeCache
   473  }
   474  
   475  func (x *InitialLoadBalanceResponse) Reset() {
   476  	*x = InitialLoadBalanceResponse{}
   477  	mi := &file_grpc_lb_v1_load_balancer_proto_msgTypes[6]
   478  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   479  	ms.StoreMessageInfo(mi)
   480  }
   481  
   482  func (x *InitialLoadBalanceResponse) String() string {
   483  	return protoimpl.X.MessageStringOf(x)
   484  }
   485  
   486  func (*InitialLoadBalanceResponse) ProtoMessage() {}
   487  
   488  func (x *InitialLoadBalanceResponse) ProtoReflect() protoreflect.Message {
   489  	mi := &file_grpc_lb_v1_load_balancer_proto_msgTypes[6]
   490  	if x != nil {
   491  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   492  		if ms.LoadMessageInfo() == nil {
   493  			ms.StoreMessageInfo(mi)
   494  		}
   495  		return ms
   496  	}
   497  	return mi.MessageOf(x)
   498  }
   499  
   500  // Deprecated: Use InitialLoadBalanceResponse.ProtoReflect.Descriptor instead.
   501  func (*InitialLoadBalanceResponse) Descriptor() ([]byte, []int) {
   502  	return file_grpc_lb_v1_load_balancer_proto_rawDescGZIP(), []int{6}
   503  }
   504  
   505  func (x *InitialLoadBalanceResponse) GetClientStatsReportInterval() *durationpb.Duration {
   506  	if x != nil {
   507  		return x.ClientStatsReportInterval
   508  	}
   509  	return nil
   510  }
   511  
   512  type ServerList struct {
   513  	state protoimpl.MessageState `protogen:"open.v1"`
   514  	// Contains a list of servers selected by the load balancer. The list will
   515  	// be updated when server resolutions change or as needed to balance load
   516  	// across more servers. The client should consume the server list in order
   517  	// unless instructed otherwise via the client_config.
   518  	Servers       []*Server `protobuf:"bytes,1,rep,name=servers,proto3" json:"servers,omitempty"`
   519  	unknownFields protoimpl.UnknownFields
   520  	sizeCache     protoimpl.SizeCache
   521  }
   522  
   523  func (x *ServerList) Reset() {
   524  	*x = ServerList{}
   525  	mi := &file_grpc_lb_v1_load_balancer_proto_msgTypes[7]
   526  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   527  	ms.StoreMessageInfo(mi)
   528  }
   529  
   530  func (x *ServerList) String() string {
   531  	return protoimpl.X.MessageStringOf(x)
   532  }
   533  
   534  func (*ServerList) ProtoMessage() {}
   535  
   536  func (x *ServerList) ProtoReflect() protoreflect.Message {
   537  	mi := &file_grpc_lb_v1_load_balancer_proto_msgTypes[7]
   538  	if x != nil {
   539  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   540  		if ms.LoadMessageInfo() == nil {
   541  			ms.StoreMessageInfo(mi)
   542  		}
   543  		return ms
   544  	}
   545  	return mi.MessageOf(x)
   546  }
   547  
   548  // Deprecated: Use ServerList.ProtoReflect.Descriptor instead.
   549  func (*ServerList) Descriptor() ([]byte, []int) {
   550  	return file_grpc_lb_v1_load_balancer_proto_rawDescGZIP(), []int{7}
   551  }
   552  
   553  func (x *ServerList) GetServers() []*Server {
   554  	if x != nil {
   555  		return x.Servers
   556  	}
   557  	return nil
   558  }
   559  
   560  // Contains server information. When the drop field is not true, use the other
   561  // fields.
   562  type Server struct {
   563  	state protoimpl.MessageState `protogen:"open.v1"`
   564  	// A resolved address for the server, serialized in network-byte-order. It may
   565  	// either be an IPv4 or IPv6 address.
   566  	IpAddress []byte `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"`
   567  	// A resolved port number for the server.
   568  	Port int32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
   569  	// An opaque but printable token for load reporting. The client must include
   570  	// the token of the picked server into the initial metadata when it starts a
   571  	// call to that server. The token is used by the server to verify the request
   572  	// and to allow the server to report load to the gRPC LB system. The token is
   573  	// also used in client stats for reporting dropped calls.
   574  	//
   575  	// Its length can be variable but must be less than 50 bytes.
   576  	LoadBalanceToken string `protobuf:"bytes,3,opt,name=load_balance_token,json=loadBalanceToken,proto3" json:"load_balance_token,omitempty"`
   577  	// Indicates whether this particular request should be dropped by the client.
   578  	// If the request is dropped, there will be a corresponding entry in
   579  	// ClientStats.calls_finished_with_drop.
   580  	Drop          bool `protobuf:"varint,4,opt,name=drop,proto3" json:"drop,omitempty"`
   581  	unknownFields protoimpl.UnknownFields
   582  	sizeCache     protoimpl.SizeCache
   583  }
   584  
   585  func (x *Server) Reset() {
   586  	*x = Server{}
   587  	mi := &file_grpc_lb_v1_load_balancer_proto_msgTypes[8]
   588  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   589  	ms.StoreMessageInfo(mi)
   590  }
   591  
   592  func (x *Server) String() string {
   593  	return protoimpl.X.MessageStringOf(x)
   594  }
   595  
   596  func (*Server) ProtoMessage() {}
   597  
   598  func (x *Server) ProtoReflect() protoreflect.Message {
   599  	mi := &file_grpc_lb_v1_load_balancer_proto_msgTypes[8]
   600  	if x != nil {
   601  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   602  		if ms.LoadMessageInfo() == nil {
   603  			ms.StoreMessageInfo(mi)
   604  		}
   605  		return ms
   606  	}
   607  	return mi.MessageOf(x)
   608  }
   609  
   610  // Deprecated: Use Server.ProtoReflect.Descriptor instead.
   611  func (*Server) Descriptor() ([]byte, []int) {
   612  	return file_grpc_lb_v1_load_balancer_proto_rawDescGZIP(), []int{8}
   613  }
   614  
   615  func (x *Server) GetIpAddress() []byte {
   616  	if x != nil {
   617  		return x.IpAddress
   618  	}
   619  	return nil
   620  }
   621  
   622  func (x *Server) GetPort() int32 {
   623  	if x != nil {
   624  		return x.Port
   625  	}
   626  	return 0
   627  }
   628  
   629  func (x *Server) GetLoadBalanceToken() string {
   630  	if x != nil {
   631  		return x.LoadBalanceToken
   632  	}
   633  	return ""
   634  }
   635  
   636  func (x *Server) GetDrop() bool {
   637  	if x != nil {
   638  		return x.Drop
   639  	}
   640  	return false
   641  }
   642  
   643  var File_grpc_lb_v1_load_balancer_proto protoreflect.FileDescriptor
   644  
   645  const file_grpc_lb_v1_load_balancer_proto_rawDesc = "" +
   646  	"\n" +
   647  	"\x1egrpc/lb/v1/load_balancer.proto\x12\n" +
   648  	"grpc.lb.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xc1\x01\n" +
   649  	"\x12LoadBalanceRequest\x12P\n" +
   650  	"\x0finitial_request\x18\x01 \x01(\v2%.grpc.lb.v1.InitialLoadBalanceRequestH\x00R\x0einitialRequest\x12<\n" +
   651  	"\fclient_stats\x18\x02 \x01(\v2\x17.grpc.lb.v1.ClientStatsH\x00R\vclientStatsB\x1b\n" +
   652  	"\x19load_balance_request_type\"/\n" +
   653  	"\x19InitialLoadBalanceRequest\x12\x12\n" +
   654  	"\x04name\x18\x01 \x01(\tR\x04name\"`\n" +
   655  	"\x13ClientStatsPerToken\x12,\n" +
   656  	"\x12load_balance_token\x18\x01 \x01(\tR\x10loadBalanceToken\x12\x1b\n" +
   657  	"\tnum_calls\x18\x02 \x01(\x03R\bnumCalls\"\xb0\x03\n" +
   658  	"\vClientStats\x128\n" +
   659  	"\ttimestamp\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\ttimestamp\x12*\n" +
   660  	"\x11num_calls_started\x18\x02 \x01(\x03R\x0fnumCallsStarted\x12,\n" +
   661  	"\x12num_calls_finished\x18\x03 \x01(\x03R\x10numCallsFinished\x12]\n" +
   662  	"-num_calls_finished_with_client_failed_to_send\x18\x06 \x01(\x03R&numCallsFinishedWithClientFailedToSend\x12H\n" +
   663  	"!num_calls_finished_known_received\x18\a \x01(\x03R\x1dnumCallsFinishedKnownReceived\x12X\n" +
   664  	"\x18calls_finished_with_drop\x18\b \x03(\v2\x1f.grpc.lb.v1.ClientStatsPerTokenR\x15callsFinishedWithDropJ\x04\b\x04\x10\x05J\x04\b\x05\x10\x06\"\x90\x02\n" +
   665  	"\x13LoadBalanceResponse\x12S\n" +
   666  	"\x10initial_response\x18\x01 \x01(\v2&.grpc.lb.v1.InitialLoadBalanceResponseH\x00R\x0finitialResponse\x129\n" +
   667  	"\vserver_list\x18\x02 \x01(\v2\x16.grpc.lb.v1.ServerListH\x00R\n" +
   668  	"serverList\x12K\n" +
   669  	"\x11fallback_response\x18\x03 \x01(\v2\x1c.grpc.lb.v1.FallbackResponseH\x00R\x10fallbackResponseB\x1c\n" +
   670  	"\x1aload_balance_response_type\"\x12\n" +
   671  	"\x10FallbackResponse\"~\n" +
   672  	"\x1aInitialLoadBalanceResponse\x12Z\n" +
   673  	"\x1cclient_stats_report_interval\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\x19clientStatsReportIntervalJ\x04\b\x01\x10\x02\"@\n" +
   674  	"\n" +
   675  	"ServerList\x12,\n" +
   676  	"\aservers\x18\x01 \x03(\v2\x12.grpc.lb.v1.ServerR\aserversJ\x04\b\x03\x10\x04\"\x83\x01\n" +
   677  	"\x06Server\x12\x1d\n" +
   678  	"\n" +
   679  	"ip_address\x18\x01 \x01(\fR\tipAddress\x12\x12\n" +
   680  	"\x04port\x18\x02 \x01(\x05R\x04port\x12,\n" +
   681  	"\x12load_balance_token\x18\x03 \x01(\tR\x10loadBalanceToken\x12\x12\n" +
   682  	"\x04drop\x18\x04 \x01(\bR\x04dropJ\x04\b\x05\x10\x062b\n" +
   683  	"\fLoadBalancer\x12R\n" +
   684  	"\vBalanceLoad\x12\x1e.grpc.lb.v1.LoadBalanceRequest\x1a\x1f.grpc.lb.v1.LoadBalanceResponse(\x010\x01BW\n" +
   685  	"\rio.grpc.lb.v1B\x11LoadBalancerProtoP\x01Z1google.golang.org/grpc/balancer/grpclb/grpc_lb_v1b\x06proto3"
   686  
   687  var (
   688  	file_grpc_lb_v1_load_balancer_proto_rawDescOnce sync.Once
   689  	file_grpc_lb_v1_load_balancer_proto_rawDescData []byte
   690  )
   691  
   692  func file_grpc_lb_v1_load_balancer_proto_rawDescGZIP() []byte {
   693  	file_grpc_lb_v1_load_balancer_proto_rawDescOnce.Do(func() {
   694  		file_grpc_lb_v1_load_balancer_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_grpc_lb_v1_load_balancer_proto_rawDesc), len(file_grpc_lb_v1_load_balancer_proto_rawDesc)))
   695  	})
   696  	return file_grpc_lb_v1_load_balancer_proto_rawDescData
   697  }
   698  
   699  var file_grpc_lb_v1_load_balancer_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
   700  var file_grpc_lb_v1_load_balancer_proto_goTypes = []any{
   701  	(*LoadBalanceRequest)(nil),         // 0: grpc.lb.v1.LoadBalanceRequest
   702  	(*InitialLoadBalanceRequest)(nil),  // 1: grpc.lb.v1.InitialLoadBalanceRequest
   703  	(*ClientStatsPerToken)(nil),        // 2: grpc.lb.v1.ClientStatsPerToken
   704  	(*ClientStats)(nil),                // 3: grpc.lb.v1.ClientStats
   705  	(*LoadBalanceResponse)(nil),        // 4: grpc.lb.v1.LoadBalanceResponse
   706  	(*FallbackResponse)(nil),           // 5: grpc.lb.v1.FallbackResponse
   707  	(*InitialLoadBalanceResponse)(nil), // 6: grpc.lb.v1.InitialLoadBalanceResponse
   708  	(*ServerList)(nil),                 // 7: grpc.lb.v1.ServerList
   709  	(*Server)(nil),                     // 8: grpc.lb.v1.Server
   710  	(*timestamppb.Timestamp)(nil),      // 9: google.protobuf.Timestamp
   711  	(*durationpb.Duration)(nil),        // 10: google.protobuf.Duration
   712  }
   713  var file_grpc_lb_v1_load_balancer_proto_depIdxs = []int32{
   714  	1,  // 0: grpc.lb.v1.LoadBalanceRequest.initial_request:type_name -> grpc.lb.v1.InitialLoadBalanceRequest
   715  	3,  // 1: grpc.lb.v1.LoadBalanceRequest.client_stats:type_name -> grpc.lb.v1.ClientStats
   716  	9,  // 2: grpc.lb.v1.ClientStats.timestamp:type_name -> google.protobuf.Timestamp
   717  	2,  // 3: grpc.lb.v1.ClientStats.calls_finished_with_drop:type_name -> grpc.lb.v1.ClientStatsPerToken
   718  	6,  // 4: grpc.lb.v1.LoadBalanceResponse.initial_response:type_name -> grpc.lb.v1.InitialLoadBalanceResponse
   719  	7,  // 5: grpc.lb.v1.LoadBalanceResponse.server_list:type_name -> grpc.lb.v1.ServerList
   720  	5,  // 6: grpc.lb.v1.LoadBalanceResponse.fallback_response:type_name -> grpc.lb.v1.FallbackResponse
   721  	10, // 7: grpc.lb.v1.InitialLoadBalanceResponse.client_stats_report_interval:type_name -> google.protobuf.Duration
   722  	8,  // 8: grpc.lb.v1.ServerList.servers:type_name -> grpc.lb.v1.Server
   723  	0,  // 9: grpc.lb.v1.LoadBalancer.BalanceLoad:input_type -> grpc.lb.v1.LoadBalanceRequest
   724  	4,  // 10: grpc.lb.v1.LoadBalancer.BalanceLoad:output_type -> grpc.lb.v1.LoadBalanceResponse
   725  	10, // [10:11] is the sub-list for method output_type
   726  	9,  // [9:10] is the sub-list for method input_type
   727  	9,  // [9:9] is the sub-list for extension type_name
   728  	9,  // [9:9] is the sub-list for extension extendee
   729  	0,  // [0:9] is the sub-list for field type_name
   730  }
   731  
   732  func init() { file_grpc_lb_v1_load_balancer_proto_init() }
   733  func file_grpc_lb_v1_load_balancer_proto_init() {
   734  	if File_grpc_lb_v1_load_balancer_proto != nil {
   735  		return
   736  	}
   737  	file_grpc_lb_v1_load_balancer_proto_msgTypes[0].OneofWrappers = []any{
   738  		(*LoadBalanceRequest_InitialRequest)(nil),
   739  		(*LoadBalanceRequest_ClientStats)(nil),
   740  	}
   741  	file_grpc_lb_v1_load_balancer_proto_msgTypes[4].OneofWrappers = []any{
   742  		(*LoadBalanceResponse_InitialResponse)(nil),
   743  		(*LoadBalanceResponse_ServerList)(nil),
   744  		(*LoadBalanceResponse_FallbackResponse)(nil),
   745  	}
   746  	type x struct{}
   747  	out := protoimpl.TypeBuilder{
   748  		File: protoimpl.DescBuilder{
   749  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
   750  			RawDescriptor: unsafe.Slice(unsafe.StringData(file_grpc_lb_v1_load_balancer_proto_rawDesc), len(file_grpc_lb_v1_load_balancer_proto_rawDesc)),
   751  			NumEnums:      0,
   752  			NumMessages:   9,
   753  			NumExtensions: 0,
   754  			NumServices:   1,
   755  		},
   756  		GoTypes:           file_grpc_lb_v1_load_balancer_proto_goTypes,
   757  		DependencyIndexes: file_grpc_lb_v1_load_balancer_proto_depIdxs,
   758  		MessageInfos:      file_grpc_lb_v1_load_balancer_proto_msgTypes,
   759  	}.Build()
   760  	File_grpc_lb_v1_load_balancer_proto = out.File
   761  	file_grpc_lb_v1_load_balancer_proto_goTypes = nil
   762  	file_grpc_lb_v1_load_balancer_proto_depIdxs = nil
   763  }