github.com/yankunsam/loki/v2@v2.6.3-0.20220817130409-389df5235c27/pkg/lokifrontend/frontend/v1/frontendv1pb/frontend.pb.go (about)

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: pkg/lokifrontend/frontend/v1/frontendv1pb/frontend.proto
     3  
     4  // Protobuf package should not be changed when moving around go packages
     5  // in order to not break backward compatibility.
     6  
     7  package frontendv1pb
     8  
     9  import (
    10  	context "context"
    11  	fmt "fmt"
    12  	_ "github.com/gogo/protobuf/gogoproto"
    13  	proto "github.com/gogo/protobuf/proto"
    14  	stats "github.com/grafana/loki/pkg/querier/stats"
    15  	httpgrpc "github.com/weaveworks/common/httpgrpc"
    16  	grpc "google.golang.org/grpc"
    17  	codes "google.golang.org/grpc/codes"
    18  	status "google.golang.org/grpc/status"
    19  	io "io"
    20  	math "math"
    21  	math_bits "math/bits"
    22  	reflect "reflect"
    23  	strconv "strconv"
    24  	strings "strings"
    25  )
    26  
    27  // Reference imports to suppress errors if they are not otherwise used.
    28  var _ = proto.Marshal
    29  var _ = fmt.Errorf
    30  var _ = math.Inf
    31  
    32  // This is a compile-time assertion to ensure that this generated file
    33  // is compatible with the proto package it is being compiled against.
    34  // A compilation error at this line likely means your copy of the
    35  // proto package needs to be updated.
    36  const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
    37  
    38  type Type int32
    39  
    40  const (
    41  	HTTP_REQUEST Type = 0
    42  	GET_ID       Type = 1
    43  )
    44  
    45  var Type_name = map[int32]string{
    46  	0: "HTTP_REQUEST",
    47  	1: "GET_ID",
    48  }
    49  
    50  var Type_value = map[string]int32{
    51  	"HTTP_REQUEST": 0,
    52  	"GET_ID":       1,
    53  }
    54  
    55  func (Type) EnumDescriptor() ([]byte, []int) {
    56  	return fileDescriptor_e58870c6eb9e26f7, []int{0}
    57  }
    58  
    59  type FrontendToClient struct {
    60  	HttpRequest *httpgrpc.HTTPRequest `protobuf:"bytes,1,opt,name=httpRequest,proto3" json:"httpRequest,omitempty"`
    61  	Type        Type                  `protobuf:"varint,2,opt,name=type,proto3,enum=frontend.Type" json:"type,omitempty"`
    62  	// Whether query statistics tracking should be enabled. The response will include
    63  	// statistics only when this option is enabled.
    64  	StatsEnabled bool `protobuf:"varint,3,opt,name=statsEnabled,proto3" json:"statsEnabled,omitempty"`
    65  }
    66  
    67  func (m *FrontendToClient) Reset()      { *m = FrontendToClient{} }
    68  func (*FrontendToClient) ProtoMessage() {}
    69  func (*FrontendToClient) Descriptor() ([]byte, []int) {
    70  	return fileDescriptor_e58870c6eb9e26f7, []int{0}
    71  }
    72  func (m *FrontendToClient) XXX_Unmarshal(b []byte) error {
    73  	return m.Unmarshal(b)
    74  }
    75  func (m *FrontendToClient) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    76  	if deterministic {
    77  		return xxx_messageInfo_FrontendToClient.Marshal(b, m, deterministic)
    78  	} else {
    79  		b = b[:cap(b)]
    80  		n, err := m.MarshalToSizedBuffer(b)
    81  		if err != nil {
    82  			return nil, err
    83  		}
    84  		return b[:n], nil
    85  	}
    86  }
    87  func (m *FrontendToClient) XXX_Merge(src proto.Message) {
    88  	xxx_messageInfo_FrontendToClient.Merge(m, src)
    89  }
    90  func (m *FrontendToClient) XXX_Size() int {
    91  	return m.Size()
    92  }
    93  func (m *FrontendToClient) XXX_DiscardUnknown() {
    94  	xxx_messageInfo_FrontendToClient.DiscardUnknown(m)
    95  }
    96  
    97  var xxx_messageInfo_FrontendToClient proto.InternalMessageInfo
    98  
    99  func (m *FrontendToClient) GetHttpRequest() *httpgrpc.HTTPRequest {
   100  	if m != nil {
   101  		return m.HttpRequest
   102  	}
   103  	return nil
   104  }
   105  
   106  func (m *FrontendToClient) GetType() Type {
   107  	if m != nil {
   108  		return m.Type
   109  	}
   110  	return HTTP_REQUEST
   111  }
   112  
   113  func (m *FrontendToClient) GetStatsEnabled() bool {
   114  	if m != nil {
   115  		return m.StatsEnabled
   116  	}
   117  	return false
   118  }
   119  
   120  type ClientToFrontend struct {
   121  	HttpResponse *httpgrpc.HTTPResponse `protobuf:"bytes,1,opt,name=httpResponse,proto3" json:"httpResponse,omitempty"`
   122  	ClientID     string                 `protobuf:"bytes,2,opt,name=clientID,proto3" json:"clientID,omitempty"`
   123  	Stats        *stats.Stats           `protobuf:"bytes,3,opt,name=stats,proto3" json:"stats,omitempty"`
   124  }
   125  
   126  func (m *ClientToFrontend) Reset()      { *m = ClientToFrontend{} }
   127  func (*ClientToFrontend) ProtoMessage() {}
   128  func (*ClientToFrontend) Descriptor() ([]byte, []int) {
   129  	return fileDescriptor_e58870c6eb9e26f7, []int{1}
   130  }
   131  func (m *ClientToFrontend) XXX_Unmarshal(b []byte) error {
   132  	return m.Unmarshal(b)
   133  }
   134  func (m *ClientToFrontend) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   135  	if deterministic {
   136  		return xxx_messageInfo_ClientToFrontend.Marshal(b, m, deterministic)
   137  	} else {
   138  		b = b[:cap(b)]
   139  		n, err := m.MarshalToSizedBuffer(b)
   140  		if err != nil {
   141  			return nil, err
   142  		}
   143  		return b[:n], nil
   144  	}
   145  }
   146  func (m *ClientToFrontend) XXX_Merge(src proto.Message) {
   147  	xxx_messageInfo_ClientToFrontend.Merge(m, src)
   148  }
   149  func (m *ClientToFrontend) XXX_Size() int {
   150  	return m.Size()
   151  }
   152  func (m *ClientToFrontend) XXX_DiscardUnknown() {
   153  	xxx_messageInfo_ClientToFrontend.DiscardUnknown(m)
   154  }
   155  
   156  var xxx_messageInfo_ClientToFrontend proto.InternalMessageInfo
   157  
   158  func (m *ClientToFrontend) GetHttpResponse() *httpgrpc.HTTPResponse {
   159  	if m != nil {
   160  		return m.HttpResponse
   161  	}
   162  	return nil
   163  }
   164  
   165  func (m *ClientToFrontend) GetClientID() string {
   166  	if m != nil {
   167  		return m.ClientID
   168  	}
   169  	return ""
   170  }
   171  
   172  func (m *ClientToFrontend) GetStats() *stats.Stats {
   173  	if m != nil {
   174  		return m.Stats
   175  	}
   176  	return nil
   177  }
   178  
   179  type NotifyClientShutdownRequest struct {
   180  	ClientID string `protobuf:"bytes,1,opt,name=clientID,proto3" json:"clientID,omitempty"`
   181  }
   182  
   183  func (m *NotifyClientShutdownRequest) Reset()      { *m = NotifyClientShutdownRequest{} }
   184  func (*NotifyClientShutdownRequest) ProtoMessage() {}
   185  func (*NotifyClientShutdownRequest) Descriptor() ([]byte, []int) {
   186  	return fileDescriptor_e58870c6eb9e26f7, []int{2}
   187  }
   188  func (m *NotifyClientShutdownRequest) XXX_Unmarshal(b []byte) error {
   189  	return m.Unmarshal(b)
   190  }
   191  func (m *NotifyClientShutdownRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   192  	if deterministic {
   193  		return xxx_messageInfo_NotifyClientShutdownRequest.Marshal(b, m, deterministic)
   194  	} else {
   195  		b = b[:cap(b)]
   196  		n, err := m.MarshalToSizedBuffer(b)
   197  		if err != nil {
   198  			return nil, err
   199  		}
   200  		return b[:n], nil
   201  	}
   202  }
   203  func (m *NotifyClientShutdownRequest) XXX_Merge(src proto.Message) {
   204  	xxx_messageInfo_NotifyClientShutdownRequest.Merge(m, src)
   205  }
   206  func (m *NotifyClientShutdownRequest) XXX_Size() int {
   207  	return m.Size()
   208  }
   209  func (m *NotifyClientShutdownRequest) XXX_DiscardUnknown() {
   210  	xxx_messageInfo_NotifyClientShutdownRequest.DiscardUnknown(m)
   211  }
   212  
   213  var xxx_messageInfo_NotifyClientShutdownRequest proto.InternalMessageInfo
   214  
   215  func (m *NotifyClientShutdownRequest) GetClientID() string {
   216  	if m != nil {
   217  		return m.ClientID
   218  	}
   219  	return ""
   220  }
   221  
   222  type NotifyClientShutdownResponse struct {
   223  }
   224  
   225  func (m *NotifyClientShutdownResponse) Reset()      { *m = NotifyClientShutdownResponse{} }
   226  func (*NotifyClientShutdownResponse) ProtoMessage() {}
   227  func (*NotifyClientShutdownResponse) Descriptor() ([]byte, []int) {
   228  	return fileDescriptor_e58870c6eb9e26f7, []int{3}
   229  }
   230  func (m *NotifyClientShutdownResponse) XXX_Unmarshal(b []byte) error {
   231  	return m.Unmarshal(b)
   232  }
   233  func (m *NotifyClientShutdownResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   234  	if deterministic {
   235  		return xxx_messageInfo_NotifyClientShutdownResponse.Marshal(b, m, deterministic)
   236  	} else {
   237  		b = b[:cap(b)]
   238  		n, err := m.MarshalToSizedBuffer(b)
   239  		if err != nil {
   240  			return nil, err
   241  		}
   242  		return b[:n], nil
   243  	}
   244  }
   245  func (m *NotifyClientShutdownResponse) XXX_Merge(src proto.Message) {
   246  	xxx_messageInfo_NotifyClientShutdownResponse.Merge(m, src)
   247  }
   248  func (m *NotifyClientShutdownResponse) XXX_Size() int {
   249  	return m.Size()
   250  }
   251  func (m *NotifyClientShutdownResponse) XXX_DiscardUnknown() {
   252  	xxx_messageInfo_NotifyClientShutdownResponse.DiscardUnknown(m)
   253  }
   254  
   255  var xxx_messageInfo_NotifyClientShutdownResponse proto.InternalMessageInfo
   256  
   257  func init() {
   258  	proto.RegisterEnum("frontend.Type", Type_name, Type_value)
   259  	proto.RegisterType((*FrontendToClient)(nil), "frontend.FrontendToClient")
   260  	proto.RegisterType((*ClientToFrontend)(nil), "frontend.ClientToFrontend")
   261  	proto.RegisterType((*NotifyClientShutdownRequest)(nil), "frontend.NotifyClientShutdownRequest")
   262  	proto.RegisterType((*NotifyClientShutdownResponse)(nil), "frontend.NotifyClientShutdownResponse")
   263  }
   264  
   265  func init() {
   266  	proto.RegisterFile("pkg/lokifrontend/frontend/v1/frontendv1pb/frontend.proto", fileDescriptor_e58870c6eb9e26f7)
   267  }
   268  
   269  var fileDescriptor_e58870c6eb9e26f7 = []byte{
   270  	// 495 bytes of a gzipped FileDescriptorProto
   271  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x93, 0xcf, 0x6e, 0xd3, 0x40,
   272  	0x10, 0xc6, 0xbd, 0x50, 0x4a, 0x98, 0x58, 0x95, 0xb5, 0x02, 0x14, 0x19, 0x58, 0x45, 0x16, 0xa0,
   273  	0x08, 0x09, 0x9b, 0x06, 0x24, 0xfe, 0x1c, 0x4b, 0x43, 0xe9, 0x05, 0x15, 0xc7, 0x5c, 0xb8, 0x54,
   274  	0xb1, 0xb3, 0x71, 0xac, 0x24, 0x5e, 0xd7, 0x5e, 0x27, 0xca, 0x8d, 0x27, 0x40, 0x48, 0xbc, 0x04,
   275  	0xcf, 0xc0, 0x13, 0x70, 0xcc, 0xb1, 0x47, 0xe2, 0x5c, 0x38, 0xf6, 0x11, 0x90, 0x77, 0x1d, 0xd7,
   276  	0x89, 0x2a, 0xb8, 0xac, 0x66, 0xfc, 0xcd, 0xcc, 0xfe, 0xe6, 0xb3, 0x0d, 0xaf, 0xa2, 0x91, 0x6f,
   277  	0x8d, 0xd9, 0x28, 0x18, 0xc4, 0x2c, 0xe4, 0x34, 0xec, 0x5b, 0x65, 0x30, 0xdd, 0x2f, 0xe3, 0xe9,
   278  	0x7e, 0xe4, 0x96, 0x89, 0x19, 0xc5, 0x8c, 0x33, 0x5c, 0x5b, 0xe7, 0xfa, 0x53, 0x3f, 0xe0, 0xc3,
   279  	0xd4, 0x35, 0x3d, 0x36, 0xb1, 0x7c, 0xe6, 0x33, 0x4b, 0x14, 0xb8, 0xe9, 0x40, 0x64, 0x22, 0x11,
   280  	0x91, 0x6c, 0xd4, 0x5f, 0x54, 0xca, 0x67, 0xb4, 0x37, 0xa5, 0x33, 0x16, 0x8f, 0x12, 0xcb, 0x63,
   281  	0x93, 0x09, 0x0b, 0xad, 0x21, 0xe7, 0x91, 0x1f, 0x47, 0x5e, 0x19, 0x14, 0x5d, 0x0f, 0x72, 0xd0,
   282  	0xb3, 0x94, 0xc6, 0x01, 0x8d, 0xad, 0x84, 0xf7, 0x78, 0x22, 0x4f, 0x29, 0x1b, 0xdf, 0x11, 0x68,
   283  	0xef, 0x0a, 0x20, 0x87, 0xbd, 0x1d, 0x07, 0x34, 0xe4, 0xf8, 0x25, 0xd4, 0xf3, 0x29, 0x36, 0x3d,
   284  	0x4b, 0x69, 0xc2, 0x1b, 0xa8, 0x89, 0x5a, 0xf5, 0xf6, 0x1d, 0xb3, 0x9c, 0xfc, 0xde, 0x71, 0x4e,
   285  	0x0a, 0xd1, 0xae, 0x56, 0x62, 0x03, 0x76, 0xf8, 0x3c, 0xa2, 0x8d, 0x6b, 0x4d, 0xd4, 0xda, 0x6b,
   286  	0xef, 0x99, 0xe5, 0xea, 0xce, 0x3c, 0xa2, 0xb6, 0xd0, 0xb0, 0x01, 0xaa, 0x00, 0xe8, 0x84, 0x3d,
   287  	0x77, 0x4c, 0xfb, 0x8d, 0xeb, 0x4d, 0xd4, 0xaa, 0xd9, 0x1b, 0xcf, 0x8c, 0xaf, 0x08, 0x34, 0xc9,
   288  	0xe2, 0xb0, 0x35, 0x1d, 0x7e, 0x03, 0xaa, 0xbc, 0x2b, 0x89, 0x58, 0x98, 0xd0, 0x02, 0xeb, 0xee,
   289  	0x36, 0x96, 0x54, 0xed, 0x8d, 0x5a, 0xac, 0x43, 0xcd, 0x13, 0xf3, 0x8e, 0x0f, 0x05, 0xdc, 0x2d,
   290  	0xbb, 0xcc, 0xb1, 0x01, 0x37, 0xc4, 0xe5, 0x82, 0xa4, 0xde, 0x56, 0x4d, 0xe9, 0x4f, 0x37, 0x3f,
   291  	0x6d, 0x29, 0x19, 0xaf, 0xe1, 0xde, 0x07, 0xc6, 0x83, 0xc1, 0x5c, 0x52, 0x75, 0x87, 0x29, 0xef,
   292  	0xb3, 0x59, 0xb8, 0xde, 0xbb, 0x3a, 0x1e, 0x6d, 0x8e, 0x37, 0x08, 0xdc, 0xbf, 0xba, 0x55, 0xa2,
   293  	0x3d, 0x79, 0x08, 0x3b, 0xb9, 0x3b, 0x58, 0x03, 0x35, 0x5f, 0xe0, 0xd4, 0xee, 0x7c, 0xfc, 0xd4,
   294  	0xe9, 0x3a, 0x9a, 0x82, 0x01, 0x76, 0x8f, 0x3a, 0xce, 0xe9, 0xf1, 0xa1, 0x86, 0xda, 0x3f, 0x11,
   295  	0xd4, 0x4a, 0x27, 0x8e, 0xe0, 0xe6, 0x49, 0xcc, 0x3c, 0x9a, 0x24, 0x58, 0xbf, 0xf4, 0x78, 0xdb,
   296  	0x30, 0xbd, 0xa2, 0x6d, 0xbf, 0x62, 0x43, 0x69, 0xa1, 0x67, 0x08, 0x53, 0xb8, 0x7d, 0x15, 0x1b,
   297  	0x7e, 0x74, 0xd9, 0xf9, 0x8f, 0xb5, 0xf5, 0xc7, 0xff, 0x2b, 0x93, 0x2b, 0x1e, 0x1c, 0x2c, 0x96,
   298  	0x44, 0x39, 0x5f, 0x12, 0xe5, 0x62, 0x49, 0xd0, 0x97, 0x8c, 0xa0, 0x1f, 0x19, 0x41, 0xbf, 0x32,
   299  	0x82, 0x16, 0x19, 0x41, 0xbf, 0x33, 0x82, 0xfe, 0x64, 0x44, 0xb9, 0xc8, 0x08, 0xfa, 0xb6, 0x22,
   300  	0xca, 0x62, 0x45, 0x94, 0xf3, 0x15, 0x51, 0x3e, 0xab, 0xd5, 0xbf, 0xc8, 0xdd, 0x15, 0xdf, 0xeb,
   301  	0xf3, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x58, 0x01, 0x40, 0x1f, 0x79, 0x03, 0x00, 0x00,
   302  }
   303  
   304  func (x Type) String() string {
   305  	s, ok := Type_name[int32(x)]
   306  	if ok {
   307  		return s
   308  	}
   309  	return strconv.Itoa(int(x))
   310  }
   311  func (this *FrontendToClient) Equal(that interface{}) bool {
   312  	if that == nil {
   313  		return this == nil
   314  	}
   315  
   316  	that1, ok := that.(*FrontendToClient)
   317  	if !ok {
   318  		that2, ok := that.(FrontendToClient)
   319  		if ok {
   320  			that1 = &that2
   321  		} else {
   322  			return false
   323  		}
   324  	}
   325  	if that1 == nil {
   326  		return this == nil
   327  	} else if this == nil {
   328  		return false
   329  	}
   330  	if !this.HttpRequest.Equal(that1.HttpRequest) {
   331  		return false
   332  	}
   333  	if this.Type != that1.Type {
   334  		return false
   335  	}
   336  	if this.StatsEnabled != that1.StatsEnabled {
   337  		return false
   338  	}
   339  	return true
   340  }
   341  func (this *ClientToFrontend) Equal(that interface{}) bool {
   342  	if that == nil {
   343  		return this == nil
   344  	}
   345  
   346  	that1, ok := that.(*ClientToFrontend)
   347  	if !ok {
   348  		that2, ok := that.(ClientToFrontend)
   349  		if ok {
   350  			that1 = &that2
   351  		} else {
   352  			return false
   353  		}
   354  	}
   355  	if that1 == nil {
   356  		return this == nil
   357  	} else if this == nil {
   358  		return false
   359  	}
   360  	if !this.HttpResponse.Equal(that1.HttpResponse) {
   361  		return false
   362  	}
   363  	if this.ClientID != that1.ClientID {
   364  		return false
   365  	}
   366  	if !this.Stats.Equal(that1.Stats) {
   367  		return false
   368  	}
   369  	return true
   370  }
   371  func (this *NotifyClientShutdownRequest) Equal(that interface{}) bool {
   372  	if that == nil {
   373  		return this == nil
   374  	}
   375  
   376  	that1, ok := that.(*NotifyClientShutdownRequest)
   377  	if !ok {
   378  		that2, ok := that.(NotifyClientShutdownRequest)
   379  		if ok {
   380  			that1 = &that2
   381  		} else {
   382  			return false
   383  		}
   384  	}
   385  	if that1 == nil {
   386  		return this == nil
   387  	} else if this == nil {
   388  		return false
   389  	}
   390  	if this.ClientID != that1.ClientID {
   391  		return false
   392  	}
   393  	return true
   394  }
   395  func (this *NotifyClientShutdownResponse) Equal(that interface{}) bool {
   396  	if that == nil {
   397  		return this == nil
   398  	}
   399  
   400  	that1, ok := that.(*NotifyClientShutdownResponse)
   401  	if !ok {
   402  		that2, ok := that.(NotifyClientShutdownResponse)
   403  		if ok {
   404  			that1 = &that2
   405  		} else {
   406  			return false
   407  		}
   408  	}
   409  	if that1 == nil {
   410  		return this == nil
   411  	} else if this == nil {
   412  		return false
   413  	}
   414  	return true
   415  }
   416  func (this *FrontendToClient) GoString() string {
   417  	if this == nil {
   418  		return "nil"
   419  	}
   420  	s := make([]string, 0, 7)
   421  	s = append(s, "&frontendv1pb.FrontendToClient{")
   422  	if this.HttpRequest != nil {
   423  		s = append(s, "HttpRequest: "+fmt.Sprintf("%#v", this.HttpRequest)+",\n")
   424  	}
   425  	s = append(s, "Type: "+fmt.Sprintf("%#v", this.Type)+",\n")
   426  	s = append(s, "StatsEnabled: "+fmt.Sprintf("%#v", this.StatsEnabled)+",\n")
   427  	s = append(s, "}")
   428  	return strings.Join(s, "")
   429  }
   430  func (this *ClientToFrontend) GoString() string {
   431  	if this == nil {
   432  		return "nil"
   433  	}
   434  	s := make([]string, 0, 7)
   435  	s = append(s, "&frontendv1pb.ClientToFrontend{")
   436  	if this.HttpResponse != nil {
   437  		s = append(s, "HttpResponse: "+fmt.Sprintf("%#v", this.HttpResponse)+",\n")
   438  	}
   439  	s = append(s, "ClientID: "+fmt.Sprintf("%#v", this.ClientID)+",\n")
   440  	if this.Stats != nil {
   441  		s = append(s, "Stats: "+fmt.Sprintf("%#v", this.Stats)+",\n")
   442  	}
   443  	s = append(s, "}")
   444  	return strings.Join(s, "")
   445  }
   446  func (this *NotifyClientShutdownRequest) GoString() string {
   447  	if this == nil {
   448  		return "nil"
   449  	}
   450  	s := make([]string, 0, 5)
   451  	s = append(s, "&frontendv1pb.NotifyClientShutdownRequest{")
   452  	s = append(s, "ClientID: "+fmt.Sprintf("%#v", this.ClientID)+",\n")
   453  	s = append(s, "}")
   454  	return strings.Join(s, "")
   455  }
   456  func (this *NotifyClientShutdownResponse) GoString() string {
   457  	if this == nil {
   458  		return "nil"
   459  	}
   460  	s := make([]string, 0, 4)
   461  	s = append(s, "&frontendv1pb.NotifyClientShutdownResponse{")
   462  	s = append(s, "}")
   463  	return strings.Join(s, "")
   464  }
   465  func valueToGoStringFrontend(v interface{}, typ string) string {
   466  	rv := reflect.ValueOf(v)
   467  	if rv.IsNil() {
   468  		return "nil"
   469  	}
   470  	pv := reflect.Indirect(rv).Interface()
   471  	return fmt.Sprintf("func(v %v) *%v { return &v } ( %#v )", typ, typ, pv)
   472  }
   473  
   474  // Reference imports to suppress errors if they are not otherwise used.
   475  var _ context.Context
   476  var _ grpc.ClientConn
   477  
   478  // This is a compile-time assertion to ensure that this generated file
   479  // is compatible with the grpc package it is being compiled against.
   480  const _ = grpc.SupportPackageIsVersion4
   481  
   482  // FrontendClient is the client API for Frontend service.
   483  //
   484  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
   485  type FrontendClient interface {
   486  	// After calling this method, client enters a loop, in which it waits for
   487  	// a "FrontendToClient" message and replies with single "ClientToFrontend" message.
   488  	Process(ctx context.Context, opts ...grpc.CallOption) (Frontend_ProcessClient, error)
   489  	// The client notifies the query-frontend that it started a graceful shutdown.
   490  	NotifyClientShutdown(ctx context.Context, in *NotifyClientShutdownRequest, opts ...grpc.CallOption) (*NotifyClientShutdownResponse, error)
   491  }
   492  
   493  type frontendClient struct {
   494  	cc *grpc.ClientConn
   495  }
   496  
   497  func NewFrontendClient(cc *grpc.ClientConn) FrontendClient {
   498  	return &frontendClient{cc}
   499  }
   500  
   501  func (c *frontendClient) Process(ctx context.Context, opts ...grpc.CallOption) (Frontend_ProcessClient, error) {
   502  	stream, err := c.cc.NewStream(ctx, &_Frontend_serviceDesc.Streams[0], "/frontend.Frontend/Process", opts...)
   503  	if err != nil {
   504  		return nil, err
   505  	}
   506  	x := &frontendProcessClient{stream}
   507  	return x, nil
   508  }
   509  
   510  type Frontend_ProcessClient interface {
   511  	Send(*ClientToFrontend) error
   512  	Recv() (*FrontendToClient, error)
   513  	grpc.ClientStream
   514  }
   515  
   516  type frontendProcessClient struct {
   517  	grpc.ClientStream
   518  }
   519  
   520  func (x *frontendProcessClient) Send(m *ClientToFrontend) error {
   521  	return x.ClientStream.SendMsg(m)
   522  }
   523  
   524  func (x *frontendProcessClient) Recv() (*FrontendToClient, error) {
   525  	m := new(FrontendToClient)
   526  	if err := x.ClientStream.RecvMsg(m); err != nil {
   527  		return nil, err
   528  	}
   529  	return m, nil
   530  }
   531  
   532  func (c *frontendClient) NotifyClientShutdown(ctx context.Context, in *NotifyClientShutdownRequest, opts ...grpc.CallOption) (*NotifyClientShutdownResponse, error) {
   533  	out := new(NotifyClientShutdownResponse)
   534  	err := c.cc.Invoke(ctx, "/frontend.Frontend/NotifyClientShutdown", in, out, opts...)
   535  	if err != nil {
   536  		return nil, err
   537  	}
   538  	return out, nil
   539  }
   540  
   541  // FrontendServer is the server API for Frontend service.
   542  type FrontendServer interface {
   543  	// After calling this method, client enters a loop, in which it waits for
   544  	// a "FrontendToClient" message and replies with single "ClientToFrontend" message.
   545  	Process(Frontend_ProcessServer) error
   546  	// The client notifies the query-frontend that it started a graceful shutdown.
   547  	NotifyClientShutdown(context.Context, *NotifyClientShutdownRequest) (*NotifyClientShutdownResponse, error)
   548  }
   549  
   550  // UnimplementedFrontendServer can be embedded to have forward compatible implementations.
   551  type UnimplementedFrontendServer struct {
   552  }
   553  
   554  func (*UnimplementedFrontendServer) Process(srv Frontend_ProcessServer) error {
   555  	return status.Errorf(codes.Unimplemented, "method Process not implemented")
   556  }
   557  func (*UnimplementedFrontendServer) NotifyClientShutdown(ctx context.Context, req *NotifyClientShutdownRequest) (*NotifyClientShutdownResponse, error) {
   558  	return nil, status.Errorf(codes.Unimplemented, "method NotifyClientShutdown not implemented")
   559  }
   560  
   561  func RegisterFrontendServer(s *grpc.Server, srv FrontendServer) {
   562  	s.RegisterService(&_Frontend_serviceDesc, srv)
   563  }
   564  
   565  func _Frontend_Process_Handler(srv interface{}, stream grpc.ServerStream) error {
   566  	return srv.(FrontendServer).Process(&frontendProcessServer{stream})
   567  }
   568  
   569  type Frontend_ProcessServer interface {
   570  	Send(*FrontendToClient) error
   571  	Recv() (*ClientToFrontend, error)
   572  	grpc.ServerStream
   573  }
   574  
   575  type frontendProcessServer struct {
   576  	grpc.ServerStream
   577  }
   578  
   579  func (x *frontendProcessServer) Send(m *FrontendToClient) error {
   580  	return x.ServerStream.SendMsg(m)
   581  }
   582  
   583  func (x *frontendProcessServer) Recv() (*ClientToFrontend, error) {
   584  	m := new(ClientToFrontend)
   585  	if err := x.ServerStream.RecvMsg(m); err != nil {
   586  		return nil, err
   587  	}
   588  	return m, nil
   589  }
   590  
   591  func _Frontend_NotifyClientShutdown_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   592  	in := new(NotifyClientShutdownRequest)
   593  	if err := dec(in); err != nil {
   594  		return nil, err
   595  	}
   596  	if interceptor == nil {
   597  		return srv.(FrontendServer).NotifyClientShutdown(ctx, in)
   598  	}
   599  	info := &grpc.UnaryServerInfo{
   600  		Server:     srv,
   601  		FullMethod: "/frontend.Frontend/NotifyClientShutdown",
   602  	}
   603  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   604  		return srv.(FrontendServer).NotifyClientShutdown(ctx, req.(*NotifyClientShutdownRequest))
   605  	}
   606  	return interceptor(ctx, in, info, handler)
   607  }
   608  
   609  var _Frontend_serviceDesc = grpc.ServiceDesc{
   610  	ServiceName: "frontend.Frontend",
   611  	HandlerType: (*FrontendServer)(nil),
   612  	Methods: []grpc.MethodDesc{
   613  		{
   614  			MethodName: "NotifyClientShutdown",
   615  			Handler:    _Frontend_NotifyClientShutdown_Handler,
   616  		},
   617  	},
   618  	Streams: []grpc.StreamDesc{
   619  		{
   620  			StreamName:    "Process",
   621  			Handler:       _Frontend_Process_Handler,
   622  			ServerStreams: true,
   623  			ClientStreams: true,
   624  		},
   625  	},
   626  	Metadata: "pkg/lokifrontend/frontend/v1/frontendv1pb/frontend.proto",
   627  }
   628  
   629  func (m *FrontendToClient) Marshal() (dAtA []byte, err error) {
   630  	size := m.Size()
   631  	dAtA = make([]byte, size)
   632  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   633  	if err != nil {
   634  		return nil, err
   635  	}
   636  	return dAtA[:n], nil
   637  }
   638  
   639  func (m *FrontendToClient) MarshalTo(dAtA []byte) (int, error) {
   640  	size := m.Size()
   641  	return m.MarshalToSizedBuffer(dAtA[:size])
   642  }
   643  
   644  func (m *FrontendToClient) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   645  	i := len(dAtA)
   646  	_ = i
   647  	var l int
   648  	_ = l
   649  	if m.StatsEnabled {
   650  		i--
   651  		if m.StatsEnabled {
   652  			dAtA[i] = 1
   653  		} else {
   654  			dAtA[i] = 0
   655  		}
   656  		i--
   657  		dAtA[i] = 0x18
   658  	}
   659  	if m.Type != 0 {
   660  		i = encodeVarintFrontend(dAtA, i, uint64(m.Type))
   661  		i--
   662  		dAtA[i] = 0x10
   663  	}
   664  	if m.HttpRequest != nil {
   665  		{
   666  			size, err := m.HttpRequest.MarshalToSizedBuffer(dAtA[:i])
   667  			if err != nil {
   668  				return 0, err
   669  			}
   670  			i -= size
   671  			i = encodeVarintFrontend(dAtA, i, uint64(size))
   672  		}
   673  		i--
   674  		dAtA[i] = 0xa
   675  	}
   676  	return len(dAtA) - i, nil
   677  }
   678  
   679  func (m *ClientToFrontend) Marshal() (dAtA []byte, err error) {
   680  	size := m.Size()
   681  	dAtA = make([]byte, size)
   682  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   683  	if err != nil {
   684  		return nil, err
   685  	}
   686  	return dAtA[:n], nil
   687  }
   688  
   689  func (m *ClientToFrontend) MarshalTo(dAtA []byte) (int, error) {
   690  	size := m.Size()
   691  	return m.MarshalToSizedBuffer(dAtA[:size])
   692  }
   693  
   694  func (m *ClientToFrontend) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   695  	i := len(dAtA)
   696  	_ = i
   697  	var l int
   698  	_ = l
   699  	if m.Stats != nil {
   700  		{
   701  			size, err := m.Stats.MarshalToSizedBuffer(dAtA[:i])
   702  			if err != nil {
   703  				return 0, err
   704  			}
   705  			i -= size
   706  			i = encodeVarintFrontend(dAtA, i, uint64(size))
   707  		}
   708  		i--
   709  		dAtA[i] = 0x1a
   710  	}
   711  	if len(m.ClientID) > 0 {
   712  		i -= len(m.ClientID)
   713  		copy(dAtA[i:], m.ClientID)
   714  		i = encodeVarintFrontend(dAtA, i, uint64(len(m.ClientID)))
   715  		i--
   716  		dAtA[i] = 0x12
   717  	}
   718  	if m.HttpResponse != nil {
   719  		{
   720  			size, err := m.HttpResponse.MarshalToSizedBuffer(dAtA[:i])
   721  			if err != nil {
   722  				return 0, err
   723  			}
   724  			i -= size
   725  			i = encodeVarintFrontend(dAtA, i, uint64(size))
   726  		}
   727  		i--
   728  		dAtA[i] = 0xa
   729  	}
   730  	return len(dAtA) - i, nil
   731  }
   732  
   733  func (m *NotifyClientShutdownRequest) Marshal() (dAtA []byte, err error) {
   734  	size := m.Size()
   735  	dAtA = make([]byte, size)
   736  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   737  	if err != nil {
   738  		return nil, err
   739  	}
   740  	return dAtA[:n], nil
   741  }
   742  
   743  func (m *NotifyClientShutdownRequest) MarshalTo(dAtA []byte) (int, error) {
   744  	size := m.Size()
   745  	return m.MarshalToSizedBuffer(dAtA[:size])
   746  }
   747  
   748  func (m *NotifyClientShutdownRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   749  	i := len(dAtA)
   750  	_ = i
   751  	var l int
   752  	_ = l
   753  	if len(m.ClientID) > 0 {
   754  		i -= len(m.ClientID)
   755  		copy(dAtA[i:], m.ClientID)
   756  		i = encodeVarintFrontend(dAtA, i, uint64(len(m.ClientID)))
   757  		i--
   758  		dAtA[i] = 0xa
   759  	}
   760  	return len(dAtA) - i, nil
   761  }
   762  
   763  func (m *NotifyClientShutdownResponse) Marshal() (dAtA []byte, err error) {
   764  	size := m.Size()
   765  	dAtA = make([]byte, size)
   766  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   767  	if err != nil {
   768  		return nil, err
   769  	}
   770  	return dAtA[:n], nil
   771  }
   772  
   773  func (m *NotifyClientShutdownResponse) MarshalTo(dAtA []byte) (int, error) {
   774  	size := m.Size()
   775  	return m.MarshalToSizedBuffer(dAtA[:size])
   776  }
   777  
   778  func (m *NotifyClientShutdownResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   779  	i := len(dAtA)
   780  	_ = i
   781  	var l int
   782  	_ = l
   783  	return len(dAtA) - i, nil
   784  }
   785  
   786  func encodeVarintFrontend(dAtA []byte, offset int, v uint64) int {
   787  	offset -= sovFrontend(v)
   788  	base := offset
   789  	for v >= 1<<7 {
   790  		dAtA[offset] = uint8(v&0x7f | 0x80)
   791  		v >>= 7
   792  		offset++
   793  	}
   794  	dAtA[offset] = uint8(v)
   795  	return base
   796  }
   797  func (m *FrontendToClient) Size() (n int) {
   798  	if m == nil {
   799  		return 0
   800  	}
   801  	var l int
   802  	_ = l
   803  	if m.HttpRequest != nil {
   804  		l = m.HttpRequest.Size()
   805  		n += 1 + l + sovFrontend(uint64(l))
   806  	}
   807  	if m.Type != 0 {
   808  		n += 1 + sovFrontend(uint64(m.Type))
   809  	}
   810  	if m.StatsEnabled {
   811  		n += 2
   812  	}
   813  	return n
   814  }
   815  
   816  func (m *ClientToFrontend) Size() (n int) {
   817  	if m == nil {
   818  		return 0
   819  	}
   820  	var l int
   821  	_ = l
   822  	if m.HttpResponse != nil {
   823  		l = m.HttpResponse.Size()
   824  		n += 1 + l + sovFrontend(uint64(l))
   825  	}
   826  	l = len(m.ClientID)
   827  	if l > 0 {
   828  		n += 1 + l + sovFrontend(uint64(l))
   829  	}
   830  	if m.Stats != nil {
   831  		l = m.Stats.Size()
   832  		n += 1 + l + sovFrontend(uint64(l))
   833  	}
   834  	return n
   835  }
   836  
   837  func (m *NotifyClientShutdownRequest) Size() (n int) {
   838  	if m == nil {
   839  		return 0
   840  	}
   841  	var l int
   842  	_ = l
   843  	l = len(m.ClientID)
   844  	if l > 0 {
   845  		n += 1 + l + sovFrontend(uint64(l))
   846  	}
   847  	return n
   848  }
   849  
   850  func (m *NotifyClientShutdownResponse) Size() (n int) {
   851  	if m == nil {
   852  		return 0
   853  	}
   854  	var l int
   855  	_ = l
   856  	return n
   857  }
   858  
   859  func sovFrontend(x uint64) (n int) {
   860  	return (math_bits.Len64(x|1) + 6) / 7
   861  }
   862  func sozFrontend(x uint64) (n int) {
   863  	return sovFrontend(uint64((x << 1) ^ uint64((int64(x) >> 63))))
   864  }
   865  func (this *FrontendToClient) String() string {
   866  	if this == nil {
   867  		return "nil"
   868  	}
   869  	s := strings.Join([]string{`&FrontendToClient{`,
   870  		`HttpRequest:` + strings.Replace(fmt.Sprintf("%v", this.HttpRequest), "HTTPRequest", "httpgrpc.HTTPRequest", 1) + `,`,
   871  		`Type:` + fmt.Sprintf("%v", this.Type) + `,`,
   872  		`StatsEnabled:` + fmt.Sprintf("%v", this.StatsEnabled) + `,`,
   873  		`}`,
   874  	}, "")
   875  	return s
   876  }
   877  func (this *ClientToFrontend) String() string {
   878  	if this == nil {
   879  		return "nil"
   880  	}
   881  	s := strings.Join([]string{`&ClientToFrontend{`,
   882  		`HttpResponse:` + strings.Replace(fmt.Sprintf("%v", this.HttpResponse), "HTTPResponse", "httpgrpc.HTTPResponse", 1) + `,`,
   883  		`ClientID:` + fmt.Sprintf("%v", this.ClientID) + `,`,
   884  		`Stats:` + strings.Replace(fmt.Sprintf("%v", this.Stats), "Stats", "stats.Stats", 1) + `,`,
   885  		`}`,
   886  	}, "")
   887  	return s
   888  }
   889  func (this *NotifyClientShutdownRequest) String() string {
   890  	if this == nil {
   891  		return "nil"
   892  	}
   893  	s := strings.Join([]string{`&NotifyClientShutdownRequest{`,
   894  		`ClientID:` + fmt.Sprintf("%v", this.ClientID) + `,`,
   895  		`}`,
   896  	}, "")
   897  	return s
   898  }
   899  func (this *NotifyClientShutdownResponse) String() string {
   900  	if this == nil {
   901  		return "nil"
   902  	}
   903  	s := strings.Join([]string{`&NotifyClientShutdownResponse{`,
   904  		`}`,
   905  	}, "")
   906  	return s
   907  }
   908  func valueToStringFrontend(v interface{}) string {
   909  	rv := reflect.ValueOf(v)
   910  	if rv.IsNil() {
   911  		return "nil"
   912  	}
   913  	pv := reflect.Indirect(rv).Interface()
   914  	return fmt.Sprintf("*%v", pv)
   915  }
   916  func (m *FrontendToClient) Unmarshal(dAtA []byte) error {
   917  	l := len(dAtA)
   918  	iNdEx := 0
   919  	for iNdEx < l {
   920  		preIndex := iNdEx
   921  		var wire uint64
   922  		for shift := uint(0); ; shift += 7 {
   923  			if shift >= 64 {
   924  				return ErrIntOverflowFrontend
   925  			}
   926  			if iNdEx >= l {
   927  				return io.ErrUnexpectedEOF
   928  			}
   929  			b := dAtA[iNdEx]
   930  			iNdEx++
   931  			wire |= uint64(b&0x7F) << shift
   932  			if b < 0x80 {
   933  				break
   934  			}
   935  		}
   936  		fieldNum := int32(wire >> 3)
   937  		wireType := int(wire & 0x7)
   938  		if wireType == 4 {
   939  			return fmt.Errorf("proto: FrontendToClient: wiretype end group for non-group")
   940  		}
   941  		if fieldNum <= 0 {
   942  			return fmt.Errorf("proto: FrontendToClient: illegal tag %d (wire type %d)", fieldNum, wire)
   943  		}
   944  		switch fieldNum {
   945  		case 1:
   946  			if wireType != 2 {
   947  				return fmt.Errorf("proto: wrong wireType = %d for field HttpRequest", wireType)
   948  			}
   949  			var msglen int
   950  			for shift := uint(0); ; shift += 7 {
   951  				if shift >= 64 {
   952  					return ErrIntOverflowFrontend
   953  				}
   954  				if iNdEx >= l {
   955  					return io.ErrUnexpectedEOF
   956  				}
   957  				b := dAtA[iNdEx]
   958  				iNdEx++
   959  				msglen |= int(b&0x7F) << shift
   960  				if b < 0x80 {
   961  					break
   962  				}
   963  			}
   964  			if msglen < 0 {
   965  				return ErrInvalidLengthFrontend
   966  			}
   967  			postIndex := iNdEx + msglen
   968  			if postIndex < 0 {
   969  				return ErrInvalidLengthFrontend
   970  			}
   971  			if postIndex > l {
   972  				return io.ErrUnexpectedEOF
   973  			}
   974  			if m.HttpRequest == nil {
   975  				m.HttpRequest = &httpgrpc.HTTPRequest{}
   976  			}
   977  			if err := m.HttpRequest.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
   978  				return err
   979  			}
   980  			iNdEx = postIndex
   981  		case 2:
   982  			if wireType != 0 {
   983  				return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
   984  			}
   985  			m.Type = 0
   986  			for shift := uint(0); ; shift += 7 {
   987  				if shift >= 64 {
   988  					return ErrIntOverflowFrontend
   989  				}
   990  				if iNdEx >= l {
   991  					return io.ErrUnexpectedEOF
   992  				}
   993  				b := dAtA[iNdEx]
   994  				iNdEx++
   995  				m.Type |= Type(b&0x7F) << shift
   996  				if b < 0x80 {
   997  					break
   998  				}
   999  			}
  1000  		case 3:
  1001  			if wireType != 0 {
  1002  				return fmt.Errorf("proto: wrong wireType = %d for field StatsEnabled", wireType)
  1003  			}
  1004  			var v int
  1005  			for shift := uint(0); ; shift += 7 {
  1006  				if shift >= 64 {
  1007  					return ErrIntOverflowFrontend
  1008  				}
  1009  				if iNdEx >= l {
  1010  					return io.ErrUnexpectedEOF
  1011  				}
  1012  				b := dAtA[iNdEx]
  1013  				iNdEx++
  1014  				v |= int(b&0x7F) << shift
  1015  				if b < 0x80 {
  1016  					break
  1017  				}
  1018  			}
  1019  			m.StatsEnabled = bool(v != 0)
  1020  		default:
  1021  			iNdEx = preIndex
  1022  			skippy, err := skipFrontend(dAtA[iNdEx:])
  1023  			if err != nil {
  1024  				return err
  1025  			}
  1026  			if skippy < 0 {
  1027  				return ErrInvalidLengthFrontend
  1028  			}
  1029  			if (iNdEx + skippy) < 0 {
  1030  				return ErrInvalidLengthFrontend
  1031  			}
  1032  			if (iNdEx + skippy) > l {
  1033  				return io.ErrUnexpectedEOF
  1034  			}
  1035  			iNdEx += skippy
  1036  		}
  1037  	}
  1038  
  1039  	if iNdEx > l {
  1040  		return io.ErrUnexpectedEOF
  1041  	}
  1042  	return nil
  1043  }
  1044  func (m *ClientToFrontend) Unmarshal(dAtA []byte) error {
  1045  	l := len(dAtA)
  1046  	iNdEx := 0
  1047  	for iNdEx < l {
  1048  		preIndex := iNdEx
  1049  		var wire uint64
  1050  		for shift := uint(0); ; shift += 7 {
  1051  			if shift >= 64 {
  1052  				return ErrIntOverflowFrontend
  1053  			}
  1054  			if iNdEx >= l {
  1055  				return io.ErrUnexpectedEOF
  1056  			}
  1057  			b := dAtA[iNdEx]
  1058  			iNdEx++
  1059  			wire |= uint64(b&0x7F) << shift
  1060  			if b < 0x80 {
  1061  				break
  1062  			}
  1063  		}
  1064  		fieldNum := int32(wire >> 3)
  1065  		wireType := int(wire & 0x7)
  1066  		if wireType == 4 {
  1067  			return fmt.Errorf("proto: ClientToFrontend: wiretype end group for non-group")
  1068  		}
  1069  		if fieldNum <= 0 {
  1070  			return fmt.Errorf("proto: ClientToFrontend: illegal tag %d (wire type %d)", fieldNum, wire)
  1071  		}
  1072  		switch fieldNum {
  1073  		case 1:
  1074  			if wireType != 2 {
  1075  				return fmt.Errorf("proto: wrong wireType = %d for field HttpResponse", wireType)
  1076  			}
  1077  			var msglen int
  1078  			for shift := uint(0); ; shift += 7 {
  1079  				if shift >= 64 {
  1080  					return ErrIntOverflowFrontend
  1081  				}
  1082  				if iNdEx >= l {
  1083  					return io.ErrUnexpectedEOF
  1084  				}
  1085  				b := dAtA[iNdEx]
  1086  				iNdEx++
  1087  				msglen |= int(b&0x7F) << shift
  1088  				if b < 0x80 {
  1089  					break
  1090  				}
  1091  			}
  1092  			if msglen < 0 {
  1093  				return ErrInvalidLengthFrontend
  1094  			}
  1095  			postIndex := iNdEx + msglen
  1096  			if postIndex < 0 {
  1097  				return ErrInvalidLengthFrontend
  1098  			}
  1099  			if postIndex > l {
  1100  				return io.ErrUnexpectedEOF
  1101  			}
  1102  			if m.HttpResponse == nil {
  1103  				m.HttpResponse = &httpgrpc.HTTPResponse{}
  1104  			}
  1105  			if err := m.HttpResponse.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1106  				return err
  1107  			}
  1108  			iNdEx = postIndex
  1109  		case 2:
  1110  			if wireType != 2 {
  1111  				return fmt.Errorf("proto: wrong wireType = %d for field ClientID", wireType)
  1112  			}
  1113  			var stringLen uint64
  1114  			for shift := uint(0); ; shift += 7 {
  1115  				if shift >= 64 {
  1116  					return ErrIntOverflowFrontend
  1117  				}
  1118  				if iNdEx >= l {
  1119  					return io.ErrUnexpectedEOF
  1120  				}
  1121  				b := dAtA[iNdEx]
  1122  				iNdEx++
  1123  				stringLen |= uint64(b&0x7F) << shift
  1124  				if b < 0x80 {
  1125  					break
  1126  				}
  1127  			}
  1128  			intStringLen := int(stringLen)
  1129  			if intStringLen < 0 {
  1130  				return ErrInvalidLengthFrontend
  1131  			}
  1132  			postIndex := iNdEx + intStringLen
  1133  			if postIndex < 0 {
  1134  				return ErrInvalidLengthFrontend
  1135  			}
  1136  			if postIndex > l {
  1137  				return io.ErrUnexpectedEOF
  1138  			}
  1139  			m.ClientID = string(dAtA[iNdEx:postIndex])
  1140  			iNdEx = postIndex
  1141  		case 3:
  1142  			if wireType != 2 {
  1143  				return fmt.Errorf("proto: wrong wireType = %d for field Stats", wireType)
  1144  			}
  1145  			var msglen int
  1146  			for shift := uint(0); ; shift += 7 {
  1147  				if shift >= 64 {
  1148  					return ErrIntOverflowFrontend
  1149  				}
  1150  				if iNdEx >= l {
  1151  					return io.ErrUnexpectedEOF
  1152  				}
  1153  				b := dAtA[iNdEx]
  1154  				iNdEx++
  1155  				msglen |= int(b&0x7F) << shift
  1156  				if b < 0x80 {
  1157  					break
  1158  				}
  1159  			}
  1160  			if msglen < 0 {
  1161  				return ErrInvalidLengthFrontend
  1162  			}
  1163  			postIndex := iNdEx + msglen
  1164  			if postIndex < 0 {
  1165  				return ErrInvalidLengthFrontend
  1166  			}
  1167  			if postIndex > l {
  1168  				return io.ErrUnexpectedEOF
  1169  			}
  1170  			if m.Stats == nil {
  1171  				m.Stats = &stats.Stats{}
  1172  			}
  1173  			if err := m.Stats.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1174  				return err
  1175  			}
  1176  			iNdEx = postIndex
  1177  		default:
  1178  			iNdEx = preIndex
  1179  			skippy, err := skipFrontend(dAtA[iNdEx:])
  1180  			if err != nil {
  1181  				return err
  1182  			}
  1183  			if skippy < 0 {
  1184  				return ErrInvalidLengthFrontend
  1185  			}
  1186  			if (iNdEx + skippy) < 0 {
  1187  				return ErrInvalidLengthFrontend
  1188  			}
  1189  			if (iNdEx + skippy) > l {
  1190  				return io.ErrUnexpectedEOF
  1191  			}
  1192  			iNdEx += skippy
  1193  		}
  1194  	}
  1195  
  1196  	if iNdEx > l {
  1197  		return io.ErrUnexpectedEOF
  1198  	}
  1199  	return nil
  1200  }
  1201  func (m *NotifyClientShutdownRequest) Unmarshal(dAtA []byte) error {
  1202  	l := len(dAtA)
  1203  	iNdEx := 0
  1204  	for iNdEx < l {
  1205  		preIndex := iNdEx
  1206  		var wire uint64
  1207  		for shift := uint(0); ; shift += 7 {
  1208  			if shift >= 64 {
  1209  				return ErrIntOverflowFrontend
  1210  			}
  1211  			if iNdEx >= l {
  1212  				return io.ErrUnexpectedEOF
  1213  			}
  1214  			b := dAtA[iNdEx]
  1215  			iNdEx++
  1216  			wire |= uint64(b&0x7F) << shift
  1217  			if b < 0x80 {
  1218  				break
  1219  			}
  1220  		}
  1221  		fieldNum := int32(wire >> 3)
  1222  		wireType := int(wire & 0x7)
  1223  		if wireType == 4 {
  1224  			return fmt.Errorf("proto: NotifyClientShutdownRequest: wiretype end group for non-group")
  1225  		}
  1226  		if fieldNum <= 0 {
  1227  			return fmt.Errorf("proto: NotifyClientShutdownRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  1228  		}
  1229  		switch fieldNum {
  1230  		case 1:
  1231  			if wireType != 2 {
  1232  				return fmt.Errorf("proto: wrong wireType = %d for field ClientID", wireType)
  1233  			}
  1234  			var stringLen uint64
  1235  			for shift := uint(0); ; shift += 7 {
  1236  				if shift >= 64 {
  1237  					return ErrIntOverflowFrontend
  1238  				}
  1239  				if iNdEx >= l {
  1240  					return io.ErrUnexpectedEOF
  1241  				}
  1242  				b := dAtA[iNdEx]
  1243  				iNdEx++
  1244  				stringLen |= uint64(b&0x7F) << shift
  1245  				if b < 0x80 {
  1246  					break
  1247  				}
  1248  			}
  1249  			intStringLen := int(stringLen)
  1250  			if intStringLen < 0 {
  1251  				return ErrInvalidLengthFrontend
  1252  			}
  1253  			postIndex := iNdEx + intStringLen
  1254  			if postIndex < 0 {
  1255  				return ErrInvalidLengthFrontend
  1256  			}
  1257  			if postIndex > l {
  1258  				return io.ErrUnexpectedEOF
  1259  			}
  1260  			m.ClientID = string(dAtA[iNdEx:postIndex])
  1261  			iNdEx = postIndex
  1262  		default:
  1263  			iNdEx = preIndex
  1264  			skippy, err := skipFrontend(dAtA[iNdEx:])
  1265  			if err != nil {
  1266  				return err
  1267  			}
  1268  			if skippy < 0 {
  1269  				return ErrInvalidLengthFrontend
  1270  			}
  1271  			if (iNdEx + skippy) < 0 {
  1272  				return ErrInvalidLengthFrontend
  1273  			}
  1274  			if (iNdEx + skippy) > l {
  1275  				return io.ErrUnexpectedEOF
  1276  			}
  1277  			iNdEx += skippy
  1278  		}
  1279  	}
  1280  
  1281  	if iNdEx > l {
  1282  		return io.ErrUnexpectedEOF
  1283  	}
  1284  	return nil
  1285  }
  1286  func (m *NotifyClientShutdownResponse) Unmarshal(dAtA []byte) error {
  1287  	l := len(dAtA)
  1288  	iNdEx := 0
  1289  	for iNdEx < l {
  1290  		preIndex := iNdEx
  1291  		var wire uint64
  1292  		for shift := uint(0); ; shift += 7 {
  1293  			if shift >= 64 {
  1294  				return ErrIntOverflowFrontend
  1295  			}
  1296  			if iNdEx >= l {
  1297  				return io.ErrUnexpectedEOF
  1298  			}
  1299  			b := dAtA[iNdEx]
  1300  			iNdEx++
  1301  			wire |= uint64(b&0x7F) << shift
  1302  			if b < 0x80 {
  1303  				break
  1304  			}
  1305  		}
  1306  		fieldNum := int32(wire >> 3)
  1307  		wireType := int(wire & 0x7)
  1308  		if wireType == 4 {
  1309  			return fmt.Errorf("proto: NotifyClientShutdownResponse: wiretype end group for non-group")
  1310  		}
  1311  		if fieldNum <= 0 {
  1312  			return fmt.Errorf("proto: NotifyClientShutdownResponse: illegal tag %d (wire type %d)", fieldNum, wire)
  1313  		}
  1314  		switch fieldNum {
  1315  		default:
  1316  			iNdEx = preIndex
  1317  			skippy, err := skipFrontend(dAtA[iNdEx:])
  1318  			if err != nil {
  1319  				return err
  1320  			}
  1321  			if skippy < 0 {
  1322  				return ErrInvalidLengthFrontend
  1323  			}
  1324  			if (iNdEx + skippy) < 0 {
  1325  				return ErrInvalidLengthFrontend
  1326  			}
  1327  			if (iNdEx + skippy) > l {
  1328  				return io.ErrUnexpectedEOF
  1329  			}
  1330  			iNdEx += skippy
  1331  		}
  1332  	}
  1333  
  1334  	if iNdEx > l {
  1335  		return io.ErrUnexpectedEOF
  1336  	}
  1337  	return nil
  1338  }
  1339  func skipFrontend(dAtA []byte) (n int, err error) {
  1340  	l := len(dAtA)
  1341  	iNdEx := 0
  1342  	for iNdEx < l {
  1343  		var wire uint64
  1344  		for shift := uint(0); ; shift += 7 {
  1345  			if shift >= 64 {
  1346  				return 0, ErrIntOverflowFrontend
  1347  			}
  1348  			if iNdEx >= l {
  1349  				return 0, io.ErrUnexpectedEOF
  1350  			}
  1351  			b := dAtA[iNdEx]
  1352  			iNdEx++
  1353  			wire |= (uint64(b) & 0x7F) << shift
  1354  			if b < 0x80 {
  1355  				break
  1356  			}
  1357  		}
  1358  		wireType := int(wire & 0x7)
  1359  		switch wireType {
  1360  		case 0:
  1361  			for shift := uint(0); ; shift += 7 {
  1362  				if shift >= 64 {
  1363  					return 0, ErrIntOverflowFrontend
  1364  				}
  1365  				if iNdEx >= l {
  1366  					return 0, io.ErrUnexpectedEOF
  1367  				}
  1368  				iNdEx++
  1369  				if dAtA[iNdEx-1] < 0x80 {
  1370  					break
  1371  				}
  1372  			}
  1373  			return iNdEx, nil
  1374  		case 1:
  1375  			iNdEx += 8
  1376  			return iNdEx, nil
  1377  		case 2:
  1378  			var length int
  1379  			for shift := uint(0); ; shift += 7 {
  1380  				if shift >= 64 {
  1381  					return 0, ErrIntOverflowFrontend
  1382  				}
  1383  				if iNdEx >= l {
  1384  					return 0, io.ErrUnexpectedEOF
  1385  				}
  1386  				b := dAtA[iNdEx]
  1387  				iNdEx++
  1388  				length |= (int(b) & 0x7F) << shift
  1389  				if b < 0x80 {
  1390  					break
  1391  				}
  1392  			}
  1393  			if length < 0 {
  1394  				return 0, ErrInvalidLengthFrontend
  1395  			}
  1396  			iNdEx += length
  1397  			if iNdEx < 0 {
  1398  				return 0, ErrInvalidLengthFrontend
  1399  			}
  1400  			return iNdEx, nil
  1401  		case 3:
  1402  			for {
  1403  				var innerWire uint64
  1404  				var start int = iNdEx
  1405  				for shift := uint(0); ; shift += 7 {
  1406  					if shift >= 64 {
  1407  						return 0, ErrIntOverflowFrontend
  1408  					}
  1409  					if iNdEx >= l {
  1410  						return 0, io.ErrUnexpectedEOF
  1411  					}
  1412  					b := dAtA[iNdEx]
  1413  					iNdEx++
  1414  					innerWire |= (uint64(b) & 0x7F) << shift
  1415  					if b < 0x80 {
  1416  						break
  1417  					}
  1418  				}
  1419  				innerWireType := int(innerWire & 0x7)
  1420  				if innerWireType == 4 {
  1421  					break
  1422  				}
  1423  				next, err := skipFrontend(dAtA[start:])
  1424  				if err != nil {
  1425  					return 0, err
  1426  				}
  1427  				iNdEx = start + next
  1428  				if iNdEx < 0 {
  1429  					return 0, ErrInvalidLengthFrontend
  1430  				}
  1431  			}
  1432  			return iNdEx, nil
  1433  		case 4:
  1434  			return iNdEx, nil
  1435  		case 5:
  1436  			iNdEx += 4
  1437  			return iNdEx, nil
  1438  		default:
  1439  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  1440  		}
  1441  	}
  1442  	panic("unreachable")
  1443  }
  1444  
  1445  var (
  1446  	ErrInvalidLengthFrontend = fmt.Errorf("proto: negative length found during unmarshaling")
  1447  	ErrIntOverflowFrontend   = fmt.Errorf("proto: integer overflow")
  1448  )