github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/blobs/blobspb/blobs.pb.go (about)

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: blobs/blobspb/blobs.proto
     3  
     4  package blobspb
     5  
     6  import proto "github.com/gogo/protobuf/proto"
     7  import fmt "fmt"
     8  import math "math"
     9  
    10  import (
    11  	context "context"
    12  	grpc "google.golang.org/grpc"
    13  )
    14  
    15  import io "io"
    16  
    17  // Reference imports to suppress errors if they are not otherwise used.
    18  var _ = proto.Marshal
    19  var _ = fmt.Errorf
    20  var _ = math.Inf
    21  
    22  // This is a compile-time assertion to ensure that this generated file
    23  // is compatible with the proto package it is being compiled against.
    24  // A compilation error at this line likely means your copy of the
    25  // proto package needs to be updated.
    26  const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
    27  
    28  // GetRequest is used to read a file from a remote node.
    29  // It's path is specified by `filename`, which can either
    30  // be a relative path from the base of external IO dir, or
    31  // an absolute path, which must be contained in external IO dir.
    32  type GetRequest struct {
    33  	Filename string `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"`
    34  }
    35  
    36  func (m *GetRequest) Reset()         { *m = GetRequest{} }
    37  func (m *GetRequest) String() string { return proto.CompactTextString(m) }
    38  func (*GetRequest) ProtoMessage()    {}
    39  func (*GetRequest) Descriptor() ([]byte, []int) {
    40  	return fileDescriptor_blobs_cee2a8f681c337ac, []int{0}
    41  }
    42  func (m *GetRequest) XXX_Unmarshal(b []byte) error {
    43  	return m.Unmarshal(b)
    44  }
    45  func (m *GetRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    46  	b = b[:cap(b)]
    47  	n, err := m.MarshalTo(b)
    48  	if err != nil {
    49  		return nil, err
    50  	}
    51  	return b[:n], nil
    52  }
    53  func (dst *GetRequest) XXX_Merge(src proto.Message) {
    54  	xxx_messageInfo_GetRequest.Merge(dst, src)
    55  }
    56  func (m *GetRequest) XXX_Size() int {
    57  	return m.Size()
    58  }
    59  func (m *GetRequest) XXX_DiscardUnknown() {
    60  	xxx_messageInfo_GetRequest.DiscardUnknown(m)
    61  }
    62  
    63  var xxx_messageInfo_GetRequest proto.InternalMessageInfo
    64  
    65  // GetResponse returns contents of the file requested by GetRequest.
    66  type GetResponse struct {
    67  	Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
    68  }
    69  
    70  func (m *GetResponse) Reset()         { *m = GetResponse{} }
    71  func (m *GetResponse) String() string { return proto.CompactTextString(m) }
    72  func (*GetResponse) ProtoMessage()    {}
    73  func (*GetResponse) Descriptor() ([]byte, []int) {
    74  	return fileDescriptor_blobs_cee2a8f681c337ac, []int{1}
    75  }
    76  func (m *GetResponse) XXX_Unmarshal(b []byte) error {
    77  	return m.Unmarshal(b)
    78  }
    79  func (m *GetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    80  	b = b[:cap(b)]
    81  	n, err := m.MarshalTo(b)
    82  	if err != nil {
    83  		return nil, err
    84  	}
    85  	return b[:n], nil
    86  }
    87  func (dst *GetResponse) XXX_Merge(src proto.Message) {
    88  	xxx_messageInfo_GetResponse.Merge(dst, src)
    89  }
    90  func (m *GetResponse) XXX_Size() int {
    91  	return m.Size()
    92  }
    93  func (m *GetResponse) XXX_DiscardUnknown() {
    94  	xxx_messageInfo_GetResponse.DiscardUnknown(m)
    95  }
    96  
    97  var xxx_messageInfo_GetResponse proto.InternalMessageInfo
    98  
    99  // PutRequest is used to write a payload to a remote node.
   100  // It's path is specified by `filename`, as described in GetRequest.
   101  type PutRequest struct {
   102  	Filename string `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"`
   103  	Payload  []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
   104  }
   105  
   106  func (m *PutRequest) Reset()         { *m = PutRequest{} }
   107  func (m *PutRequest) String() string { return proto.CompactTextString(m) }
   108  func (*PutRequest) ProtoMessage()    {}
   109  func (*PutRequest) Descriptor() ([]byte, []int) {
   110  	return fileDescriptor_blobs_cee2a8f681c337ac, []int{2}
   111  }
   112  func (m *PutRequest) XXX_Unmarshal(b []byte) error {
   113  	return m.Unmarshal(b)
   114  }
   115  func (m *PutRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   116  	b = b[:cap(b)]
   117  	n, err := m.MarshalTo(b)
   118  	if err != nil {
   119  		return nil, err
   120  	}
   121  	return b[:n], nil
   122  }
   123  func (dst *PutRequest) XXX_Merge(src proto.Message) {
   124  	xxx_messageInfo_PutRequest.Merge(dst, src)
   125  }
   126  func (m *PutRequest) XXX_Size() int {
   127  	return m.Size()
   128  }
   129  func (m *PutRequest) XXX_DiscardUnknown() {
   130  	xxx_messageInfo_PutRequest.DiscardUnknown(m)
   131  }
   132  
   133  var xxx_messageInfo_PutRequest proto.InternalMessageInfo
   134  
   135  // PutResponse is returned once a file has successfully been written by a PutRequest.
   136  type PutResponse struct {
   137  }
   138  
   139  func (m *PutResponse) Reset()         { *m = PutResponse{} }
   140  func (m *PutResponse) String() string { return proto.CompactTextString(m) }
   141  func (*PutResponse) ProtoMessage()    {}
   142  func (*PutResponse) Descriptor() ([]byte, []int) {
   143  	return fileDescriptor_blobs_cee2a8f681c337ac, []int{3}
   144  }
   145  func (m *PutResponse) XXX_Unmarshal(b []byte) error {
   146  	return m.Unmarshal(b)
   147  }
   148  func (m *PutResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   149  	b = b[:cap(b)]
   150  	n, err := m.MarshalTo(b)
   151  	if err != nil {
   152  		return nil, err
   153  	}
   154  	return b[:n], nil
   155  }
   156  func (dst *PutResponse) XXX_Merge(src proto.Message) {
   157  	xxx_messageInfo_PutResponse.Merge(dst, src)
   158  }
   159  func (m *PutResponse) XXX_Size() int {
   160  	return m.Size()
   161  }
   162  func (m *PutResponse) XXX_DiscardUnknown() {
   163  	xxx_messageInfo_PutResponse.DiscardUnknown(m)
   164  }
   165  
   166  var xxx_messageInfo_PutResponse proto.InternalMessageInfo
   167  
   168  // GlobRequest is used to list all files that match the glob pattern on a given node.
   169  type GlobRequest struct {
   170  	Pattern string `protobuf:"bytes,1,opt,name=pattern,proto3" json:"pattern,omitempty"`
   171  }
   172  
   173  func (m *GlobRequest) Reset()         { *m = GlobRequest{} }
   174  func (m *GlobRequest) String() string { return proto.CompactTextString(m) }
   175  func (*GlobRequest) ProtoMessage()    {}
   176  func (*GlobRequest) Descriptor() ([]byte, []int) {
   177  	return fileDescriptor_blobs_cee2a8f681c337ac, []int{4}
   178  }
   179  func (m *GlobRequest) XXX_Unmarshal(b []byte) error {
   180  	return m.Unmarshal(b)
   181  }
   182  func (m *GlobRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   183  	b = b[:cap(b)]
   184  	n, err := m.MarshalTo(b)
   185  	if err != nil {
   186  		return nil, err
   187  	}
   188  	return b[:n], nil
   189  }
   190  func (dst *GlobRequest) XXX_Merge(src proto.Message) {
   191  	xxx_messageInfo_GlobRequest.Merge(dst, src)
   192  }
   193  func (m *GlobRequest) XXX_Size() int {
   194  	return m.Size()
   195  }
   196  func (m *GlobRequest) XXX_DiscardUnknown() {
   197  	xxx_messageInfo_GlobRequest.DiscardUnknown(m)
   198  }
   199  
   200  var xxx_messageInfo_GlobRequest proto.InternalMessageInfo
   201  
   202  // GlobResponse responds with the list of files that matched the given pattern.
   203  type GlobResponse struct {
   204  	Files []string `protobuf:"bytes,1,rep,name=files,proto3" json:"files,omitempty"`
   205  }
   206  
   207  func (m *GlobResponse) Reset()         { *m = GlobResponse{} }
   208  func (m *GlobResponse) String() string { return proto.CompactTextString(m) }
   209  func (*GlobResponse) ProtoMessage()    {}
   210  func (*GlobResponse) Descriptor() ([]byte, []int) {
   211  	return fileDescriptor_blobs_cee2a8f681c337ac, []int{5}
   212  }
   213  func (m *GlobResponse) XXX_Unmarshal(b []byte) error {
   214  	return m.Unmarshal(b)
   215  }
   216  func (m *GlobResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   217  	b = b[:cap(b)]
   218  	n, err := m.MarshalTo(b)
   219  	if err != nil {
   220  		return nil, err
   221  	}
   222  	return b[:n], nil
   223  }
   224  func (dst *GlobResponse) XXX_Merge(src proto.Message) {
   225  	xxx_messageInfo_GlobResponse.Merge(dst, src)
   226  }
   227  func (m *GlobResponse) XXX_Size() int {
   228  	return m.Size()
   229  }
   230  func (m *GlobResponse) XXX_DiscardUnknown() {
   231  	xxx_messageInfo_GlobResponse.DiscardUnknown(m)
   232  }
   233  
   234  var xxx_messageInfo_GlobResponse proto.InternalMessageInfo
   235  
   236  // DeleteRequest is used to delete a file or empty directory on a remote node.
   237  // It's path is specified by `filename`, as described in GetRequest.
   238  type DeleteRequest struct {
   239  	Filename string `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"`
   240  }
   241  
   242  func (m *DeleteRequest) Reset()         { *m = DeleteRequest{} }
   243  func (m *DeleteRequest) String() string { return proto.CompactTextString(m) }
   244  func (*DeleteRequest) ProtoMessage()    {}
   245  func (*DeleteRequest) Descriptor() ([]byte, []int) {
   246  	return fileDescriptor_blobs_cee2a8f681c337ac, []int{6}
   247  }
   248  func (m *DeleteRequest) XXX_Unmarshal(b []byte) error {
   249  	return m.Unmarshal(b)
   250  }
   251  func (m *DeleteRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   252  	b = b[:cap(b)]
   253  	n, err := m.MarshalTo(b)
   254  	if err != nil {
   255  		return nil, err
   256  	}
   257  	return b[:n], nil
   258  }
   259  func (dst *DeleteRequest) XXX_Merge(src proto.Message) {
   260  	xxx_messageInfo_DeleteRequest.Merge(dst, src)
   261  }
   262  func (m *DeleteRequest) XXX_Size() int {
   263  	return m.Size()
   264  }
   265  func (m *DeleteRequest) XXX_DiscardUnknown() {
   266  	xxx_messageInfo_DeleteRequest.DiscardUnknown(m)
   267  }
   268  
   269  var xxx_messageInfo_DeleteRequest proto.InternalMessageInfo
   270  
   271  // DeleteResponse is returned once a file has been successfully deleted by DeleteRequest.
   272  type DeleteResponse struct {
   273  }
   274  
   275  func (m *DeleteResponse) Reset()         { *m = DeleteResponse{} }
   276  func (m *DeleteResponse) String() string { return proto.CompactTextString(m) }
   277  func (*DeleteResponse) ProtoMessage()    {}
   278  func (*DeleteResponse) Descriptor() ([]byte, []int) {
   279  	return fileDescriptor_blobs_cee2a8f681c337ac, []int{7}
   280  }
   281  func (m *DeleteResponse) XXX_Unmarshal(b []byte) error {
   282  	return m.Unmarshal(b)
   283  }
   284  func (m *DeleteResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   285  	b = b[:cap(b)]
   286  	n, err := m.MarshalTo(b)
   287  	if err != nil {
   288  		return nil, err
   289  	}
   290  	return b[:n], nil
   291  }
   292  func (dst *DeleteResponse) XXX_Merge(src proto.Message) {
   293  	xxx_messageInfo_DeleteResponse.Merge(dst, src)
   294  }
   295  func (m *DeleteResponse) XXX_Size() int {
   296  	return m.Size()
   297  }
   298  func (m *DeleteResponse) XXX_DiscardUnknown() {
   299  	xxx_messageInfo_DeleteResponse.DiscardUnknown(m)
   300  }
   301  
   302  var xxx_messageInfo_DeleteResponse proto.InternalMessageInfo
   303  
   304  // StatRequest is used to get the file size of a file.
   305  // It's path is specified by `filename`, as described in GetRequest.
   306  type StatRequest struct {
   307  	Filename string `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"`
   308  }
   309  
   310  func (m *StatRequest) Reset()         { *m = StatRequest{} }
   311  func (m *StatRequest) String() string { return proto.CompactTextString(m) }
   312  func (*StatRequest) ProtoMessage()    {}
   313  func (*StatRequest) Descriptor() ([]byte, []int) {
   314  	return fileDescriptor_blobs_cee2a8f681c337ac, []int{8}
   315  }
   316  func (m *StatRequest) XXX_Unmarshal(b []byte) error {
   317  	return m.Unmarshal(b)
   318  }
   319  func (m *StatRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   320  	b = b[:cap(b)]
   321  	n, err := m.MarshalTo(b)
   322  	if err != nil {
   323  		return nil, err
   324  	}
   325  	return b[:n], nil
   326  }
   327  func (dst *StatRequest) XXX_Merge(src proto.Message) {
   328  	xxx_messageInfo_StatRequest.Merge(dst, src)
   329  }
   330  func (m *StatRequest) XXX_Size() int {
   331  	return m.Size()
   332  }
   333  func (m *StatRequest) XXX_DiscardUnknown() {
   334  	xxx_messageInfo_StatRequest.DiscardUnknown(m)
   335  }
   336  
   337  var xxx_messageInfo_StatRequest proto.InternalMessageInfo
   338  
   339  // BlobStat returns the file size of the file requested in StatRequest.
   340  type BlobStat struct {
   341  	Filesize int64 `protobuf:"varint,1,opt,name=filesize,proto3" json:"filesize,omitempty"`
   342  }
   343  
   344  func (m *BlobStat) Reset()         { *m = BlobStat{} }
   345  func (m *BlobStat) String() string { return proto.CompactTextString(m) }
   346  func (*BlobStat) ProtoMessage()    {}
   347  func (*BlobStat) Descriptor() ([]byte, []int) {
   348  	return fileDescriptor_blobs_cee2a8f681c337ac, []int{9}
   349  }
   350  func (m *BlobStat) XXX_Unmarshal(b []byte) error {
   351  	return m.Unmarshal(b)
   352  }
   353  func (m *BlobStat) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   354  	b = b[:cap(b)]
   355  	n, err := m.MarshalTo(b)
   356  	if err != nil {
   357  		return nil, err
   358  	}
   359  	return b[:n], nil
   360  }
   361  func (dst *BlobStat) XXX_Merge(src proto.Message) {
   362  	xxx_messageInfo_BlobStat.Merge(dst, src)
   363  }
   364  func (m *BlobStat) XXX_Size() int {
   365  	return m.Size()
   366  }
   367  func (m *BlobStat) XXX_DiscardUnknown() {
   368  	xxx_messageInfo_BlobStat.DiscardUnknown(m)
   369  }
   370  
   371  var xxx_messageInfo_BlobStat proto.InternalMessageInfo
   372  
   373  // StreamChunk contains a chunk of the payload we are streaming
   374  type StreamChunk struct {
   375  	Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
   376  }
   377  
   378  func (m *StreamChunk) Reset()         { *m = StreamChunk{} }
   379  func (m *StreamChunk) String() string { return proto.CompactTextString(m) }
   380  func (*StreamChunk) ProtoMessage()    {}
   381  func (*StreamChunk) Descriptor() ([]byte, []int) {
   382  	return fileDescriptor_blobs_cee2a8f681c337ac, []int{10}
   383  }
   384  func (m *StreamChunk) XXX_Unmarshal(b []byte) error {
   385  	return m.Unmarshal(b)
   386  }
   387  func (m *StreamChunk) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   388  	b = b[:cap(b)]
   389  	n, err := m.MarshalTo(b)
   390  	if err != nil {
   391  		return nil, err
   392  	}
   393  	return b[:n], nil
   394  }
   395  func (dst *StreamChunk) XXX_Merge(src proto.Message) {
   396  	xxx_messageInfo_StreamChunk.Merge(dst, src)
   397  }
   398  func (m *StreamChunk) XXX_Size() int {
   399  	return m.Size()
   400  }
   401  func (m *StreamChunk) XXX_DiscardUnknown() {
   402  	xxx_messageInfo_StreamChunk.DiscardUnknown(m)
   403  }
   404  
   405  var xxx_messageInfo_StreamChunk proto.InternalMessageInfo
   406  
   407  // StreamResponse is used to acknowledge a stream ending.
   408  type StreamResponse struct {
   409  }
   410  
   411  func (m *StreamResponse) Reset()         { *m = StreamResponse{} }
   412  func (m *StreamResponse) String() string { return proto.CompactTextString(m) }
   413  func (*StreamResponse) ProtoMessage()    {}
   414  func (*StreamResponse) Descriptor() ([]byte, []int) {
   415  	return fileDescriptor_blobs_cee2a8f681c337ac, []int{11}
   416  }
   417  func (m *StreamResponse) XXX_Unmarshal(b []byte) error {
   418  	return m.Unmarshal(b)
   419  }
   420  func (m *StreamResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   421  	b = b[:cap(b)]
   422  	n, err := m.MarshalTo(b)
   423  	if err != nil {
   424  		return nil, err
   425  	}
   426  	return b[:n], nil
   427  }
   428  func (dst *StreamResponse) XXX_Merge(src proto.Message) {
   429  	xxx_messageInfo_StreamResponse.Merge(dst, src)
   430  }
   431  func (m *StreamResponse) XXX_Size() int {
   432  	return m.Size()
   433  }
   434  func (m *StreamResponse) XXX_DiscardUnknown() {
   435  	xxx_messageInfo_StreamResponse.DiscardUnknown(m)
   436  }
   437  
   438  var xxx_messageInfo_StreamResponse proto.InternalMessageInfo
   439  
   440  func init() {
   441  	proto.RegisterType((*GetRequest)(nil), "cockroach.blobs.GetRequest")
   442  	proto.RegisterType((*GetResponse)(nil), "cockroach.blobs.GetResponse")
   443  	proto.RegisterType((*PutRequest)(nil), "cockroach.blobs.PutRequest")
   444  	proto.RegisterType((*PutResponse)(nil), "cockroach.blobs.PutResponse")
   445  	proto.RegisterType((*GlobRequest)(nil), "cockroach.blobs.GlobRequest")
   446  	proto.RegisterType((*GlobResponse)(nil), "cockroach.blobs.GlobResponse")
   447  	proto.RegisterType((*DeleteRequest)(nil), "cockroach.blobs.DeleteRequest")
   448  	proto.RegisterType((*DeleteResponse)(nil), "cockroach.blobs.DeleteResponse")
   449  	proto.RegisterType((*StatRequest)(nil), "cockroach.blobs.StatRequest")
   450  	proto.RegisterType((*BlobStat)(nil), "cockroach.blobs.BlobStat")
   451  	proto.RegisterType((*StreamChunk)(nil), "cockroach.blobs.StreamChunk")
   452  	proto.RegisterType((*StreamResponse)(nil), "cockroach.blobs.StreamResponse")
   453  }
   454  
   455  // Reference imports to suppress errors if they are not otherwise used.
   456  var _ context.Context
   457  var _ grpc.ClientConn
   458  
   459  // This is a compile-time assertion to ensure that this generated file
   460  // is compatible with the grpc package it is being compiled against.
   461  const _ = grpc.SupportPackageIsVersion4
   462  
   463  // BlobClient is the client API for Blob service.
   464  //
   465  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
   466  type BlobClient interface {
   467  	List(ctx context.Context, in *GlobRequest, opts ...grpc.CallOption) (*GlobResponse, error)
   468  	Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*DeleteResponse, error)
   469  	Stat(ctx context.Context, in *StatRequest, opts ...grpc.CallOption) (*BlobStat, error)
   470  	GetStream(ctx context.Context, in *GetRequest, opts ...grpc.CallOption) (Blob_GetStreamClient, error)
   471  	PutStream(ctx context.Context, opts ...grpc.CallOption) (Blob_PutStreamClient, error)
   472  }
   473  
   474  type blobClient struct {
   475  	cc *grpc.ClientConn
   476  }
   477  
   478  func NewBlobClient(cc *grpc.ClientConn) BlobClient {
   479  	return &blobClient{cc}
   480  }
   481  
   482  func (c *blobClient) List(ctx context.Context, in *GlobRequest, opts ...grpc.CallOption) (*GlobResponse, error) {
   483  	out := new(GlobResponse)
   484  	err := c.cc.Invoke(ctx, "/cockroach.blobs.Blob/List", in, out, opts...)
   485  	if err != nil {
   486  		return nil, err
   487  	}
   488  	return out, nil
   489  }
   490  
   491  func (c *blobClient) Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*DeleteResponse, error) {
   492  	out := new(DeleteResponse)
   493  	err := c.cc.Invoke(ctx, "/cockroach.blobs.Blob/Delete", in, out, opts...)
   494  	if err != nil {
   495  		return nil, err
   496  	}
   497  	return out, nil
   498  }
   499  
   500  func (c *blobClient) Stat(ctx context.Context, in *StatRequest, opts ...grpc.CallOption) (*BlobStat, error) {
   501  	out := new(BlobStat)
   502  	err := c.cc.Invoke(ctx, "/cockroach.blobs.Blob/Stat", in, out, opts...)
   503  	if err != nil {
   504  		return nil, err
   505  	}
   506  	return out, nil
   507  }
   508  
   509  func (c *blobClient) GetStream(ctx context.Context, in *GetRequest, opts ...grpc.CallOption) (Blob_GetStreamClient, error) {
   510  	stream, err := c.cc.NewStream(ctx, &_Blob_serviceDesc.Streams[0], "/cockroach.blobs.Blob/GetStream", opts...)
   511  	if err != nil {
   512  		return nil, err
   513  	}
   514  	x := &blobGetStreamClient{stream}
   515  	if err := x.ClientStream.SendMsg(in); err != nil {
   516  		return nil, err
   517  	}
   518  	if err := x.ClientStream.CloseSend(); err != nil {
   519  		return nil, err
   520  	}
   521  	return x, nil
   522  }
   523  
   524  type Blob_GetStreamClient interface {
   525  	Recv() (*StreamChunk, error)
   526  	grpc.ClientStream
   527  }
   528  
   529  type blobGetStreamClient struct {
   530  	grpc.ClientStream
   531  }
   532  
   533  func (x *blobGetStreamClient) Recv() (*StreamChunk, error) {
   534  	m := new(StreamChunk)
   535  	if err := x.ClientStream.RecvMsg(m); err != nil {
   536  		return nil, err
   537  	}
   538  	return m, nil
   539  }
   540  
   541  func (c *blobClient) PutStream(ctx context.Context, opts ...grpc.CallOption) (Blob_PutStreamClient, error) {
   542  	stream, err := c.cc.NewStream(ctx, &_Blob_serviceDesc.Streams[1], "/cockroach.blobs.Blob/PutStream", opts...)
   543  	if err != nil {
   544  		return nil, err
   545  	}
   546  	x := &blobPutStreamClient{stream}
   547  	return x, nil
   548  }
   549  
   550  type Blob_PutStreamClient interface {
   551  	Send(*StreamChunk) error
   552  	CloseAndRecv() (*StreamResponse, error)
   553  	grpc.ClientStream
   554  }
   555  
   556  type blobPutStreamClient struct {
   557  	grpc.ClientStream
   558  }
   559  
   560  func (x *blobPutStreamClient) Send(m *StreamChunk) error {
   561  	return x.ClientStream.SendMsg(m)
   562  }
   563  
   564  func (x *blobPutStreamClient) CloseAndRecv() (*StreamResponse, error) {
   565  	if err := x.ClientStream.CloseSend(); err != nil {
   566  		return nil, err
   567  	}
   568  	m := new(StreamResponse)
   569  	if err := x.ClientStream.RecvMsg(m); err != nil {
   570  		return nil, err
   571  	}
   572  	return m, nil
   573  }
   574  
   575  // BlobServer is the server API for Blob service.
   576  type BlobServer interface {
   577  	List(context.Context, *GlobRequest) (*GlobResponse, error)
   578  	Delete(context.Context, *DeleteRequest) (*DeleteResponse, error)
   579  	Stat(context.Context, *StatRequest) (*BlobStat, error)
   580  	GetStream(*GetRequest, Blob_GetStreamServer) error
   581  	PutStream(Blob_PutStreamServer) error
   582  }
   583  
   584  func RegisterBlobServer(s *grpc.Server, srv BlobServer) {
   585  	s.RegisterService(&_Blob_serviceDesc, srv)
   586  }
   587  
   588  func _Blob_List_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   589  	in := new(GlobRequest)
   590  	if err := dec(in); err != nil {
   591  		return nil, err
   592  	}
   593  	if interceptor == nil {
   594  		return srv.(BlobServer).List(ctx, in)
   595  	}
   596  	info := &grpc.UnaryServerInfo{
   597  		Server:     srv,
   598  		FullMethod: "/cockroach.blobs.Blob/List",
   599  	}
   600  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   601  		return srv.(BlobServer).List(ctx, req.(*GlobRequest))
   602  	}
   603  	return interceptor(ctx, in, info, handler)
   604  }
   605  
   606  func _Blob_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   607  	in := new(DeleteRequest)
   608  	if err := dec(in); err != nil {
   609  		return nil, err
   610  	}
   611  	if interceptor == nil {
   612  		return srv.(BlobServer).Delete(ctx, in)
   613  	}
   614  	info := &grpc.UnaryServerInfo{
   615  		Server:     srv,
   616  		FullMethod: "/cockroach.blobs.Blob/Delete",
   617  	}
   618  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   619  		return srv.(BlobServer).Delete(ctx, req.(*DeleteRequest))
   620  	}
   621  	return interceptor(ctx, in, info, handler)
   622  }
   623  
   624  func _Blob_Stat_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   625  	in := new(StatRequest)
   626  	if err := dec(in); err != nil {
   627  		return nil, err
   628  	}
   629  	if interceptor == nil {
   630  		return srv.(BlobServer).Stat(ctx, in)
   631  	}
   632  	info := &grpc.UnaryServerInfo{
   633  		Server:     srv,
   634  		FullMethod: "/cockroach.blobs.Blob/Stat",
   635  	}
   636  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   637  		return srv.(BlobServer).Stat(ctx, req.(*StatRequest))
   638  	}
   639  	return interceptor(ctx, in, info, handler)
   640  }
   641  
   642  func _Blob_GetStream_Handler(srv interface{}, stream grpc.ServerStream) error {
   643  	m := new(GetRequest)
   644  	if err := stream.RecvMsg(m); err != nil {
   645  		return err
   646  	}
   647  	return srv.(BlobServer).GetStream(m, &blobGetStreamServer{stream})
   648  }
   649  
   650  type Blob_GetStreamServer interface {
   651  	Send(*StreamChunk) error
   652  	grpc.ServerStream
   653  }
   654  
   655  type blobGetStreamServer struct {
   656  	grpc.ServerStream
   657  }
   658  
   659  func (x *blobGetStreamServer) Send(m *StreamChunk) error {
   660  	return x.ServerStream.SendMsg(m)
   661  }
   662  
   663  func _Blob_PutStream_Handler(srv interface{}, stream grpc.ServerStream) error {
   664  	return srv.(BlobServer).PutStream(&blobPutStreamServer{stream})
   665  }
   666  
   667  type Blob_PutStreamServer interface {
   668  	SendAndClose(*StreamResponse) error
   669  	Recv() (*StreamChunk, error)
   670  	grpc.ServerStream
   671  }
   672  
   673  type blobPutStreamServer struct {
   674  	grpc.ServerStream
   675  }
   676  
   677  func (x *blobPutStreamServer) SendAndClose(m *StreamResponse) error {
   678  	return x.ServerStream.SendMsg(m)
   679  }
   680  
   681  func (x *blobPutStreamServer) Recv() (*StreamChunk, error) {
   682  	m := new(StreamChunk)
   683  	if err := x.ServerStream.RecvMsg(m); err != nil {
   684  		return nil, err
   685  	}
   686  	return m, nil
   687  }
   688  
   689  var _Blob_serviceDesc = grpc.ServiceDesc{
   690  	ServiceName: "cockroach.blobs.Blob",
   691  	HandlerType: (*BlobServer)(nil),
   692  	Methods: []grpc.MethodDesc{
   693  		{
   694  			MethodName: "List",
   695  			Handler:    _Blob_List_Handler,
   696  		},
   697  		{
   698  			MethodName: "Delete",
   699  			Handler:    _Blob_Delete_Handler,
   700  		},
   701  		{
   702  			MethodName: "Stat",
   703  			Handler:    _Blob_Stat_Handler,
   704  		},
   705  	},
   706  	Streams: []grpc.StreamDesc{
   707  		{
   708  			StreamName:    "GetStream",
   709  			Handler:       _Blob_GetStream_Handler,
   710  			ServerStreams: true,
   711  		},
   712  		{
   713  			StreamName:    "PutStream",
   714  			Handler:       _Blob_PutStream_Handler,
   715  			ClientStreams: true,
   716  		},
   717  	},
   718  	Metadata: "blobs/blobspb/blobs.proto",
   719  }
   720  
   721  func (m *GetRequest) Marshal() (dAtA []byte, err error) {
   722  	size := m.Size()
   723  	dAtA = make([]byte, size)
   724  	n, err := m.MarshalTo(dAtA)
   725  	if err != nil {
   726  		return nil, err
   727  	}
   728  	return dAtA[:n], nil
   729  }
   730  
   731  func (m *GetRequest) MarshalTo(dAtA []byte) (int, error) {
   732  	var i int
   733  	_ = i
   734  	var l int
   735  	_ = l
   736  	if len(m.Filename) > 0 {
   737  		dAtA[i] = 0xa
   738  		i++
   739  		i = encodeVarintBlobs(dAtA, i, uint64(len(m.Filename)))
   740  		i += copy(dAtA[i:], m.Filename)
   741  	}
   742  	return i, nil
   743  }
   744  
   745  func (m *GetResponse) Marshal() (dAtA []byte, err error) {
   746  	size := m.Size()
   747  	dAtA = make([]byte, size)
   748  	n, err := m.MarshalTo(dAtA)
   749  	if err != nil {
   750  		return nil, err
   751  	}
   752  	return dAtA[:n], nil
   753  }
   754  
   755  func (m *GetResponse) MarshalTo(dAtA []byte) (int, error) {
   756  	var i int
   757  	_ = i
   758  	var l int
   759  	_ = l
   760  	if len(m.Payload) > 0 {
   761  		dAtA[i] = 0xa
   762  		i++
   763  		i = encodeVarintBlobs(dAtA, i, uint64(len(m.Payload)))
   764  		i += copy(dAtA[i:], m.Payload)
   765  	}
   766  	return i, nil
   767  }
   768  
   769  func (m *PutRequest) Marshal() (dAtA []byte, err error) {
   770  	size := m.Size()
   771  	dAtA = make([]byte, size)
   772  	n, err := m.MarshalTo(dAtA)
   773  	if err != nil {
   774  		return nil, err
   775  	}
   776  	return dAtA[:n], nil
   777  }
   778  
   779  func (m *PutRequest) MarshalTo(dAtA []byte) (int, error) {
   780  	var i int
   781  	_ = i
   782  	var l int
   783  	_ = l
   784  	if len(m.Filename) > 0 {
   785  		dAtA[i] = 0xa
   786  		i++
   787  		i = encodeVarintBlobs(dAtA, i, uint64(len(m.Filename)))
   788  		i += copy(dAtA[i:], m.Filename)
   789  	}
   790  	if len(m.Payload) > 0 {
   791  		dAtA[i] = 0x12
   792  		i++
   793  		i = encodeVarintBlobs(dAtA, i, uint64(len(m.Payload)))
   794  		i += copy(dAtA[i:], m.Payload)
   795  	}
   796  	return i, nil
   797  }
   798  
   799  func (m *PutResponse) Marshal() (dAtA []byte, err error) {
   800  	size := m.Size()
   801  	dAtA = make([]byte, size)
   802  	n, err := m.MarshalTo(dAtA)
   803  	if err != nil {
   804  		return nil, err
   805  	}
   806  	return dAtA[:n], nil
   807  }
   808  
   809  func (m *PutResponse) MarshalTo(dAtA []byte) (int, error) {
   810  	var i int
   811  	_ = i
   812  	var l int
   813  	_ = l
   814  	return i, nil
   815  }
   816  
   817  func (m *GlobRequest) Marshal() (dAtA []byte, err error) {
   818  	size := m.Size()
   819  	dAtA = make([]byte, size)
   820  	n, err := m.MarshalTo(dAtA)
   821  	if err != nil {
   822  		return nil, err
   823  	}
   824  	return dAtA[:n], nil
   825  }
   826  
   827  func (m *GlobRequest) MarshalTo(dAtA []byte) (int, error) {
   828  	var i int
   829  	_ = i
   830  	var l int
   831  	_ = l
   832  	if len(m.Pattern) > 0 {
   833  		dAtA[i] = 0xa
   834  		i++
   835  		i = encodeVarintBlobs(dAtA, i, uint64(len(m.Pattern)))
   836  		i += copy(dAtA[i:], m.Pattern)
   837  	}
   838  	return i, nil
   839  }
   840  
   841  func (m *GlobResponse) Marshal() (dAtA []byte, err error) {
   842  	size := m.Size()
   843  	dAtA = make([]byte, size)
   844  	n, err := m.MarshalTo(dAtA)
   845  	if err != nil {
   846  		return nil, err
   847  	}
   848  	return dAtA[:n], nil
   849  }
   850  
   851  func (m *GlobResponse) MarshalTo(dAtA []byte) (int, error) {
   852  	var i int
   853  	_ = i
   854  	var l int
   855  	_ = l
   856  	if len(m.Files) > 0 {
   857  		for _, s := range m.Files {
   858  			dAtA[i] = 0xa
   859  			i++
   860  			l = len(s)
   861  			for l >= 1<<7 {
   862  				dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
   863  				l >>= 7
   864  				i++
   865  			}
   866  			dAtA[i] = uint8(l)
   867  			i++
   868  			i += copy(dAtA[i:], s)
   869  		}
   870  	}
   871  	return i, nil
   872  }
   873  
   874  func (m *DeleteRequest) Marshal() (dAtA []byte, err error) {
   875  	size := m.Size()
   876  	dAtA = make([]byte, size)
   877  	n, err := m.MarshalTo(dAtA)
   878  	if err != nil {
   879  		return nil, err
   880  	}
   881  	return dAtA[:n], nil
   882  }
   883  
   884  func (m *DeleteRequest) MarshalTo(dAtA []byte) (int, error) {
   885  	var i int
   886  	_ = i
   887  	var l int
   888  	_ = l
   889  	if len(m.Filename) > 0 {
   890  		dAtA[i] = 0xa
   891  		i++
   892  		i = encodeVarintBlobs(dAtA, i, uint64(len(m.Filename)))
   893  		i += copy(dAtA[i:], m.Filename)
   894  	}
   895  	return i, nil
   896  }
   897  
   898  func (m *DeleteResponse) Marshal() (dAtA []byte, err error) {
   899  	size := m.Size()
   900  	dAtA = make([]byte, size)
   901  	n, err := m.MarshalTo(dAtA)
   902  	if err != nil {
   903  		return nil, err
   904  	}
   905  	return dAtA[:n], nil
   906  }
   907  
   908  func (m *DeleteResponse) MarshalTo(dAtA []byte) (int, error) {
   909  	var i int
   910  	_ = i
   911  	var l int
   912  	_ = l
   913  	return i, nil
   914  }
   915  
   916  func (m *StatRequest) Marshal() (dAtA []byte, err error) {
   917  	size := m.Size()
   918  	dAtA = make([]byte, size)
   919  	n, err := m.MarshalTo(dAtA)
   920  	if err != nil {
   921  		return nil, err
   922  	}
   923  	return dAtA[:n], nil
   924  }
   925  
   926  func (m *StatRequest) MarshalTo(dAtA []byte) (int, error) {
   927  	var i int
   928  	_ = i
   929  	var l int
   930  	_ = l
   931  	if len(m.Filename) > 0 {
   932  		dAtA[i] = 0xa
   933  		i++
   934  		i = encodeVarintBlobs(dAtA, i, uint64(len(m.Filename)))
   935  		i += copy(dAtA[i:], m.Filename)
   936  	}
   937  	return i, nil
   938  }
   939  
   940  func (m *BlobStat) Marshal() (dAtA []byte, err error) {
   941  	size := m.Size()
   942  	dAtA = make([]byte, size)
   943  	n, err := m.MarshalTo(dAtA)
   944  	if err != nil {
   945  		return nil, err
   946  	}
   947  	return dAtA[:n], nil
   948  }
   949  
   950  func (m *BlobStat) MarshalTo(dAtA []byte) (int, error) {
   951  	var i int
   952  	_ = i
   953  	var l int
   954  	_ = l
   955  	if m.Filesize != 0 {
   956  		dAtA[i] = 0x8
   957  		i++
   958  		i = encodeVarintBlobs(dAtA, i, uint64(m.Filesize))
   959  	}
   960  	return i, nil
   961  }
   962  
   963  func (m *StreamChunk) Marshal() (dAtA []byte, err error) {
   964  	size := m.Size()
   965  	dAtA = make([]byte, size)
   966  	n, err := m.MarshalTo(dAtA)
   967  	if err != nil {
   968  		return nil, err
   969  	}
   970  	return dAtA[:n], nil
   971  }
   972  
   973  func (m *StreamChunk) MarshalTo(dAtA []byte) (int, error) {
   974  	var i int
   975  	_ = i
   976  	var l int
   977  	_ = l
   978  	if len(m.Payload) > 0 {
   979  		dAtA[i] = 0xa
   980  		i++
   981  		i = encodeVarintBlobs(dAtA, i, uint64(len(m.Payload)))
   982  		i += copy(dAtA[i:], m.Payload)
   983  	}
   984  	return i, nil
   985  }
   986  
   987  func (m *StreamResponse) Marshal() (dAtA []byte, err error) {
   988  	size := m.Size()
   989  	dAtA = make([]byte, size)
   990  	n, err := m.MarshalTo(dAtA)
   991  	if err != nil {
   992  		return nil, err
   993  	}
   994  	return dAtA[:n], nil
   995  }
   996  
   997  func (m *StreamResponse) MarshalTo(dAtA []byte) (int, error) {
   998  	var i int
   999  	_ = i
  1000  	var l int
  1001  	_ = l
  1002  	return i, nil
  1003  }
  1004  
  1005  func encodeVarintBlobs(dAtA []byte, offset int, v uint64) int {
  1006  	for v >= 1<<7 {
  1007  		dAtA[offset] = uint8(v&0x7f | 0x80)
  1008  		v >>= 7
  1009  		offset++
  1010  	}
  1011  	dAtA[offset] = uint8(v)
  1012  	return offset + 1
  1013  }
  1014  func (m *GetRequest) Size() (n int) {
  1015  	if m == nil {
  1016  		return 0
  1017  	}
  1018  	var l int
  1019  	_ = l
  1020  	l = len(m.Filename)
  1021  	if l > 0 {
  1022  		n += 1 + l + sovBlobs(uint64(l))
  1023  	}
  1024  	return n
  1025  }
  1026  
  1027  func (m *GetResponse) Size() (n int) {
  1028  	if m == nil {
  1029  		return 0
  1030  	}
  1031  	var l int
  1032  	_ = l
  1033  	l = len(m.Payload)
  1034  	if l > 0 {
  1035  		n += 1 + l + sovBlobs(uint64(l))
  1036  	}
  1037  	return n
  1038  }
  1039  
  1040  func (m *PutRequest) Size() (n int) {
  1041  	if m == nil {
  1042  		return 0
  1043  	}
  1044  	var l int
  1045  	_ = l
  1046  	l = len(m.Filename)
  1047  	if l > 0 {
  1048  		n += 1 + l + sovBlobs(uint64(l))
  1049  	}
  1050  	l = len(m.Payload)
  1051  	if l > 0 {
  1052  		n += 1 + l + sovBlobs(uint64(l))
  1053  	}
  1054  	return n
  1055  }
  1056  
  1057  func (m *PutResponse) Size() (n int) {
  1058  	if m == nil {
  1059  		return 0
  1060  	}
  1061  	var l int
  1062  	_ = l
  1063  	return n
  1064  }
  1065  
  1066  func (m *GlobRequest) Size() (n int) {
  1067  	if m == nil {
  1068  		return 0
  1069  	}
  1070  	var l int
  1071  	_ = l
  1072  	l = len(m.Pattern)
  1073  	if l > 0 {
  1074  		n += 1 + l + sovBlobs(uint64(l))
  1075  	}
  1076  	return n
  1077  }
  1078  
  1079  func (m *GlobResponse) Size() (n int) {
  1080  	if m == nil {
  1081  		return 0
  1082  	}
  1083  	var l int
  1084  	_ = l
  1085  	if len(m.Files) > 0 {
  1086  		for _, s := range m.Files {
  1087  			l = len(s)
  1088  			n += 1 + l + sovBlobs(uint64(l))
  1089  		}
  1090  	}
  1091  	return n
  1092  }
  1093  
  1094  func (m *DeleteRequest) Size() (n int) {
  1095  	if m == nil {
  1096  		return 0
  1097  	}
  1098  	var l int
  1099  	_ = l
  1100  	l = len(m.Filename)
  1101  	if l > 0 {
  1102  		n += 1 + l + sovBlobs(uint64(l))
  1103  	}
  1104  	return n
  1105  }
  1106  
  1107  func (m *DeleteResponse) Size() (n int) {
  1108  	if m == nil {
  1109  		return 0
  1110  	}
  1111  	var l int
  1112  	_ = l
  1113  	return n
  1114  }
  1115  
  1116  func (m *StatRequest) Size() (n int) {
  1117  	if m == nil {
  1118  		return 0
  1119  	}
  1120  	var l int
  1121  	_ = l
  1122  	l = len(m.Filename)
  1123  	if l > 0 {
  1124  		n += 1 + l + sovBlobs(uint64(l))
  1125  	}
  1126  	return n
  1127  }
  1128  
  1129  func (m *BlobStat) Size() (n int) {
  1130  	if m == nil {
  1131  		return 0
  1132  	}
  1133  	var l int
  1134  	_ = l
  1135  	if m.Filesize != 0 {
  1136  		n += 1 + sovBlobs(uint64(m.Filesize))
  1137  	}
  1138  	return n
  1139  }
  1140  
  1141  func (m *StreamChunk) Size() (n int) {
  1142  	if m == nil {
  1143  		return 0
  1144  	}
  1145  	var l int
  1146  	_ = l
  1147  	l = len(m.Payload)
  1148  	if l > 0 {
  1149  		n += 1 + l + sovBlobs(uint64(l))
  1150  	}
  1151  	return n
  1152  }
  1153  
  1154  func (m *StreamResponse) Size() (n int) {
  1155  	if m == nil {
  1156  		return 0
  1157  	}
  1158  	var l int
  1159  	_ = l
  1160  	return n
  1161  }
  1162  
  1163  func sovBlobs(x uint64) (n int) {
  1164  	for {
  1165  		n++
  1166  		x >>= 7
  1167  		if x == 0 {
  1168  			break
  1169  		}
  1170  	}
  1171  	return n
  1172  }
  1173  func sozBlobs(x uint64) (n int) {
  1174  	return sovBlobs(uint64((x << 1) ^ uint64((int64(x) >> 63))))
  1175  }
  1176  func (m *GetRequest) Unmarshal(dAtA []byte) error {
  1177  	l := len(dAtA)
  1178  	iNdEx := 0
  1179  	for iNdEx < l {
  1180  		preIndex := iNdEx
  1181  		var wire uint64
  1182  		for shift := uint(0); ; shift += 7 {
  1183  			if shift >= 64 {
  1184  				return ErrIntOverflowBlobs
  1185  			}
  1186  			if iNdEx >= l {
  1187  				return io.ErrUnexpectedEOF
  1188  			}
  1189  			b := dAtA[iNdEx]
  1190  			iNdEx++
  1191  			wire |= (uint64(b) & 0x7F) << shift
  1192  			if b < 0x80 {
  1193  				break
  1194  			}
  1195  		}
  1196  		fieldNum := int32(wire >> 3)
  1197  		wireType := int(wire & 0x7)
  1198  		if wireType == 4 {
  1199  			return fmt.Errorf("proto: GetRequest: wiretype end group for non-group")
  1200  		}
  1201  		if fieldNum <= 0 {
  1202  			return fmt.Errorf("proto: GetRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  1203  		}
  1204  		switch fieldNum {
  1205  		case 1:
  1206  			if wireType != 2 {
  1207  				return fmt.Errorf("proto: wrong wireType = %d for field Filename", wireType)
  1208  			}
  1209  			var stringLen uint64
  1210  			for shift := uint(0); ; shift += 7 {
  1211  				if shift >= 64 {
  1212  					return ErrIntOverflowBlobs
  1213  				}
  1214  				if iNdEx >= l {
  1215  					return io.ErrUnexpectedEOF
  1216  				}
  1217  				b := dAtA[iNdEx]
  1218  				iNdEx++
  1219  				stringLen |= (uint64(b) & 0x7F) << shift
  1220  				if b < 0x80 {
  1221  					break
  1222  				}
  1223  			}
  1224  			intStringLen := int(stringLen)
  1225  			if intStringLen < 0 {
  1226  				return ErrInvalidLengthBlobs
  1227  			}
  1228  			postIndex := iNdEx + intStringLen
  1229  			if postIndex > l {
  1230  				return io.ErrUnexpectedEOF
  1231  			}
  1232  			m.Filename = string(dAtA[iNdEx:postIndex])
  1233  			iNdEx = postIndex
  1234  		default:
  1235  			iNdEx = preIndex
  1236  			skippy, err := skipBlobs(dAtA[iNdEx:])
  1237  			if err != nil {
  1238  				return err
  1239  			}
  1240  			if skippy < 0 {
  1241  				return ErrInvalidLengthBlobs
  1242  			}
  1243  			if (iNdEx + skippy) > l {
  1244  				return io.ErrUnexpectedEOF
  1245  			}
  1246  			iNdEx += skippy
  1247  		}
  1248  	}
  1249  
  1250  	if iNdEx > l {
  1251  		return io.ErrUnexpectedEOF
  1252  	}
  1253  	return nil
  1254  }
  1255  func (m *GetResponse) Unmarshal(dAtA []byte) error {
  1256  	l := len(dAtA)
  1257  	iNdEx := 0
  1258  	for iNdEx < l {
  1259  		preIndex := iNdEx
  1260  		var wire uint64
  1261  		for shift := uint(0); ; shift += 7 {
  1262  			if shift >= 64 {
  1263  				return ErrIntOverflowBlobs
  1264  			}
  1265  			if iNdEx >= l {
  1266  				return io.ErrUnexpectedEOF
  1267  			}
  1268  			b := dAtA[iNdEx]
  1269  			iNdEx++
  1270  			wire |= (uint64(b) & 0x7F) << shift
  1271  			if b < 0x80 {
  1272  				break
  1273  			}
  1274  		}
  1275  		fieldNum := int32(wire >> 3)
  1276  		wireType := int(wire & 0x7)
  1277  		if wireType == 4 {
  1278  			return fmt.Errorf("proto: GetResponse: wiretype end group for non-group")
  1279  		}
  1280  		if fieldNum <= 0 {
  1281  			return fmt.Errorf("proto: GetResponse: illegal tag %d (wire type %d)", fieldNum, wire)
  1282  		}
  1283  		switch fieldNum {
  1284  		case 1:
  1285  			if wireType != 2 {
  1286  				return fmt.Errorf("proto: wrong wireType = %d for field Payload", wireType)
  1287  			}
  1288  			var byteLen int
  1289  			for shift := uint(0); ; shift += 7 {
  1290  				if shift >= 64 {
  1291  					return ErrIntOverflowBlobs
  1292  				}
  1293  				if iNdEx >= l {
  1294  					return io.ErrUnexpectedEOF
  1295  				}
  1296  				b := dAtA[iNdEx]
  1297  				iNdEx++
  1298  				byteLen |= (int(b) & 0x7F) << shift
  1299  				if b < 0x80 {
  1300  					break
  1301  				}
  1302  			}
  1303  			if byteLen < 0 {
  1304  				return ErrInvalidLengthBlobs
  1305  			}
  1306  			postIndex := iNdEx + byteLen
  1307  			if postIndex > l {
  1308  				return io.ErrUnexpectedEOF
  1309  			}
  1310  			m.Payload = append(m.Payload[:0], dAtA[iNdEx:postIndex]...)
  1311  			if m.Payload == nil {
  1312  				m.Payload = []byte{}
  1313  			}
  1314  			iNdEx = postIndex
  1315  		default:
  1316  			iNdEx = preIndex
  1317  			skippy, err := skipBlobs(dAtA[iNdEx:])
  1318  			if err != nil {
  1319  				return err
  1320  			}
  1321  			if skippy < 0 {
  1322  				return ErrInvalidLengthBlobs
  1323  			}
  1324  			if (iNdEx + skippy) > l {
  1325  				return io.ErrUnexpectedEOF
  1326  			}
  1327  			iNdEx += skippy
  1328  		}
  1329  	}
  1330  
  1331  	if iNdEx > l {
  1332  		return io.ErrUnexpectedEOF
  1333  	}
  1334  	return nil
  1335  }
  1336  func (m *PutRequest) Unmarshal(dAtA []byte) error {
  1337  	l := len(dAtA)
  1338  	iNdEx := 0
  1339  	for iNdEx < l {
  1340  		preIndex := iNdEx
  1341  		var wire uint64
  1342  		for shift := uint(0); ; shift += 7 {
  1343  			if shift >= 64 {
  1344  				return ErrIntOverflowBlobs
  1345  			}
  1346  			if iNdEx >= l {
  1347  				return io.ErrUnexpectedEOF
  1348  			}
  1349  			b := dAtA[iNdEx]
  1350  			iNdEx++
  1351  			wire |= (uint64(b) & 0x7F) << shift
  1352  			if b < 0x80 {
  1353  				break
  1354  			}
  1355  		}
  1356  		fieldNum := int32(wire >> 3)
  1357  		wireType := int(wire & 0x7)
  1358  		if wireType == 4 {
  1359  			return fmt.Errorf("proto: PutRequest: wiretype end group for non-group")
  1360  		}
  1361  		if fieldNum <= 0 {
  1362  			return fmt.Errorf("proto: PutRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  1363  		}
  1364  		switch fieldNum {
  1365  		case 1:
  1366  			if wireType != 2 {
  1367  				return fmt.Errorf("proto: wrong wireType = %d for field Filename", wireType)
  1368  			}
  1369  			var stringLen uint64
  1370  			for shift := uint(0); ; shift += 7 {
  1371  				if shift >= 64 {
  1372  					return ErrIntOverflowBlobs
  1373  				}
  1374  				if iNdEx >= l {
  1375  					return io.ErrUnexpectedEOF
  1376  				}
  1377  				b := dAtA[iNdEx]
  1378  				iNdEx++
  1379  				stringLen |= (uint64(b) & 0x7F) << shift
  1380  				if b < 0x80 {
  1381  					break
  1382  				}
  1383  			}
  1384  			intStringLen := int(stringLen)
  1385  			if intStringLen < 0 {
  1386  				return ErrInvalidLengthBlobs
  1387  			}
  1388  			postIndex := iNdEx + intStringLen
  1389  			if postIndex > l {
  1390  				return io.ErrUnexpectedEOF
  1391  			}
  1392  			m.Filename = string(dAtA[iNdEx:postIndex])
  1393  			iNdEx = postIndex
  1394  		case 2:
  1395  			if wireType != 2 {
  1396  				return fmt.Errorf("proto: wrong wireType = %d for field Payload", wireType)
  1397  			}
  1398  			var byteLen int
  1399  			for shift := uint(0); ; shift += 7 {
  1400  				if shift >= 64 {
  1401  					return ErrIntOverflowBlobs
  1402  				}
  1403  				if iNdEx >= l {
  1404  					return io.ErrUnexpectedEOF
  1405  				}
  1406  				b := dAtA[iNdEx]
  1407  				iNdEx++
  1408  				byteLen |= (int(b) & 0x7F) << shift
  1409  				if b < 0x80 {
  1410  					break
  1411  				}
  1412  			}
  1413  			if byteLen < 0 {
  1414  				return ErrInvalidLengthBlobs
  1415  			}
  1416  			postIndex := iNdEx + byteLen
  1417  			if postIndex > l {
  1418  				return io.ErrUnexpectedEOF
  1419  			}
  1420  			m.Payload = append(m.Payload[:0], dAtA[iNdEx:postIndex]...)
  1421  			if m.Payload == nil {
  1422  				m.Payload = []byte{}
  1423  			}
  1424  			iNdEx = postIndex
  1425  		default:
  1426  			iNdEx = preIndex
  1427  			skippy, err := skipBlobs(dAtA[iNdEx:])
  1428  			if err != nil {
  1429  				return err
  1430  			}
  1431  			if skippy < 0 {
  1432  				return ErrInvalidLengthBlobs
  1433  			}
  1434  			if (iNdEx + skippy) > l {
  1435  				return io.ErrUnexpectedEOF
  1436  			}
  1437  			iNdEx += skippy
  1438  		}
  1439  	}
  1440  
  1441  	if iNdEx > l {
  1442  		return io.ErrUnexpectedEOF
  1443  	}
  1444  	return nil
  1445  }
  1446  func (m *PutResponse) Unmarshal(dAtA []byte) error {
  1447  	l := len(dAtA)
  1448  	iNdEx := 0
  1449  	for iNdEx < l {
  1450  		preIndex := iNdEx
  1451  		var wire uint64
  1452  		for shift := uint(0); ; shift += 7 {
  1453  			if shift >= 64 {
  1454  				return ErrIntOverflowBlobs
  1455  			}
  1456  			if iNdEx >= l {
  1457  				return io.ErrUnexpectedEOF
  1458  			}
  1459  			b := dAtA[iNdEx]
  1460  			iNdEx++
  1461  			wire |= (uint64(b) & 0x7F) << shift
  1462  			if b < 0x80 {
  1463  				break
  1464  			}
  1465  		}
  1466  		fieldNum := int32(wire >> 3)
  1467  		wireType := int(wire & 0x7)
  1468  		if wireType == 4 {
  1469  			return fmt.Errorf("proto: PutResponse: wiretype end group for non-group")
  1470  		}
  1471  		if fieldNum <= 0 {
  1472  			return fmt.Errorf("proto: PutResponse: illegal tag %d (wire type %d)", fieldNum, wire)
  1473  		}
  1474  		switch fieldNum {
  1475  		default:
  1476  			iNdEx = preIndex
  1477  			skippy, err := skipBlobs(dAtA[iNdEx:])
  1478  			if err != nil {
  1479  				return err
  1480  			}
  1481  			if skippy < 0 {
  1482  				return ErrInvalidLengthBlobs
  1483  			}
  1484  			if (iNdEx + skippy) > l {
  1485  				return io.ErrUnexpectedEOF
  1486  			}
  1487  			iNdEx += skippy
  1488  		}
  1489  	}
  1490  
  1491  	if iNdEx > l {
  1492  		return io.ErrUnexpectedEOF
  1493  	}
  1494  	return nil
  1495  }
  1496  func (m *GlobRequest) Unmarshal(dAtA []byte) error {
  1497  	l := len(dAtA)
  1498  	iNdEx := 0
  1499  	for iNdEx < l {
  1500  		preIndex := iNdEx
  1501  		var wire uint64
  1502  		for shift := uint(0); ; shift += 7 {
  1503  			if shift >= 64 {
  1504  				return ErrIntOverflowBlobs
  1505  			}
  1506  			if iNdEx >= l {
  1507  				return io.ErrUnexpectedEOF
  1508  			}
  1509  			b := dAtA[iNdEx]
  1510  			iNdEx++
  1511  			wire |= (uint64(b) & 0x7F) << shift
  1512  			if b < 0x80 {
  1513  				break
  1514  			}
  1515  		}
  1516  		fieldNum := int32(wire >> 3)
  1517  		wireType := int(wire & 0x7)
  1518  		if wireType == 4 {
  1519  			return fmt.Errorf("proto: GlobRequest: wiretype end group for non-group")
  1520  		}
  1521  		if fieldNum <= 0 {
  1522  			return fmt.Errorf("proto: GlobRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  1523  		}
  1524  		switch fieldNum {
  1525  		case 1:
  1526  			if wireType != 2 {
  1527  				return fmt.Errorf("proto: wrong wireType = %d for field Pattern", wireType)
  1528  			}
  1529  			var stringLen uint64
  1530  			for shift := uint(0); ; shift += 7 {
  1531  				if shift >= 64 {
  1532  					return ErrIntOverflowBlobs
  1533  				}
  1534  				if iNdEx >= l {
  1535  					return io.ErrUnexpectedEOF
  1536  				}
  1537  				b := dAtA[iNdEx]
  1538  				iNdEx++
  1539  				stringLen |= (uint64(b) & 0x7F) << shift
  1540  				if b < 0x80 {
  1541  					break
  1542  				}
  1543  			}
  1544  			intStringLen := int(stringLen)
  1545  			if intStringLen < 0 {
  1546  				return ErrInvalidLengthBlobs
  1547  			}
  1548  			postIndex := iNdEx + intStringLen
  1549  			if postIndex > l {
  1550  				return io.ErrUnexpectedEOF
  1551  			}
  1552  			m.Pattern = string(dAtA[iNdEx:postIndex])
  1553  			iNdEx = postIndex
  1554  		default:
  1555  			iNdEx = preIndex
  1556  			skippy, err := skipBlobs(dAtA[iNdEx:])
  1557  			if err != nil {
  1558  				return err
  1559  			}
  1560  			if skippy < 0 {
  1561  				return ErrInvalidLengthBlobs
  1562  			}
  1563  			if (iNdEx + skippy) > l {
  1564  				return io.ErrUnexpectedEOF
  1565  			}
  1566  			iNdEx += skippy
  1567  		}
  1568  	}
  1569  
  1570  	if iNdEx > l {
  1571  		return io.ErrUnexpectedEOF
  1572  	}
  1573  	return nil
  1574  }
  1575  func (m *GlobResponse) Unmarshal(dAtA []byte) error {
  1576  	l := len(dAtA)
  1577  	iNdEx := 0
  1578  	for iNdEx < l {
  1579  		preIndex := iNdEx
  1580  		var wire uint64
  1581  		for shift := uint(0); ; shift += 7 {
  1582  			if shift >= 64 {
  1583  				return ErrIntOverflowBlobs
  1584  			}
  1585  			if iNdEx >= l {
  1586  				return io.ErrUnexpectedEOF
  1587  			}
  1588  			b := dAtA[iNdEx]
  1589  			iNdEx++
  1590  			wire |= (uint64(b) & 0x7F) << shift
  1591  			if b < 0x80 {
  1592  				break
  1593  			}
  1594  		}
  1595  		fieldNum := int32(wire >> 3)
  1596  		wireType := int(wire & 0x7)
  1597  		if wireType == 4 {
  1598  			return fmt.Errorf("proto: GlobResponse: wiretype end group for non-group")
  1599  		}
  1600  		if fieldNum <= 0 {
  1601  			return fmt.Errorf("proto: GlobResponse: illegal tag %d (wire type %d)", fieldNum, wire)
  1602  		}
  1603  		switch fieldNum {
  1604  		case 1:
  1605  			if wireType != 2 {
  1606  				return fmt.Errorf("proto: wrong wireType = %d for field Files", wireType)
  1607  			}
  1608  			var stringLen uint64
  1609  			for shift := uint(0); ; shift += 7 {
  1610  				if shift >= 64 {
  1611  					return ErrIntOverflowBlobs
  1612  				}
  1613  				if iNdEx >= l {
  1614  					return io.ErrUnexpectedEOF
  1615  				}
  1616  				b := dAtA[iNdEx]
  1617  				iNdEx++
  1618  				stringLen |= (uint64(b) & 0x7F) << shift
  1619  				if b < 0x80 {
  1620  					break
  1621  				}
  1622  			}
  1623  			intStringLen := int(stringLen)
  1624  			if intStringLen < 0 {
  1625  				return ErrInvalidLengthBlobs
  1626  			}
  1627  			postIndex := iNdEx + intStringLen
  1628  			if postIndex > l {
  1629  				return io.ErrUnexpectedEOF
  1630  			}
  1631  			m.Files = append(m.Files, string(dAtA[iNdEx:postIndex]))
  1632  			iNdEx = postIndex
  1633  		default:
  1634  			iNdEx = preIndex
  1635  			skippy, err := skipBlobs(dAtA[iNdEx:])
  1636  			if err != nil {
  1637  				return err
  1638  			}
  1639  			if skippy < 0 {
  1640  				return ErrInvalidLengthBlobs
  1641  			}
  1642  			if (iNdEx + skippy) > l {
  1643  				return io.ErrUnexpectedEOF
  1644  			}
  1645  			iNdEx += skippy
  1646  		}
  1647  	}
  1648  
  1649  	if iNdEx > l {
  1650  		return io.ErrUnexpectedEOF
  1651  	}
  1652  	return nil
  1653  }
  1654  func (m *DeleteRequest) Unmarshal(dAtA []byte) error {
  1655  	l := len(dAtA)
  1656  	iNdEx := 0
  1657  	for iNdEx < l {
  1658  		preIndex := iNdEx
  1659  		var wire uint64
  1660  		for shift := uint(0); ; shift += 7 {
  1661  			if shift >= 64 {
  1662  				return ErrIntOverflowBlobs
  1663  			}
  1664  			if iNdEx >= l {
  1665  				return io.ErrUnexpectedEOF
  1666  			}
  1667  			b := dAtA[iNdEx]
  1668  			iNdEx++
  1669  			wire |= (uint64(b) & 0x7F) << shift
  1670  			if b < 0x80 {
  1671  				break
  1672  			}
  1673  		}
  1674  		fieldNum := int32(wire >> 3)
  1675  		wireType := int(wire & 0x7)
  1676  		if wireType == 4 {
  1677  			return fmt.Errorf("proto: DeleteRequest: wiretype end group for non-group")
  1678  		}
  1679  		if fieldNum <= 0 {
  1680  			return fmt.Errorf("proto: DeleteRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  1681  		}
  1682  		switch fieldNum {
  1683  		case 1:
  1684  			if wireType != 2 {
  1685  				return fmt.Errorf("proto: wrong wireType = %d for field Filename", wireType)
  1686  			}
  1687  			var stringLen uint64
  1688  			for shift := uint(0); ; shift += 7 {
  1689  				if shift >= 64 {
  1690  					return ErrIntOverflowBlobs
  1691  				}
  1692  				if iNdEx >= l {
  1693  					return io.ErrUnexpectedEOF
  1694  				}
  1695  				b := dAtA[iNdEx]
  1696  				iNdEx++
  1697  				stringLen |= (uint64(b) & 0x7F) << shift
  1698  				if b < 0x80 {
  1699  					break
  1700  				}
  1701  			}
  1702  			intStringLen := int(stringLen)
  1703  			if intStringLen < 0 {
  1704  				return ErrInvalidLengthBlobs
  1705  			}
  1706  			postIndex := iNdEx + intStringLen
  1707  			if postIndex > l {
  1708  				return io.ErrUnexpectedEOF
  1709  			}
  1710  			m.Filename = string(dAtA[iNdEx:postIndex])
  1711  			iNdEx = postIndex
  1712  		default:
  1713  			iNdEx = preIndex
  1714  			skippy, err := skipBlobs(dAtA[iNdEx:])
  1715  			if err != nil {
  1716  				return err
  1717  			}
  1718  			if skippy < 0 {
  1719  				return ErrInvalidLengthBlobs
  1720  			}
  1721  			if (iNdEx + skippy) > l {
  1722  				return io.ErrUnexpectedEOF
  1723  			}
  1724  			iNdEx += skippy
  1725  		}
  1726  	}
  1727  
  1728  	if iNdEx > l {
  1729  		return io.ErrUnexpectedEOF
  1730  	}
  1731  	return nil
  1732  }
  1733  func (m *DeleteResponse) Unmarshal(dAtA []byte) error {
  1734  	l := len(dAtA)
  1735  	iNdEx := 0
  1736  	for iNdEx < l {
  1737  		preIndex := iNdEx
  1738  		var wire uint64
  1739  		for shift := uint(0); ; shift += 7 {
  1740  			if shift >= 64 {
  1741  				return ErrIntOverflowBlobs
  1742  			}
  1743  			if iNdEx >= l {
  1744  				return io.ErrUnexpectedEOF
  1745  			}
  1746  			b := dAtA[iNdEx]
  1747  			iNdEx++
  1748  			wire |= (uint64(b) & 0x7F) << shift
  1749  			if b < 0x80 {
  1750  				break
  1751  			}
  1752  		}
  1753  		fieldNum := int32(wire >> 3)
  1754  		wireType := int(wire & 0x7)
  1755  		if wireType == 4 {
  1756  			return fmt.Errorf("proto: DeleteResponse: wiretype end group for non-group")
  1757  		}
  1758  		if fieldNum <= 0 {
  1759  			return fmt.Errorf("proto: DeleteResponse: illegal tag %d (wire type %d)", fieldNum, wire)
  1760  		}
  1761  		switch fieldNum {
  1762  		default:
  1763  			iNdEx = preIndex
  1764  			skippy, err := skipBlobs(dAtA[iNdEx:])
  1765  			if err != nil {
  1766  				return err
  1767  			}
  1768  			if skippy < 0 {
  1769  				return ErrInvalidLengthBlobs
  1770  			}
  1771  			if (iNdEx + skippy) > l {
  1772  				return io.ErrUnexpectedEOF
  1773  			}
  1774  			iNdEx += skippy
  1775  		}
  1776  	}
  1777  
  1778  	if iNdEx > l {
  1779  		return io.ErrUnexpectedEOF
  1780  	}
  1781  	return nil
  1782  }
  1783  func (m *StatRequest) Unmarshal(dAtA []byte) error {
  1784  	l := len(dAtA)
  1785  	iNdEx := 0
  1786  	for iNdEx < l {
  1787  		preIndex := iNdEx
  1788  		var wire uint64
  1789  		for shift := uint(0); ; shift += 7 {
  1790  			if shift >= 64 {
  1791  				return ErrIntOverflowBlobs
  1792  			}
  1793  			if iNdEx >= l {
  1794  				return io.ErrUnexpectedEOF
  1795  			}
  1796  			b := dAtA[iNdEx]
  1797  			iNdEx++
  1798  			wire |= (uint64(b) & 0x7F) << shift
  1799  			if b < 0x80 {
  1800  				break
  1801  			}
  1802  		}
  1803  		fieldNum := int32(wire >> 3)
  1804  		wireType := int(wire & 0x7)
  1805  		if wireType == 4 {
  1806  			return fmt.Errorf("proto: StatRequest: wiretype end group for non-group")
  1807  		}
  1808  		if fieldNum <= 0 {
  1809  			return fmt.Errorf("proto: StatRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  1810  		}
  1811  		switch fieldNum {
  1812  		case 1:
  1813  			if wireType != 2 {
  1814  				return fmt.Errorf("proto: wrong wireType = %d for field Filename", wireType)
  1815  			}
  1816  			var stringLen uint64
  1817  			for shift := uint(0); ; shift += 7 {
  1818  				if shift >= 64 {
  1819  					return ErrIntOverflowBlobs
  1820  				}
  1821  				if iNdEx >= l {
  1822  					return io.ErrUnexpectedEOF
  1823  				}
  1824  				b := dAtA[iNdEx]
  1825  				iNdEx++
  1826  				stringLen |= (uint64(b) & 0x7F) << shift
  1827  				if b < 0x80 {
  1828  					break
  1829  				}
  1830  			}
  1831  			intStringLen := int(stringLen)
  1832  			if intStringLen < 0 {
  1833  				return ErrInvalidLengthBlobs
  1834  			}
  1835  			postIndex := iNdEx + intStringLen
  1836  			if postIndex > l {
  1837  				return io.ErrUnexpectedEOF
  1838  			}
  1839  			m.Filename = string(dAtA[iNdEx:postIndex])
  1840  			iNdEx = postIndex
  1841  		default:
  1842  			iNdEx = preIndex
  1843  			skippy, err := skipBlobs(dAtA[iNdEx:])
  1844  			if err != nil {
  1845  				return err
  1846  			}
  1847  			if skippy < 0 {
  1848  				return ErrInvalidLengthBlobs
  1849  			}
  1850  			if (iNdEx + skippy) > l {
  1851  				return io.ErrUnexpectedEOF
  1852  			}
  1853  			iNdEx += skippy
  1854  		}
  1855  	}
  1856  
  1857  	if iNdEx > l {
  1858  		return io.ErrUnexpectedEOF
  1859  	}
  1860  	return nil
  1861  }
  1862  func (m *BlobStat) Unmarshal(dAtA []byte) error {
  1863  	l := len(dAtA)
  1864  	iNdEx := 0
  1865  	for iNdEx < l {
  1866  		preIndex := iNdEx
  1867  		var wire uint64
  1868  		for shift := uint(0); ; shift += 7 {
  1869  			if shift >= 64 {
  1870  				return ErrIntOverflowBlobs
  1871  			}
  1872  			if iNdEx >= l {
  1873  				return io.ErrUnexpectedEOF
  1874  			}
  1875  			b := dAtA[iNdEx]
  1876  			iNdEx++
  1877  			wire |= (uint64(b) & 0x7F) << shift
  1878  			if b < 0x80 {
  1879  				break
  1880  			}
  1881  		}
  1882  		fieldNum := int32(wire >> 3)
  1883  		wireType := int(wire & 0x7)
  1884  		if wireType == 4 {
  1885  			return fmt.Errorf("proto: BlobStat: wiretype end group for non-group")
  1886  		}
  1887  		if fieldNum <= 0 {
  1888  			return fmt.Errorf("proto: BlobStat: illegal tag %d (wire type %d)", fieldNum, wire)
  1889  		}
  1890  		switch fieldNum {
  1891  		case 1:
  1892  			if wireType != 0 {
  1893  				return fmt.Errorf("proto: wrong wireType = %d for field Filesize", wireType)
  1894  			}
  1895  			m.Filesize = 0
  1896  			for shift := uint(0); ; shift += 7 {
  1897  				if shift >= 64 {
  1898  					return ErrIntOverflowBlobs
  1899  				}
  1900  				if iNdEx >= l {
  1901  					return io.ErrUnexpectedEOF
  1902  				}
  1903  				b := dAtA[iNdEx]
  1904  				iNdEx++
  1905  				m.Filesize |= (int64(b) & 0x7F) << shift
  1906  				if b < 0x80 {
  1907  					break
  1908  				}
  1909  			}
  1910  		default:
  1911  			iNdEx = preIndex
  1912  			skippy, err := skipBlobs(dAtA[iNdEx:])
  1913  			if err != nil {
  1914  				return err
  1915  			}
  1916  			if skippy < 0 {
  1917  				return ErrInvalidLengthBlobs
  1918  			}
  1919  			if (iNdEx + skippy) > l {
  1920  				return io.ErrUnexpectedEOF
  1921  			}
  1922  			iNdEx += skippy
  1923  		}
  1924  	}
  1925  
  1926  	if iNdEx > l {
  1927  		return io.ErrUnexpectedEOF
  1928  	}
  1929  	return nil
  1930  }
  1931  func (m *StreamChunk) Unmarshal(dAtA []byte) error {
  1932  	l := len(dAtA)
  1933  	iNdEx := 0
  1934  	for iNdEx < l {
  1935  		preIndex := iNdEx
  1936  		var wire uint64
  1937  		for shift := uint(0); ; shift += 7 {
  1938  			if shift >= 64 {
  1939  				return ErrIntOverflowBlobs
  1940  			}
  1941  			if iNdEx >= l {
  1942  				return io.ErrUnexpectedEOF
  1943  			}
  1944  			b := dAtA[iNdEx]
  1945  			iNdEx++
  1946  			wire |= (uint64(b) & 0x7F) << shift
  1947  			if b < 0x80 {
  1948  				break
  1949  			}
  1950  		}
  1951  		fieldNum := int32(wire >> 3)
  1952  		wireType := int(wire & 0x7)
  1953  		if wireType == 4 {
  1954  			return fmt.Errorf("proto: StreamChunk: wiretype end group for non-group")
  1955  		}
  1956  		if fieldNum <= 0 {
  1957  			return fmt.Errorf("proto: StreamChunk: illegal tag %d (wire type %d)", fieldNum, wire)
  1958  		}
  1959  		switch fieldNum {
  1960  		case 1:
  1961  			if wireType != 2 {
  1962  				return fmt.Errorf("proto: wrong wireType = %d for field Payload", wireType)
  1963  			}
  1964  			var byteLen int
  1965  			for shift := uint(0); ; shift += 7 {
  1966  				if shift >= 64 {
  1967  					return ErrIntOverflowBlobs
  1968  				}
  1969  				if iNdEx >= l {
  1970  					return io.ErrUnexpectedEOF
  1971  				}
  1972  				b := dAtA[iNdEx]
  1973  				iNdEx++
  1974  				byteLen |= (int(b) & 0x7F) << shift
  1975  				if b < 0x80 {
  1976  					break
  1977  				}
  1978  			}
  1979  			if byteLen < 0 {
  1980  				return ErrInvalidLengthBlobs
  1981  			}
  1982  			postIndex := iNdEx + byteLen
  1983  			if postIndex > l {
  1984  				return io.ErrUnexpectedEOF
  1985  			}
  1986  			m.Payload = append(m.Payload[:0], dAtA[iNdEx:postIndex]...)
  1987  			if m.Payload == nil {
  1988  				m.Payload = []byte{}
  1989  			}
  1990  			iNdEx = postIndex
  1991  		default:
  1992  			iNdEx = preIndex
  1993  			skippy, err := skipBlobs(dAtA[iNdEx:])
  1994  			if err != nil {
  1995  				return err
  1996  			}
  1997  			if skippy < 0 {
  1998  				return ErrInvalidLengthBlobs
  1999  			}
  2000  			if (iNdEx + skippy) > l {
  2001  				return io.ErrUnexpectedEOF
  2002  			}
  2003  			iNdEx += skippy
  2004  		}
  2005  	}
  2006  
  2007  	if iNdEx > l {
  2008  		return io.ErrUnexpectedEOF
  2009  	}
  2010  	return nil
  2011  }
  2012  func (m *StreamResponse) Unmarshal(dAtA []byte) error {
  2013  	l := len(dAtA)
  2014  	iNdEx := 0
  2015  	for iNdEx < l {
  2016  		preIndex := iNdEx
  2017  		var wire uint64
  2018  		for shift := uint(0); ; shift += 7 {
  2019  			if shift >= 64 {
  2020  				return ErrIntOverflowBlobs
  2021  			}
  2022  			if iNdEx >= l {
  2023  				return io.ErrUnexpectedEOF
  2024  			}
  2025  			b := dAtA[iNdEx]
  2026  			iNdEx++
  2027  			wire |= (uint64(b) & 0x7F) << shift
  2028  			if b < 0x80 {
  2029  				break
  2030  			}
  2031  		}
  2032  		fieldNum := int32(wire >> 3)
  2033  		wireType := int(wire & 0x7)
  2034  		if wireType == 4 {
  2035  			return fmt.Errorf("proto: StreamResponse: wiretype end group for non-group")
  2036  		}
  2037  		if fieldNum <= 0 {
  2038  			return fmt.Errorf("proto: StreamResponse: illegal tag %d (wire type %d)", fieldNum, wire)
  2039  		}
  2040  		switch fieldNum {
  2041  		default:
  2042  			iNdEx = preIndex
  2043  			skippy, err := skipBlobs(dAtA[iNdEx:])
  2044  			if err != nil {
  2045  				return err
  2046  			}
  2047  			if skippy < 0 {
  2048  				return ErrInvalidLengthBlobs
  2049  			}
  2050  			if (iNdEx + skippy) > l {
  2051  				return io.ErrUnexpectedEOF
  2052  			}
  2053  			iNdEx += skippy
  2054  		}
  2055  	}
  2056  
  2057  	if iNdEx > l {
  2058  		return io.ErrUnexpectedEOF
  2059  	}
  2060  	return nil
  2061  }
  2062  func skipBlobs(dAtA []byte) (n int, err error) {
  2063  	l := len(dAtA)
  2064  	iNdEx := 0
  2065  	for iNdEx < l {
  2066  		var wire uint64
  2067  		for shift := uint(0); ; shift += 7 {
  2068  			if shift >= 64 {
  2069  				return 0, ErrIntOverflowBlobs
  2070  			}
  2071  			if iNdEx >= l {
  2072  				return 0, io.ErrUnexpectedEOF
  2073  			}
  2074  			b := dAtA[iNdEx]
  2075  			iNdEx++
  2076  			wire |= (uint64(b) & 0x7F) << shift
  2077  			if b < 0x80 {
  2078  				break
  2079  			}
  2080  		}
  2081  		wireType := int(wire & 0x7)
  2082  		switch wireType {
  2083  		case 0:
  2084  			for shift := uint(0); ; shift += 7 {
  2085  				if shift >= 64 {
  2086  					return 0, ErrIntOverflowBlobs
  2087  				}
  2088  				if iNdEx >= l {
  2089  					return 0, io.ErrUnexpectedEOF
  2090  				}
  2091  				iNdEx++
  2092  				if dAtA[iNdEx-1] < 0x80 {
  2093  					break
  2094  				}
  2095  			}
  2096  			return iNdEx, nil
  2097  		case 1:
  2098  			iNdEx += 8
  2099  			return iNdEx, nil
  2100  		case 2:
  2101  			var length int
  2102  			for shift := uint(0); ; shift += 7 {
  2103  				if shift >= 64 {
  2104  					return 0, ErrIntOverflowBlobs
  2105  				}
  2106  				if iNdEx >= l {
  2107  					return 0, io.ErrUnexpectedEOF
  2108  				}
  2109  				b := dAtA[iNdEx]
  2110  				iNdEx++
  2111  				length |= (int(b) & 0x7F) << shift
  2112  				if b < 0x80 {
  2113  					break
  2114  				}
  2115  			}
  2116  			iNdEx += length
  2117  			if length < 0 {
  2118  				return 0, ErrInvalidLengthBlobs
  2119  			}
  2120  			return iNdEx, nil
  2121  		case 3:
  2122  			for {
  2123  				var innerWire uint64
  2124  				var start int = iNdEx
  2125  				for shift := uint(0); ; shift += 7 {
  2126  					if shift >= 64 {
  2127  						return 0, ErrIntOverflowBlobs
  2128  					}
  2129  					if iNdEx >= l {
  2130  						return 0, io.ErrUnexpectedEOF
  2131  					}
  2132  					b := dAtA[iNdEx]
  2133  					iNdEx++
  2134  					innerWire |= (uint64(b) & 0x7F) << shift
  2135  					if b < 0x80 {
  2136  						break
  2137  					}
  2138  				}
  2139  				innerWireType := int(innerWire & 0x7)
  2140  				if innerWireType == 4 {
  2141  					break
  2142  				}
  2143  				next, err := skipBlobs(dAtA[start:])
  2144  				if err != nil {
  2145  					return 0, err
  2146  				}
  2147  				iNdEx = start + next
  2148  			}
  2149  			return iNdEx, nil
  2150  		case 4:
  2151  			return iNdEx, nil
  2152  		case 5:
  2153  			iNdEx += 4
  2154  			return iNdEx, nil
  2155  		default:
  2156  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  2157  		}
  2158  	}
  2159  	panic("unreachable")
  2160  }
  2161  
  2162  var (
  2163  	ErrInvalidLengthBlobs = fmt.Errorf("proto: negative length found during unmarshaling")
  2164  	ErrIntOverflowBlobs   = fmt.Errorf("proto: integer overflow")
  2165  )
  2166  
  2167  func init() { proto.RegisterFile("blobs/blobspb/blobs.proto", fileDescriptor_blobs_cee2a8f681c337ac) }
  2168  
  2169  var fileDescriptor_blobs_cee2a8f681c337ac = []byte{
  2170  	// 418 bytes of a gzipped FileDescriptorProto
  2171  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0x41, 0x8f, 0xd2, 0x40,
  2172  	0x14, 0xc7, 0x67, 0x76, 0x71, 0x77, 0xfb, 0xd8, 0x5d, 0x37, 0x93, 0x3d, 0xb0, 0x55, 0x47, 0x32,
  2173  	0x31, 0x5a, 0x62, 0x52, 0x8c, 0x7e, 0x02, 0x51, 0x43, 0xa2, 0xc6, 0x90, 0x72, 0xf3, 0xd6, 0xe2,
  2174  	0x08, 0x84, 0xd2, 0xa9, 0xed, 0xf4, 0xa0, 0x9f, 0xc2, 0x8f, 0xc5, 0x91, 0x23, 0x47, 0x2d, 0x9f,
  2175  	0xc2, 0x9b, 0xe9, 0x4c, 0xa7, 0x81, 0x2d, 0x10, 0x2e, 0xd0, 0xd7, 0xf7, 0xeb, 0xff, 0xbd, 0xff,
  2176  	0xbf, 0x1d, 0xb8, 0x0b, 0x42, 0x11, 0xa4, 0x5d, 0xf5, 0x1b, 0x07, 0xfa, 0xdf, 0x8d, 0x13, 0x21,
  2177  	0x05, 0x79, 0x38, 0x12, 0xa3, 0x59, 0x22, 0xfc, 0xd1, 0xc4, 0x55, 0xb7, 0xed, 0xdb, 0xb1, 0x18,
  2178  	0x0b, 0xd5, 0xeb, 0x16, 0x57, 0x1a, 0x63, 0x0e, 0x40, 0x9f, 0x4b, 0x8f, 0xff, 0xc8, 0x78, 0x2a,
  2179  	0x89, 0x0d, 0x17, 0xdf, 0xa7, 0x21, 0x8f, 0xfc, 0x39, 0x6f, 0xe1, 0x36, 0x76, 0x2c, 0xaf, 0xaa,
  2180  	0xd9, 0x0b, 0x68, 0x2a, 0x32, 0x8d, 0x45, 0x94, 0x72, 0xd2, 0x82, 0xf3, 0xd8, 0xff, 0x19, 0x0a,
  2181  	0xff, 0x9b, 0x22, 0x2f, 0x3d, 0x53, 0xb2, 0x1e, 0xc0, 0x20, 0x3b, 0x46, 0x72, 0x53, 0xe3, 0x64,
  2182  	0x5b, 0xe3, 0x0a, 0x9a, 0x4a, 0x43, 0x0f, 0x53, 0xb3, 0x43, 0x11, 0x18, 0x4d, 0xf5, 0x9c, 0x94,
  2183  	0x3c, 0x89, 0x4a, 0x49, 0x53, 0xb2, 0x67, 0x70, 0xa9, 0xc1, 0x72, 0xcb, 0x5b, 0x78, 0x50, 0x4c,
  2184  	0x4b, 0x5b, 0xb8, 0x7d, 0xea, 0x58, 0x9e, 0x2e, 0xd8, 0x4b, 0xb8, 0x7a, 0xcf, 0x43, 0x2e, 0xf9,
  2185  	0x31, 0xbe, 0x6f, 0xe0, 0xda, 0xc0, 0xe5, 0x36, 0x1d, 0x68, 0x0e, 0xa5, 0x7f, 0x54, 0x68, 0xcf,
  2186  	0xe1, 0xa2, 0x17, 0x8a, 0xa0, 0xc0, 0x0d, 0x97, 0x4e, 0x7f, 0x69, 0xee, 0xd4, 0xab, 0xea, 0xc2,
  2187  	0xe0, 0x50, 0x26, 0xdc, 0x9f, 0xbf, 0x9b, 0x64, 0xd1, 0xec, 0x40, 0xb8, 0x37, 0x70, 0xad, 0x41,
  2188  	0xb3, 0xcd, 0xeb, 0x7f, 0x27, 0xd0, 0x28, 0x66, 0x90, 0x0f, 0xd0, 0xf8, 0x3c, 0x4d, 0x25, 0x79,
  2189  	0xec, 0xde, 0x7b, 0xf5, 0xee, 0x46, 0x76, 0xf6, 0x93, 0x3d, 0xdd, 0xd2, 0x1b, 0x22, 0x9f, 0xe0,
  2190  	0x4c, 0xfb, 0x25, 0xb4, 0x86, 0x6e, 0xa5, 0x66, 0x3f, 0xdd, 0xdb, 0xaf, 0xc4, 0xde, 0x42, 0x43,
  2191  	0x79, 0xaf, 0xef, 0xb4, 0x91, 0xa0, 0x7d, 0x57, 0xeb, 0x9a, 0xd0, 0x18, 0x22, 0x1f, 0xc1, 0xea,
  2192  	0x73, 0xa9, 0x4d, 0x93, 0x47, 0xf5, 0xed, 0xab, 0xaf, 0xd7, 0xde, 0x35, 0xa4, 0xca, 0x94, 0xa1,
  2193  	0x57, 0x98, 0x7c, 0x01, 0x6b, 0x90, 0x19, 0xad, 0x83, 0xf8, 0x0e, 0x73, 0xdb, 0xb9, 0x33, 0xe4,
  2194  	0xe0, 0x5e, 0x67, 0xf1, 0x97, 0xa2, 0x45, 0x4e, 0xf1, 0x32, 0xa7, 0x78, 0x95, 0x53, 0xfc, 0x27,
  2195  	0xa7, 0xf8, 0xf7, 0x9a, 0xa2, 0xe5, 0x9a, 0xa2, 0xd5, 0x9a, 0xa2, 0xaf, 0xe7, 0xe5, 0xd9, 0x0c,
  2196  	0xce, 0xd4, 0x79, 0x7b, 0xf3, 0x3f, 0x00, 0x00, 0xff, 0xff, 0x8a, 0xc1, 0xfa, 0x95, 0xb3, 0x03,
  2197  	0x00, 0x00,
  2198  }