github.com/demonoid81/containerd@v1.3.4/api/services/introspection/v1/introspection.pb.go (about)

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: github.com/containerd/containerd/api/services/introspection/v1/introspection.proto
     3  
     4  package introspection
     5  
     6  import (
     7  	context "context"
     8  	fmt "fmt"
     9  	types "github.com/containerd/containerd/api/types"
    10  	rpc "github.com/gogo/googleapis/google/rpc"
    11  	proto "github.com/gogo/protobuf/proto"
    12  	github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys"
    13  	types1 "github.com/gogo/protobuf/types"
    14  	grpc "google.golang.org/grpc"
    15  	io "io"
    16  	math "math"
    17  	reflect "reflect"
    18  	strings "strings"
    19  )
    20  
    21  // Reference imports to suppress errors if they are not otherwise used.
    22  var _ = proto.Marshal
    23  var _ = fmt.Errorf
    24  var _ = math.Inf
    25  
    26  // This is a compile-time assertion to ensure that this generated file
    27  // is compatible with the proto package it is being compiled against.
    28  // A compilation error at this line likely means your copy of the
    29  // proto package needs to be updated.
    30  const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
    31  
    32  type Plugin struct {
    33  	// Type defines the type of plugin.
    34  	//
    35  	// See package plugin for a list of possible values. Non core plugins may
    36  	// define their own values during registration.
    37  	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
    38  	// ID identifies the plugin uniquely in the system.
    39  	ID string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
    40  	// Requires lists the plugin types required by this plugin.
    41  	Requires []string `protobuf:"bytes,3,rep,name=requires,proto3" json:"requires,omitempty"`
    42  	// Platforms enumerates the platforms this plugin will support.
    43  	//
    44  	// If values are provided here, the plugin will only be operable under the
    45  	// provided platforms.
    46  	//
    47  	// If this is empty, the plugin will work across all platforms.
    48  	//
    49  	// If the plugin prefers certain platforms over others, they should be
    50  	// listed from most to least preferred.
    51  	Platforms []types.Platform `protobuf:"bytes,4,rep,name=platforms,proto3" json:"platforms"`
    52  	// Exports allows plugins to provide values about state or configuration to
    53  	// interested parties.
    54  	//
    55  	// One example is exposing the configured path of a snapshotter plugin.
    56  	Exports map[string]string `protobuf:"bytes,5,rep,name=exports,proto3" json:"exports,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
    57  	// Capabilities allows plugins to communicate feature switches to allow
    58  	// clients to detect features that may not be on be default or may be
    59  	// different from version to version.
    60  	//
    61  	// Use this sparingly.
    62  	Capabilities []string `protobuf:"bytes,6,rep,name=capabilities,proto3" json:"capabilities,omitempty"`
    63  	// InitErr will be set if the plugin fails initialization.
    64  	//
    65  	// This means the plugin may have been registered but a non-terminal error
    66  	// was encountered during initialization.
    67  	//
    68  	// Plugins that have this value set cannot be used.
    69  	InitErr              *rpc.Status `protobuf:"bytes,7,opt,name=init_err,json=initErr,proto3" json:"init_err,omitempty"`
    70  	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
    71  	XXX_unrecognized     []byte      `json:"-"`
    72  	XXX_sizecache        int32       `json:"-"`
    73  }
    74  
    75  func (m *Plugin) Reset()      { *m = Plugin{} }
    76  func (*Plugin) ProtoMessage() {}
    77  func (*Plugin) Descriptor() ([]byte, []int) {
    78  	return fileDescriptor_1a14fda866f10715, []int{0}
    79  }
    80  func (m *Plugin) XXX_Unmarshal(b []byte) error {
    81  	return m.Unmarshal(b)
    82  }
    83  func (m *Plugin) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    84  	if deterministic {
    85  		return xxx_messageInfo_Plugin.Marshal(b, m, deterministic)
    86  	} else {
    87  		b = b[:cap(b)]
    88  		n, err := m.MarshalTo(b)
    89  		if err != nil {
    90  			return nil, err
    91  		}
    92  		return b[:n], nil
    93  	}
    94  }
    95  func (m *Plugin) XXX_Merge(src proto.Message) {
    96  	xxx_messageInfo_Plugin.Merge(m, src)
    97  }
    98  func (m *Plugin) XXX_Size() int {
    99  	return m.Size()
   100  }
   101  func (m *Plugin) XXX_DiscardUnknown() {
   102  	xxx_messageInfo_Plugin.DiscardUnknown(m)
   103  }
   104  
   105  var xxx_messageInfo_Plugin proto.InternalMessageInfo
   106  
   107  type PluginsRequest struct {
   108  	// Filters contains one or more filters using the syntax defined in the
   109  	// containerd filter package.
   110  	//
   111  	// The returned result will be those that match any of the provided
   112  	// filters. Expanded, plugins that match the following will be
   113  	// returned:
   114  	//
   115  	//   filters[0] or filters[1] or ... or filters[n-1] or filters[n]
   116  	//
   117  	// If filters is zero-length or nil, all items will be returned.
   118  	Filters              []string `protobuf:"bytes,1,rep,name=filters,proto3" json:"filters,omitempty"`
   119  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   120  	XXX_unrecognized     []byte   `json:"-"`
   121  	XXX_sizecache        int32    `json:"-"`
   122  }
   123  
   124  func (m *PluginsRequest) Reset()      { *m = PluginsRequest{} }
   125  func (*PluginsRequest) ProtoMessage() {}
   126  func (*PluginsRequest) Descriptor() ([]byte, []int) {
   127  	return fileDescriptor_1a14fda866f10715, []int{1}
   128  }
   129  func (m *PluginsRequest) XXX_Unmarshal(b []byte) error {
   130  	return m.Unmarshal(b)
   131  }
   132  func (m *PluginsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   133  	if deterministic {
   134  		return xxx_messageInfo_PluginsRequest.Marshal(b, m, deterministic)
   135  	} else {
   136  		b = b[:cap(b)]
   137  		n, err := m.MarshalTo(b)
   138  		if err != nil {
   139  			return nil, err
   140  		}
   141  		return b[:n], nil
   142  	}
   143  }
   144  func (m *PluginsRequest) XXX_Merge(src proto.Message) {
   145  	xxx_messageInfo_PluginsRequest.Merge(m, src)
   146  }
   147  func (m *PluginsRequest) XXX_Size() int {
   148  	return m.Size()
   149  }
   150  func (m *PluginsRequest) XXX_DiscardUnknown() {
   151  	xxx_messageInfo_PluginsRequest.DiscardUnknown(m)
   152  }
   153  
   154  var xxx_messageInfo_PluginsRequest proto.InternalMessageInfo
   155  
   156  type PluginsResponse struct {
   157  	Plugins              []Plugin `protobuf:"bytes,1,rep,name=plugins,proto3" json:"plugins"`
   158  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   159  	XXX_unrecognized     []byte   `json:"-"`
   160  	XXX_sizecache        int32    `json:"-"`
   161  }
   162  
   163  func (m *PluginsResponse) Reset()      { *m = PluginsResponse{} }
   164  func (*PluginsResponse) ProtoMessage() {}
   165  func (*PluginsResponse) Descriptor() ([]byte, []int) {
   166  	return fileDescriptor_1a14fda866f10715, []int{2}
   167  }
   168  func (m *PluginsResponse) XXX_Unmarshal(b []byte) error {
   169  	return m.Unmarshal(b)
   170  }
   171  func (m *PluginsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   172  	if deterministic {
   173  		return xxx_messageInfo_PluginsResponse.Marshal(b, m, deterministic)
   174  	} else {
   175  		b = b[:cap(b)]
   176  		n, err := m.MarshalTo(b)
   177  		if err != nil {
   178  			return nil, err
   179  		}
   180  		return b[:n], nil
   181  	}
   182  }
   183  func (m *PluginsResponse) XXX_Merge(src proto.Message) {
   184  	xxx_messageInfo_PluginsResponse.Merge(m, src)
   185  }
   186  func (m *PluginsResponse) XXX_Size() int {
   187  	return m.Size()
   188  }
   189  func (m *PluginsResponse) XXX_DiscardUnknown() {
   190  	xxx_messageInfo_PluginsResponse.DiscardUnknown(m)
   191  }
   192  
   193  var xxx_messageInfo_PluginsResponse proto.InternalMessageInfo
   194  
   195  type ServerResponse struct {
   196  	UUID                 string   `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`
   197  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   198  	XXX_unrecognized     []byte   `json:"-"`
   199  	XXX_sizecache        int32    `json:"-"`
   200  }
   201  
   202  func (m *ServerResponse) Reset()      { *m = ServerResponse{} }
   203  func (*ServerResponse) ProtoMessage() {}
   204  func (*ServerResponse) Descriptor() ([]byte, []int) {
   205  	return fileDescriptor_1a14fda866f10715, []int{3}
   206  }
   207  func (m *ServerResponse) XXX_Unmarshal(b []byte) error {
   208  	return m.Unmarshal(b)
   209  }
   210  func (m *ServerResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   211  	if deterministic {
   212  		return xxx_messageInfo_ServerResponse.Marshal(b, m, deterministic)
   213  	} else {
   214  		b = b[:cap(b)]
   215  		n, err := m.MarshalTo(b)
   216  		if err != nil {
   217  			return nil, err
   218  		}
   219  		return b[:n], nil
   220  	}
   221  }
   222  func (m *ServerResponse) XXX_Merge(src proto.Message) {
   223  	xxx_messageInfo_ServerResponse.Merge(m, src)
   224  }
   225  func (m *ServerResponse) XXX_Size() int {
   226  	return m.Size()
   227  }
   228  func (m *ServerResponse) XXX_DiscardUnknown() {
   229  	xxx_messageInfo_ServerResponse.DiscardUnknown(m)
   230  }
   231  
   232  var xxx_messageInfo_ServerResponse proto.InternalMessageInfo
   233  
   234  func init() {
   235  	proto.RegisterType((*Plugin)(nil), "containerd.services.introspection.v1.Plugin")
   236  	proto.RegisterMapType((map[string]string)(nil), "containerd.services.introspection.v1.Plugin.ExportsEntry")
   237  	proto.RegisterType((*PluginsRequest)(nil), "containerd.services.introspection.v1.PluginsRequest")
   238  	proto.RegisterType((*PluginsResponse)(nil), "containerd.services.introspection.v1.PluginsResponse")
   239  	proto.RegisterType((*ServerResponse)(nil), "containerd.services.introspection.v1.ServerResponse")
   240  }
   241  
   242  func init() {
   243  	proto.RegisterFile("github.com/containerd/containerd/api/services/introspection/v1/introspection.proto", fileDescriptor_1a14fda866f10715)
   244  }
   245  
   246  var fileDescriptor_1a14fda866f10715 = []byte{
   247  	// 549 bytes of a gzipped FileDescriptorProto
   248  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0xc1, 0x6e, 0xd3, 0x40,
   249  	0x10, 0xad, 0x9d, 0x34, 0x6e, 0x37, 0xa5, 0xa0, 0x55, 0x55, 0x2c, 0x83, 0x9c, 0x28, 0xe2, 0x10,
   250  	0x21, 0x58, 0xab, 0x01, 0x24, 0x5a, 0x24, 0x0e, 0x51, 0x73, 0x88, 0xd4, 0x43, 0xe5, 0xa8, 0x08,
   251  	0x71, 0xa9, 0x1c, 0x67, 0x63, 0x56, 0x38, 0xde, 0xed, 0xee, 0xda, 0x22, 0x37, 0x3e, 0x2f, 0x47,
   252  	0x8e, 0x9c, 0x02, 0xf5, 0x37, 0xf0, 0x01, 0xc8, 0xbb, 0x76, 0x9a, 0xdc, 0x12, 0x71, 0x9b, 0x79,
   253  	0x33, 0x6f, 0xe6, 0xcd, 0xf3, 0xca, 0xc0, 0x8f, 0x88, 0xfc, 0x9a, 0x8e, 0x51, 0x48, 0x67, 0x5e,
   254  	0x48, 0x13, 0x19, 0x90, 0x04, 0xf3, 0xc9, 0x7a, 0x18, 0x30, 0xe2, 0x09, 0xcc, 0x33, 0x12, 0x62,
   255  	0xe1, 0x91, 0x44, 0x72, 0x2a, 0x18, 0x0e, 0x25, 0xa1, 0x89, 0x97, 0x9d, 0x6d, 0x02, 0x88, 0x71,
   256  	0x2a, 0x29, 0x7c, 0xf1, 0xc0, 0x46, 0x15, 0x13, 0x6d, 0x36, 0x66, 0x67, 0xce, 0xf9, 0x56, 0x9b,
   257  	0xe5, 0x9c, 0x61, 0xe1, 0xb1, 0x38, 0x90, 0x53, 0xca, 0x67, 0x7a, 0x81, 0xf3, 0x34, 0xa2, 0x34,
   258  	0x8a, 0xb1, 0xc7, 0x59, 0xe8, 0x09, 0x19, 0xc8, 0x54, 0x94, 0x85, 0x67, 0x65, 0x41, 0x65, 0xe3,
   259  	0x74, 0xea, 0xe1, 0x19, 0x93, 0xf3, 0xb2, 0x78, 0x12, 0xd1, 0x88, 0xaa, 0xd0, 0x2b, 0x22, 0x8d,
   260  	0x76, 0xfe, 0x9a, 0xa0, 0x71, 0x1d, 0xa7, 0x11, 0x49, 0x20, 0x04, 0xf5, 0x62, 0x9d, 0x6d, 0xb4,
   261  	0x8d, 0xee, 0xa1, 0xaf, 0x62, 0x78, 0x0a, 0x4c, 0x32, 0xb1, 0xcd, 0x02, 0xe9, 0x37, 0xf2, 0x65,
   262  	0xcb, 0x1c, 0x5e, 0xfa, 0x26, 0x99, 0x40, 0x07, 0x1c, 0x70, 0x7c, 0x97, 0x12, 0x8e, 0x85, 0x5d,
   263  	0x6b, 0xd7, 0xba, 0x87, 0xfe, 0x2a, 0x87, 0x1f, 0xc1, 0x61, 0x25, 0x58, 0xd8, 0xf5, 0x76, 0xad,
   264  	0xdb, 0xec, 0x39, 0x68, 0xcd, 0x13, 0x75, 0x13, 0xba, 0x2e, 0x5b, 0xfa, 0xf5, 0xc5, 0xb2, 0xb5,
   265  	0xe7, 0x3f, 0x50, 0xe0, 0x08, 0x58, 0xf8, 0x3b, 0xa3, 0x5c, 0x0a, 0x7b, 0x5f, 0xb1, 0xcf, 0xd1,
   266  	0x36, 0x8e, 0x22, 0x7d, 0x06, 0x1a, 0x68, 0xee, 0x20, 0x91, 0x7c, 0xee, 0x57, 0x93, 0x60, 0x07,
   267  	0x1c, 0x85, 0x01, 0x0b, 0xc6, 0x24, 0x26, 0x92, 0x60, 0x61, 0x37, 0x94, 0xe8, 0x0d, 0x0c, 0xbe,
   268  	0x06, 0x07, 0x24, 0x21, 0xf2, 0x16, 0x73, 0x6e, 0x5b, 0x6d, 0xa3, 0xdb, 0xec, 0x41, 0xa4, 0x1d,
   269  	0x45, 0x9c, 0x85, 0x68, 0xa4, 0xac, 0xf6, 0xad, 0xa2, 0x67, 0xc0, 0xb9, 0x73, 0x01, 0x8e, 0xd6,
   270  	0x77, 0xc1, 0x27, 0xa0, 0xf6, 0x0d, 0xcf, 0x4b, 0xfb, 0x8a, 0x10, 0x9e, 0x80, 0xfd, 0x2c, 0x88,
   271  	0x53, 0xac, 0x0d, 0xf4, 0x75, 0x72, 0x61, 0xbe, 0x37, 0x3a, 0x2f, 0xc1, 0xb1, 0x96, 0x2b, 0x7c,
   272  	0x7c, 0x97, 0x62, 0x21, 0xa1, 0x0d, 0xac, 0x29, 0x89, 0x25, 0xe6, 0xc2, 0x36, 0x94, 0xb6, 0x2a,
   273  	0xed, 0xdc, 0x82, 0xc7, 0xab, 0x5e, 0xc1, 0x68, 0x22, 0x30, 0xbc, 0x02, 0x16, 0xd3, 0x90, 0x6a,
   274  	0x6e, 0xf6, 0x5e, 0xed, 0x62, 0x51, 0x69, 0x79, 0x35, 0xa2, 0x83, 0xc0, 0xf1, 0x08, 0xf3, 0x0c,
   275  	0xf3, 0xd5, 0xfc, 0xe7, 0xa0, 0x9e, 0xa6, 0x64, 0xa2, 0x6f, 0xe9, 0x1f, 0xe4, 0xcb, 0x56, 0xfd,
   276  	0xe6, 0x66, 0x78, 0xe9, 0x2b, 0xb4, 0xf7, 0xdb, 0x00, 0x8f, 0x86, 0xeb, 0xa3, 0x61, 0x06, 0xac,
   277  	0x52, 0x22, 0x7c, 0xbb, 0x8b, 0x92, 0xea, 0x7a, 0xe7, 0xdd, 0x8e, 0xac, 0x52, 0xe7, 0x27, 0xd0,
   278  	0xd0, 0xca, 0xe1, 0x69, 0xf5, 0xa5, 0xaa, 0xb7, 0x8f, 0x06, 0xc5, 0xdb, 0x77, 0xb6, 0x94, 0xb3,
   279  	0x79, 0x7f, 0x7f, 0xba, 0xb8, 0x77, 0xf7, 0x7e, 0xdd, 0xbb, 0x7b, 0x3f, 0x72, 0xd7, 0x58, 0xe4,
   280  	0xae, 0xf1, 0x33, 0x77, 0x8d, 0x3f, 0xb9, 0x6b, 0x7c, 0xb9, 0xfa, 0xbf, 0x1f, 0xc6, 0x87, 0x0d,
   281  	0xe0, 0x73, 0x6d, 0xdc, 0x50, 0x7a, 0xdf, 0xfc, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x0c, 0xb3, 0x50,
   282  	0xdc, 0x89, 0x04, 0x00, 0x00,
   283  }
   284  
   285  // Reference imports to suppress errors if they are not otherwise used.
   286  var _ context.Context
   287  var _ grpc.ClientConn
   288  
   289  // This is a compile-time assertion to ensure that this generated file
   290  // is compatible with the grpc package it is being compiled against.
   291  const _ = grpc.SupportPackageIsVersion4
   292  
   293  // IntrospectionClient is the client API for Introspection service.
   294  //
   295  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
   296  type IntrospectionClient interface {
   297  	// Plugins returns a list of plugins in containerd.
   298  	//
   299  	// Clients can use this to detect features and capabilities when using
   300  	// containerd.
   301  	Plugins(ctx context.Context, in *PluginsRequest, opts ...grpc.CallOption) (*PluginsResponse, error)
   302  	// Server returns information about the containerd server
   303  	Server(ctx context.Context, in *types1.Empty, opts ...grpc.CallOption) (*ServerResponse, error)
   304  }
   305  
   306  type introspectionClient struct {
   307  	cc *grpc.ClientConn
   308  }
   309  
   310  func NewIntrospectionClient(cc *grpc.ClientConn) IntrospectionClient {
   311  	return &introspectionClient{cc}
   312  }
   313  
   314  func (c *introspectionClient) Plugins(ctx context.Context, in *PluginsRequest, opts ...grpc.CallOption) (*PluginsResponse, error) {
   315  	out := new(PluginsResponse)
   316  	err := c.cc.Invoke(ctx, "/containerd.services.introspection.v1.Introspection/Plugins", in, out, opts...)
   317  	if err != nil {
   318  		return nil, err
   319  	}
   320  	return out, nil
   321  }
   322  
   323  func (c *introspectionClient) Server(ctx context.Context, in *types1.Empty, opts ...grpc.CallOption) (*ServerResponse, error) {
   324  	out := new(ServerResponse)
   325  	err := c.cc.Invoke(ctx, "/containerd.services.introspection.v1.Introspection/Server", in, out, opts...)
   326  	if err != nil {
   327  		return nil, err
   328  	}
   329  	return out, nil
   330  }
   331  
   332  // IntrospectionServer is the server API for Introspection service.
   333  type IntrospectionServer interface {
   334  	// Plugins returns a list of plugins in containerd.
   335  	//
   336  	// Clients can use this to detect features and capabilities when using
   337  	// containerd.
   338  	Plugins(context.Context, *PluginsRequest) (*PluginsResponse, error)
   339  	// Server returns information about the containerd server
   340  	Server(context.Context, *types1.Empty) (*ServerResponse, error)
   341  }
   342  
   343  func RegisterIntrospectionServer(s *grpc.Server, srv IntrospectionServer) {
   344  	s.RegisterService(&_Introspection_serviceDesc, srv)
   345  }
   346  
   347  func _Introspection_Plugins_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   348  	in := new(PluginsRequest)
   349  	if err := dec(in); err != nil {
   350  		return nil, err
   351  	}
   352  	if interceptor == nil {
   353  		return srv.(IntrospectionServer).Plugins(ctx, in)
   354  	}
   355  	info := &grpc.UnaryServerInfo{
   356  		Server:     srv,
   357  		FullMethod: "/containerd.services.introspection.v1.Introspection/Plugins",
   358  	}
   359  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   360  		return srv.(IntrospectionServer).Plugins(ctx, req.(*PluginsRequest))
   361  	}
   362  	return interceptor(ctx, in, info, handler)
   363  }
   364  
   365  func _Introspection_Server_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   366  	in := new(types1.Empty)
   367  	if err := dec(in); err != nil {
   368  		return nil, err
   369  	}
   370  	if interceptor == nil {
   371  		return srv.(IntrospectionServer).Server(ctx, in)
   372  	}
   373  	info := &grpc.UnaryServerInfo{
   374  		Server:     srv,
   375  		FullMethod: "/containerd.services.introspection.v1.Introspection/Server",
   376  	}
   377  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   378  		return srv.(IntrospectionServer).Server(ctx, req.(*types1.Empty))
   379  	}
   380  	return interceptor(ctx, in, info, handler)
   381  }
   382  
   383  var _Introspection_serviceDesc = grpc.ServiceDesc{
   384  	ServiceName: "containerd.services.introspection.v1.Introspection",
   385  	HandlerType: (*IntrospectionServer)(nil),
   386  	Methods: []grpc.MethodDesc{
   387  		{
   388  			MethodName: "Plugins",
   389  			Handler:    _Introspection_Plugins_Handler,
   390  		},
   391  		{
   392  			MethodName: "Server",
   393  			Handler:    _Introspection_Server_Handler,
   394  		},
   395  	},
   396  	Streams:  []grpc.StreamDesc{},
   397  	Metadata: "github.com/containerd/containerd/api/services/introspection/v1/introspection.proto",
   398  }
   399  
   400  func (m *Plugin) Marshal() (dAtA []byte, err error) {
   401  	size := m.Size()
   402  	dAtA = make([]byte, size)
   403  	n, err := m.MarshalTo(dAtA)
   404  	if err != nil {
   405  		return nil, err
   406  	}
   407  	return dAtA[:n], nil
   408  }
   409  
   410  func (m *Plugin) MarshalTo(dAtA []byte) (int, error) {
   411  	var i int
   412  	_ = i
   413  	var l int
   414  	_ = l
   415  	if len(m.Type) > 0 {
   416  		dAtA[i] = 0xa
   417  		i++
   418  		i = encodeVarintIntrospection(dAtA, i, uint64(len(m.Type)))
   419  		i += copy(dAtA[i:], m.Type)
   420  	}
   421  	if len(m.ID) > 0 {
   422  		dAtA[i] = 0x12
   423  		i++
   424  		i = encodeVarintIntrospection(dAtA, i, uint64(len(m.ID)))
   425  		i += copy(dAtA[i:], m.ID)
   426  	}
   427  	if len(m.Requires) > 0 {
   428  		for _, s := range m.Requires {
   429  			dAtA[i] = 0x1a
   430  			i++
   431  			l = len(s)
   432  			for l >= 1<<7 {
   433  				dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
   434  				l >>= 7
   435  				i++
   436  			}
   437  			dAtA[i] = uint8(l)
   438  			i++
   439  			i += copy(dAtA[i:], s)
   440  		}
   441  	}
   442  	if len(m.Platforms) > 0 {
   443  		for _, msg := range m.Platforms {
   444  			dAtA[i] = 0x22
   445  			i++
   446  			i = encodeVarintIntrospection(dAtA, i, uint64(msg.Size()))
   447  			n, err := msg.MarshalTo(dAtA[i:])
   448  			if err != nil {
   449  				return 0, err
   450  			}
   451  			i += n
   452  		}
   453  	}
   454  	if len(m.Exports) > 0 {
   455  		for k, _ := range m.Exports {
   456  			dAtA[i] = 0x2a
   457  			i++
   458  			v := m.Exports[k]
   459  			mapSize := 1 + len(k) + sovIntrospection(uint64(len(k))) + 1 + len(v) + sovIntrospection(uint64(len(v)))
   460  			i = encodeVarintIntrospection(dAtA, i, uint64(mapSize))
   461  			dAtA[i] = 0xa
   462  			i++
   463  			i = encodeVarintIntrospection(dAtA, i, uint64(len(k)))
   464  			i += copy(dAtA[i:], k)
   465  			dAtA[i] = 0x12
   466  			i++
   467  			i = encodeVarintIntrospection(dAtA, i, uint64(len(v)))
   468  			i += copy(dAtA[i:], v)
   469  		}
   470  	}
   471  	if len(m.Capabilities) > 0 {
   472  		for _, s := range m.Capabilities {
   473  			dAtA[i] = 0x32
   474  			i++
   475  			l = len(s)
   476  			for l >= 1<<7 {
   477  				dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
   478  				l >>= 7
   479  				i++
   480  			}
   481  			dAtA[i] = uint8(l)
   482  			i++
   483  			i += copy(dAtA[i:], s)
   484  		}
   485  	}
   486  	if m.InitErr != nil {
   487  		dAtA[i] = 0x3a
   488  		i++
   489  		i = encodeVarintIntrospection(dAtA, i, uint64(m.InitErr.Size()))
   490  		n1, err := m.InitErr.MarshalTo(dAtA[i:])
   491  		if err != nil {
   492  			return 0, err
   493  		}
   494  		i += n1
   495  	}
   496  	if m.XXX_unrecognized != nil {
   497  		i += copy(dAtA[i:], m.XXX_unrecognized)
   498  	}
   499  	return i, nil
   500  }
   501  
   502  func (m *PluginsRequest) Marshal() (dAtA []byte, err error) {
   503  	size := m.Size()
   504  	dAtA = make([]byte, size)
   505  	n, err := m.MarshalTo(dAtA)
   506  	if err != nil {
   507  		return nil, err
   508  	}
   509  	return dAtA[:n], nil
   510  }
   511  
   512  func (m *PluginsRequest) MarshalTo(dAtA []byte) (int, error) {
   513  	var i int
   514  	_ = i
   515  	var l int
   516  	_ = l
   517  	if len(m.Filters) > 0 {
   518  		for _, s := range m.Filters {
   519  			dAtA[i] = 0xa
   520  			i++
   521  			l = len(s)
   522  			for l >= 1<<7 {
   523  				dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
   524  				l >>= 7
   525  				i++
   526  			}
   527  			dAtA[i] = uint8(l)
   528  			i++
   529  			i += copy(dAtA[i:], s)
   530  		}
   531  	}
   532  	if m.XXX_unrecognized != nil {
   533  		i += copy(dAtA[i:], m.XXX_unrecognized)
   534  	}
   535  	return i, nil
   536  }
   537  
   538  func (m *PluginsResponse) Marshal() (dAtA []byte, err error) {
   539  	size := m.Size()
   540  	dAtA = make([]byte, size)
   541  	n, err := m.MarshalTo(dAtA)
   542  	if err != nil {
   543  		return nil, err
   544  	}
   545  	return dAtA[:n], nil
   546  }
   547  
   548  func (m *PluginsResponse) MarshalTo(dAtA []byte) (int, error) {
   549  	var i int
   550  	_ = i
   551  	var l int
   552  	_ = l
   553  	if len(m.Plugins) > 0 {
   554  		for _, msg := range m.Plugins {
   555  			dAtA[i] = 0xa
   556  			i++
   557  			i = encodeVarintIntrospection(dAtA, i, uint64(msg.Size()))
   558  			n, err := msg.MarshalTo(dAtA[i:])
   559  			if err != nil {
   560  				return 0, err
   561  			}
   562  			i += n
   563  		}
   564  	}
   565  	if m.XXX_unrecognized != nil {
   566  		i += copy(dAtA[i:], m.XXX_unrecognized)
   567  	}
   568  	return i, nil
   569  }
   570  
   571  func (m *ServerResponse) Marshal() (dAtA []byte, err error) {
   572  	size := m.Size()
   573  	dAtA = make([]byte, size)
   574  	n, err := m.MarshalTo(dAtA)
   575  	if err != nil {
   576  		return nil, err
   577  	}
   578  	return dAtA[:n], nil
   579  }
   580  
   581  func (m *ServerResponse) MarshalTo(dAtA []byte) (int, error) {
   582  	var i int
   583  	_ = i
   584  	var l int
   585  	_ = l
   586  	if len(m.UUID) > 0 {
   587  		dAtA[i] = 0xa
   588  		i++
   589  		i = encodeVarintIntrospection(dAtA, i, uint64(len(m.UUID)))
   590  		i += copy(dAtA[i:], m.UUID)
   591  	}
   592  	if m.XXX_unrecognized != nil {
   593  		i += copy(dAtA[i:], m.XXX_unrecognized)
   594  	}
   595  	return i, nil
   596  }
   597  
   598  func encodeVarintIntrospection(dAtA []byte, offset int, v uint64) int {
   599  	for v >= 1<<7 {
   600  		dAtA[offset] = uint8(v&0x7f | 0x80)
   601  		v >>= 7
   602  		offset++
   603  	}
   604  	dAtA[offset] = uint8(v)
   605  	return offset + 1
   606  }
   607  func (m *Plugin) Size() (n int) {
   608  	if m == nil {
   609  		return 0
   610  	}
   611  	var l int
   612  	_ = l
   613  	l = len(m.Type)
   614  	if l > 0 {
   615  		n += 1 + l + sovIntrospection(uint64(l))
   616  	}
   617  	l = len(m.ID)
   618  	if l > 0 {
   619  		n += 1 + l + sovIntrospection(uint64(l))
   620  	}
   621  	if len(m.Requires) > 0 {
   622  		for _, s := range m.Requires {
   623  			l = len(s)
   624  			n += 1 + l + sovIntrospection(uint64(l))
   625  		}
   626  	}
   627  	if len(m.Platforms) > 0 {
   628  		for _, e := range m.Platforms {
   629  			l = e.Size()
   630  			n += 1 + l + sovIntrospection(uint64(l))
   631  		}
   632  	}
   633  	if len(m.Exports) > 0 {
   634  		for k, v := range m.Exports {
   635  			_ = k
   636  			_ = v
   637  			mapEntrySize := 1 + len(k) + sovIntrospection(uint64(len(k))) + 1 + len(v) + sovIntrospection(uint64(len(v)))
   638  			n += mapEntrySize + 1 + sovIntrospection(uint64(mapEntrySize))
   639  		}
   640  	}
   641  	if len(m.Capabilities) > 0 {
   642  		for _, s := range m.Capabilities {
   643  			l = len(s)
   644  			n += 1 + l + sovIntrospection(uint64(l))
   645  		}
   646  	}
   647  	if m.InitErr != nil {
   648  		l = m.InitErr.Size()
   649  		n += 1 + l + sovIntrospection(uint64(l))
   650  	}
   651  	if m.XXX_unrecognized != nil {
   652  		n += len(m.XXX_unrecognized)
   653  	}
   654  	return n
   655  }
   656  
   657  func (m *PluginsRequest) Size() (n int) {
   658  	if m == nil {
   659  		return 0
   660  	}
   661  	var l int
   662  	_ = l
   663  	if len(m.Filters) > 0 {
   664  		for _, s := range m.Filters {
   665  			l = len(s)
   666  			n += 1 + l + sovIntrospection(uint64(l))
   667  		}
   668  	}
   669  	if m.XXX_unrecognized != nil {
   670  		n += len(m.XXX_unrecognized)
   671  	}
   672  	return n
   673  }
   674  
   675  func (m *PluginsResponse) Size() (n int) {
   676  	if m == nil {
   677  		return 0
   678  	}
   679  	var l int
   680  	_ = l
   681  	if len(m.Plugins) > 0 {
   682  		for _, e := range m.Plugins {
   683  			l = e.Size()
   684  			n += 1 + l + sovIntrospection(uint64(l))
   685  		}
   686  	}
   687  	if m.XXX_unrecognized != nil {
   688  		n += len(m.XXX_unrecognized)
   689  	}
   690  	return n
   691  }
   692  
   693  func (m *ServerResponse) Size() (n int) {
   694  	if m == nil {
   695  		return 0
   696  	}
   697  	var l int
   698  	_ = l
   699  	l = len(m.UUID)
   700  	if l > 0 {
   701  		n += 1 + l + sovIntrospection(uint64(l))
   702  	}
   703  	if m.XXX_unrecognized != nil {
   704  		n += len(m.XXX_unrecognized)
   705  	}
   706  	return n
   707  }
   708  
   709  func sovIntrospection(x uint64) (n int) {
   710  	for {
   711  		n++
   712  		x >>= 7
   713  		if x == 0 {
   714  			break
   715  		}
   716  	}
   717  	return n
   718  }
   719  func sozIntrospection(x uint64) (n int) {
   720  	return sovIntrospection(uint64((x << 1) ^ uint64((int64(x) >> 63))))
   721  }
   722  func (this *Plugin) String() string {
   723  	if this == nil {
   724  		return "nil"
   725  	}
   726  	keysForExports := make([]string, 0, len(this.Exports))
   727  	for k, _ := range this.Exports {
   728  		keysForExports = append(keysForExports, k)
   729  	}
   730  	github_com_gogo_protobuf_sortkeys.Strings(keysForExports)
   731  	mapStringForExports := "map[string]string{"
   732  	for _, k := range keysForExports {
   733  		mapStringForExports += fmt.Sprintf("%v: %v,", k, this.Exports[k])
   734  	}
   735  	mapStringForExports += "}"
   736  	s := strings.Join([]string{`&Plugin{`,
   737  		`Type:` + fmt.Sprintf("%v", this.Type) + `,`,
   738  		`ID:` + fmt.Sprintf("%v", this.ID) + `,`,
   739  		`Requires:` + fmt.Sprintf("%v", this.Requires) + `,`,
   740  		`Platforms:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Platforms), "Platform", "types.Platform", 1), `&`, ``, 1) + `,`,
   741  		`Exports:` + mapStringForExports + `,`,
   742  		`Capabilities:` + fmt.Sprintf("%v", this.Capabilities) + `,`,
   743  		`InitErr:` + strings.Replace(fmt.Sprintf("%v", this.InitErr), "Status", "rpc.Status", 1) + `,`,
   744  		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
   745  		`}`,
   746  	}, "")
   747  	return s
   748  }
   749  func (this *PluginsRequest) String() string {
   750  	if this == nil {
   751  		return "nil"
   752  	}
   753  	s := strings.Join([]string{`&PluginsRequest{`,
   754  		`Filters:` + fmt.Sprintf("%v", this.Filters) + `,`,
   755  		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
   756  		`}`,
   757  	}, "")
   758  	return s
   759  }
   760  func (this *PluginsResponse) String() string {
   761  	if this == nil {
   762  		return "nil"
   763  	}
   764  	s := strings.Join([]string{`&PluginsResponse{`,
   765  		`Plugins:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Plugins), "Plugin", "Plugin", 1), `&`, ``, 1) + `,`,
   766  		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
   767  		`}`,
   768  	}, "")
   769  	return s
   770  }
   771  func (this *ServerResponse) String() string {
   772  	if this == nil {
   773  		return "nil"
   774  	}
   775  	s := strings.Join([]string{`&ServerResponse{`,
   776  		`UUID:` + fmt.Sprintf("%v", this.UUID) + `,`,
   777  		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
   778  		`}`,
   779  	}, "")
   780  	return s
   781  }
   782  func valueToStringIntrospection(v interface{}) string {
   783  	rv := reflect.ValueOf(v)
   784  	if rv.IsNil() {
   785  		return "nil"
   786  	}
   787  	pv := reflect.Indirect(rv).Interface()
   788  	return fmt.Sprintf("*%v", pv)
   789  }
   790  func (m *Plugin) Unmarshal(dAtA []byte) error {
   791  	l := len(dAtA)
   792  	iNdEx := 0
   793  	for iNdEx < l {
   794  		preIndex := iNdEx
   795  		var wire uint64
   796  		for shift := uint(0); ; shift += 7 {
   797  			if shift >= 64 {
   798  				return ErrIntOverflowIntrospection
   799  			}
   800  			if iNdEx >= l {
   801  				return io.ErrUnexpectedEOF
   802  			}
   803  			b := dAtA[iNdEx]
   804  			iNdEx++
   805  			wire |= uint64(b&0x7F) << shift
   806  			if b < 0x80 {
   807  				break
   808  			}
   809  		}
   810  		fieldNum := int32(wire >> 3)
   811  		wireType := int(wire & 0x7)
   812  		if wireType == 4 {
   813  			return fmt.Errorf("proto: Plugin: wiretype end group for non-group")
   814  		}
   815  		if fieldNum <= 0 {
   816  			return fmt.Errorf("proto: Plugin: illegal tag %d (wire type %d)", fieldNum, wire)
   817  		}
   818  		switch fieldNum {
   819  		case 1:
   820  			if wireType != 2 {
   821  				return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
   822  			}
   823  			var stringLen uint64
   824  			for shift := uint(0); ; shift += 7 {
   825  				if shift >= 64 {
   826  					return ErrIntOverflowIntrospection
   827  				}
   828  				if iNdEx >= l {
   829  					return io.ErrUnexpectedEOF
   830  				}
   831  				b := dAtA[iNdEx]
   832  				iNdEx++
   833  				stringLen |= uint64(b&0x7F) << shift
   834  				if b < 0x80 {
   835  					break
   836  				}
   837  			}
   838  			intStringLen := int(stringLen)
   839  			if intStringLen < 0 {
   840  				return ErrInvalidLengthIntrospection
   841  			}
   842  			postIndex := iNdEx + intStringLen
   843  			if postIndex < 0 {
   844  				return ErrInvalidLengthIntrospection
   845  			}
   846  			if postIndex > l {
   847  				return io.ErrUnexpectedEOF
   848  			}
   849  			m.Type = string(dAtA[iNdEx:postIndex])
   850  			iNdEx = postIndex
   851  		case 2:
   852  			if wireType != 2 {
   853  				return fmt.Errorf("proto: wrong wireType = %d for field ID", wireType)
   854  			}
   855  			var stringLen uint64
   856  			for shift := uint(0); ; shift += 7 {
   857  				if shift >= 64 {
   858  					return ErrIntOverflowIntrospection
   859  				}
   860  				if iNdEx >= l {
   861  					return io.ErrUnexpectedEOF
   862  				}
   863  				b := dAtA[iNdEx]
   864  				iNdEx++
   865  				stringLen |= uint64(b&0x7F) << shift
   866  				if b < 0x80 {
   867  					break
   868  				}
   869  			}
   870  			intStringLen := int(stringLen)
   871  			if intStringLen < 0 {
   872  				return ErrInvalidLengthIntrospection
   873  			}
   874  			postIndex := iNdEx + intStringLen
   875  			if postIndex < 0 {
   876  				return ErrInvalidLengthIntrospection
   877  			}
   878  			if postIndex > l {
   879  				return io.ErrUnexpectedEOF
   880  			}
   881  			m.ID = string(dAtA[iNdEx:postIndex])
   882  			iNdEx = postIndex
   883  		case 3:
   884  			if wireType != 2 {
   885  				return fmt.Errorf("proto: wrong wireType = %d for field Requires", wireType)
   886  			}
   887  			var stringLen uint64
   888  			for shift := uint(0); ; shift += 7 {
   889  				if shift >= 64 {
   890  					return ErrIntOverflowIntrospection
   891  				}
   892  				if iNdEx >= l {
   893  					return io.ErrUnexpectedEOF
   894  				}
   895  				b := dAtA[iNdEx]
   896  				iNdEx++
   897  				stringLen |= uint64(b&0x7F) << shift
   898  				if b < 0x80 {
   899  					break
   900  				}
   901  			}
   902  			intStringLen := int(stringLen)
   903  			if intStringLen < 0 {
   904  				return ErrInvalidLengthIntrospection
   905  			}
   906  			postIndex := iNdEx + intStringLen
   907  			if postIndex < 0 {
   908  				return ErrInvalidLengthIntrospection
   909  			}
   910  			if postIndex > l {
   911  				return io.ErrUnexpectedEOF
   912  			}
   913  			m.Requires = append(m.Requires, string(dAtA[iNdEx:postIndex]))
   914  			iNdEx = postIndex
   915  		case 4:
   916  			if wireType != 2 {
   917  				return fmt.Errorf("proto: wrong wireType = %d for field Platforms", wireType)
   918  			}
   919  			var msglen int
   920  			for shift := uint(0); ; shift += 7 {
   921  				if shift >= 64 {
   922  					return ErrIntOverflowIntrospection
   923  				}
   924  				if iNdEx >= l {
   925  					return io.ErrUnexpectedEOF
   926  				}
   927  				b := dAtA[iNdEx]
   928  				iNdEx++
   929  				msglen |= int(b&0x7F) << shift
   930  				if b < 0x80 {
   931  					break
   932  				}
   933  			}
   934  			if msglen < 0 {
   935  				return ErrInvalidLengthIntrospection
   936  			}
   937  			postIndex := iNdEx + msglen
   938  			if postIndex < 0 {
   939  				return ErrInvalidLengthIntrospection
   940  			}
   941  			if postIndex > l {
   942  				return io.ErrUnexpectedEOF
   943  			}
   944  			m.Platforms = append(m.Platforms, types.Platform{})
   945  			if err := m.Platforms[len(m.Platforms)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
   946  				return err
   947  			}
   948  			iNdEx = postIndex
   949  		case 5:
   950  			if wireType != 2 {
   951  				return fmt.Errorf("proto: wrong wireType = %d for field Exports", wireType)
   952  			}
   953  			var msglen int
   954  			for shift := uint(0); ; shift += 7 {
   955  				if shift >= 64 {
   956  					return ErrIntOverflowIntrospection
   957  				}
   958  				if iNdEx >= l {
   959  					return io.ErrUnexpectedEOF
   960  				}
   961  				b := dAtA[iNdEx]
   962  				iNdEx++
   963  				msglen |= int(b&0x7F) << shift
   964  				if b < 0x80 {
   965  					break
   966  				}
   967  			}
   968  			if msglen < 0 {
   969  				return ErrInvalidLengthIntrospection
   970  			}
   971  			postIndex := iNdEx + msglen
   972  			if postIndex < 0 {
   973  				return ErrInvalidLengthIntrospection
   974  			}
   975  			if postIndex > l {
   976  				return io.ErrUnexpectedEOF
   977  			}
   978  			if m.Exports == nil {
   979  				m.Exports = make(map[string]string)
   980  			}
   981  			var mapkey string
   982  			var mapvalue string
   983  			for iNdEx < postIndex {
   984  				entryPreIndex := iNdEx
   985  				var wire uint64
   986  				for shift := uint(0); ; shift += 7 {
   987  					if shift >= 64 {
   988  						return ErrIntOverflowIntrospection
   989  					}
   990  					if iNdEx >= l {
   991  						return io.ErrUnexpectedEOF
   992  					}
   993  					b := dAtA[iNdEx]
   994  					iNdEx++
   995  					wire |= uint64(b&0x7F) << shift
   996  					if b < 0x80 {
   997  						break
   998  					}
   999  				}
  1000  				fieldNum := int32(wire >> 3)
  1001  				if fieldNum == 1 {
  1002  					var stringLenmapkey uint64
  1003  					for shift := uint(0); ; shift += 7 {
  1004  						if shift >= 64 {
  1005  							return ErrIntOverflowIntrospection
  1006  						}
  1007  						if iNdEx >= l {
  1008  							return io.ErrUnexpectedEOF
  1009  						}
  1010  						b := dAtA[iNdEx]
  1011  						iNdEx++
  1012  						stringLenmapkey |= uint64(b&0x7F) << shift
  1013  						if b < 0x80 {
  1014  							break
  1015  						}
  1016  					}
  1017  					intStringLenmapkey := int(stringLenmapkey)
  1018  					if intStringLenmapkey < 0 {
  1019  						return ErrInvalidLengthIntrospection
  1020  					}
  1021  					postStringIndexmapkey := iNdEx + intStringLenmapkey
  1022  					if postStringIndexmapkey < 0 {
  1023  						return ErrInvalidLengthIntrospection
  1024  					}
  1025  					if postStringIndexmapkey > l {
  1026  						return io.ErrUnexpectedEOF
  1027  					}
  1028  					mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
  1029  					iNdEx = postStringIndexmapkey
  1030  				} else if fieldNum == 2 {
  1031  					var stringLenmapvalue uint64
  1032  					for shift := uint(0); ; shift += 7 {
  1033  						if shift >= 64 {
  1034  							return ErrIntOverflowIntrospection
  1035  						}
  1036  						if iNdEx >= l {
  1037  							return io.ErrUnexpectedEOF
  1038  						}
  1039  						b := dAtA[iNdEx]
  1040  						iNdEx++
  1041  						stringLenmapvalue |= uint64(b&0x7F) << shift
  1042  						if b < 0x80 {
  1043  							break
  1044  						}
  1045  					}
  1046  					intStringLenmapvalue := int(stringLenmapvalue)
  1047  					if intStringLenmapvalue < 0 {
  1048  						return ErrInvalidLengthIntrospection
  1049  					}
  1050  					postStringIndexmapvalue := iNdEx + intStringLenmapvalue
  1051  					if postStringIndexmapvalue < 0 {
  1052  						return ErrInvalidLengthIntrospection
  1053  					}
  1054  					if postStringIndexmapvalue > l {
  1055  						return io.ErrUnexpectedEOF
  1056  					}
  1057  					mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
  1058  					iNdEx = postStringIndexmapvalue
  1059  				} else {
  1060  					iNdEx = entryPreIndex
  1061  					skippy, err := skipIntrospection(dAtA[iNdEx:])
  1062  					if err != nil {
  1063  						return err
  1064  					}
  1065  					if skippy < 0 {
  1066  						return ErrInvalidLengthIntrospection
  1067  					}
  1068  					if (iNdEx + skippy) > postIndex {
  1069  						return io.ErrUnexpectedEOF
  1070  					}
  1071  					iNdEx += skippy
  1072  				}
  1073  			}
  1074  			m.Exports[mapkey] = mapvalue
  1075  			iNdEx = postIndex
  1076  		case 6:
  1077  			if wireType != 2 {
  1078  				return fmt.Errorf("proto: wrong wireType = %d for field Capabilities", wireType)
  1079  			}
  1080  			var stringLen uint64
  1081  			for shift := uint(0); ; shift += 7 {
  1082  				if shift >= 64 {
  1083  					return ErrIntOverflowIntrospection
  1084  				}
  1085  				if iNdEx >= l {
  1086  					return io.ErrUnexpectedEOF
  1087  				}
  1088  				b := dAtA[iNdEx]
  1089  				iNdEx++
  1090  				stringLen |= uint64(b&0x7F) << shift
  1091  				if b < 0x80 {
  1092  					break
  1093  				}
  1094  			}
  1095  			intStringLen := int(stringLen)
  1096  			if intStringLen < 0 {
  1097  				return ErrInvalidLengthIntrospection
  1098  			}
  1099  			postIndex := iNdEx + intStringLen
  1100  			if postIndex < 0 {
  1101  				return ErrInvalidLengthIntrospection
  1102  			}
  1103  			if postIndex > l {
  1104  				return io.ErrUnexpectedEOF
  1105  			}
  1106  			m.Capabilities = append(m.Capabilities, string(dAtA[iNdEx:postIndex]))
  1107  			iNdEx = postIndex
  1108  		case 7:
  1109  			if wireType != 2 {
  1110  				return fmt.Errorf("proto: wrong wireType = %d for field InitErr", wireType)
  1111  			}
  1112  			var msglen int
  1113  			for shift := uint(0); ; shift += 7 {
  1114  				if shift >= 64 {
  1115  					return ErrIntOverflowIntrospection
  1116  				}
  1117  				if iNdEx >= l {
  1118  					return io.ErrUnexpectedEOF
  1119  				}
  1120  				b := dAtA[iNdEx]
  1121  				iNdEx++
  1122  				msglen |= int(b&0x7F) << shift
  1123  				if b < 0x80 {
  1124  					break
  1125  				}
  1126  			}
  1127  			if msglen < 0 {
  1128  				return ErrInvalidLengthIntrospection
  1129  			}
  1130  			postIndex := iNdEx + msglen
  1131  			if postIndex < 0 {
  1132  				return ErrInvalidLengthIntrospection
  1133  			}
  1134  			if postIndex > l {
  1135  				return io.ErrUnexpectedEOF
  1136  			}
  1137  			if m.InitErr == nil {
  1138  				m.InitErr = &rpc.Status{}
  1139  			}
  1140  			if err := m.InitErr.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1141  				return err
  1142  			}
  1143  			iNdEx = postIndex
  1144  		default:
  1145  			iNdEx = preIndex
  1146  			skippy, err := skipIntrospection(dAtA[iNdEx:])
  1147  			if err != nil {
  1148  				return err
  1149  			}
  1150  			if skippy < 0 {
  1151  				return ErrInvalidLengthIntrospection
  1152  			}
  1153  			if (iNdEx + skippy) < 0 {
  1154  				return ErrInvalidLengthIntrospection
  1155  			}
  1156  			if (iNdEx + skippy) > l {
  1157  				return io.ErrUnexpectedEOF
  1158  			}
  1159  			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
  1160  			iNdEx += skippy
  1161  		}
  1162  	}
  1163  
  1164  	if iNdEx > l {
  1165  		return io.ErrUnexpectedEOF
  1166  	}
  1167  	return nil
  1168  }
  1169  func (m *PluginsRequest) Unmarshal(dAtA []byte) error {
  1170  	l := len(dAtA)
  1171  	iNdEx := 0
  1172  	for iNdEx < l {
  1173  		preIndex := iNdEx
  1174  		var wire uint64
  1175  		for shift := uint(0); ; shift += 7 {
  1176  			if shift >= 64 {
  1177  				return ErrIntOverflowIntrospection
  1178  			}
  1179  			if iNdEx >= l {
  1180  				return io.ErrUnexpectedEOF
  1181  			}
  1182  			b := dAtA[iNdEx]
  1183  			iNdEx++
  1184  			wire |= uint64(b&0x7F) << shift
  1185  			if b < 0x80 {
  1186  				break
  1187  			}
  1188  		}
  1189  		fieldNum := int32(wire >> 3)
  1190  		wireType := int(wire & 0x7)
  1191  		if wireType == 4 {
  1192  			return fmt.Errorf("proto: PluginsRequest: wiretype end group for non-group")
  1193  		}
  1194  		if fieldNum <= 0 {
  1195  			return fmt.Errorf("proto: PluginsRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  1196  		}
  1197  		switch fieldNum {
  1198  		case 1:
  1199  			if wireType != 2 {
  1200  				return fmt.Errorf("proto: wrong wireType = %d for field Filters", wireType)
  1201  			}
  1202  			var stringLen uint64
  1203  			for shift := uint(0); ; shift += 7 {
  1204  				if shift >= 64 {
  1205  					return ErrIntOverflowIntrospection
  1206  				}
  1207  				if iNdEx >= l {
  1208  					return io.ErrUnexpectedEOF
  1209  				}
  1210  				b := dAtA[iNdEx]
  1211  				iNdEx++
  1212  				stringLen |= uint64(b&0x7F) << shift
  1213  				if b < 0x80 {
  1214  					break
  1215  				}
  1216  			}
  1217  			intStringLen := int(stringLen)
  1218  			if intStringLen < 0 {
  1219  				return ErrInvalidLengthIntrospection
  1220  			}
  1221  			postIndex := iNdEx + intStringLen
  1222  			if postIndex < 0 {
  1223  				return ErrInvalidLengthIntrospection
  1224  			}
  1225  			if postIndex > l {
  1226  				return io.ErrUnexpectedEOF
  1227  			}
  1228  			m.Filters = append(m.Filters, string(dAtA[iNdEx:postIndex]))
  1229  			iNdEx = postIndex
  1230  		default:
  1231  			iNdEx = preIndex
  1232  			skippy, err := skipIntrospection(dAtA[iNdEx:])
  1233  			if err != nil {
  1234  				return err
  1235  			}
  1236  			if skippy < 0 {
  1237  				return ErrInvalidLengthIntrospection
  1238  			}
  1239  			if (iNdEx + skippy) < 0 {
  1240  				return ErrInvalidLengthIntrospection
  1241  			}
  1242  			if (iNdEx + skippy) > l {
  1243  				return io.ErrUnexpectedEOF
  1244  			}
  1245  			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
  1246  			iNdEx += skippy
  1247  		}
  1248  	}
  1249  
  1250  	if iNdEx > l {
  1251  		return io.ErrUnexpectedEOF
  1252  	}
  1253  	return nil
  1254  }
  1255  func (m *PluginsResponse) 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 ErrIntOverflowIntrospection
  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: PluginsResponse: wiretype end group for non-group")
  1279  		}
  1280  		if fieldNum <= 0 {
  1281  			return fmt.Errorf("proto: PluginsResponse: 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 Plugins", wireType)
  1287  			}
  1288  			var msglen int
  1289  			for shift := uint(0); ; shift += 7 {
  1290  				if shift >= 64 {
  1291  					return ErrIntOverflowIntrospection
  1292  				}
  1293  				if iNdEx >= l {
  1294  					return io.ErrUnexpectedEOF
  1295  				}
  1296  				b := dAtA[iNdEx]
  1297  				iNdEx++
  1298  				msglen |= int(b&0x7F) << shift
  1299  				if b < 0x80 {
  1300  					break
  1301  				}
  1302  			}
  1303  			if msglen < 0 {
  1304  				return ErrInvalidLengthIntrospection
  1305  			}
  1306  			postIndex := iNdEx + msglen
  1307  			if postIndex < 0 {
  1308  				return ErrInvalidLengthIntrospection
  1309  			}
  1310  			if postIndex > l {
  1311  				return io.ErrUnexpectedEOF
  1312  			}
  1313  			m.Plugins = append(m.Plugins, Plugin{})
  1314  			if err := m.Plugins[len(m.Plugins)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1315  				return err
  1316  			}
  1317  			iNdEx = postIndex
  1318  		default:
  1319  			iNdEx = preIndex
  1320  			skippy, err := skipIntrospection(dAtA[iNdEx:])
  1321  			if err != nil {
  1322  				return err
  1323  			}
  1324  			if skippy < 0 {
  1325  				return ErrInvalidLengthIntrospection
  1326  			}
  1327  			if (iNdEx + skippy) < 0 {
  1328  				return ErrInvalidLengthIntrospection
  1329  			}
  1330  			if (iNdEx + skippy) > l {
  1331  				return io.ErrUnexpectedEOF
  1332  			}
  1333  			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
  1334  			iNdEx += skippy
  1335  		}
  1336  	}
  1337  
  1338  	if iNdEx > l {
  1339  		return io.ErrUnexpectedEOF
  1340  	}
  1341  	return nil
  1342  }
  1343  func (m *ServerResponse) Unmarshal(dAtA []byte) error {
  1344  	l := len(dAtA)
  1345  	iNdEx := 0
  1346  	for iNdEx < l {
  1347  		preIndex := iNdEx
  1348  		var wire uint64
  1349  		for shift := uint(0); ; shift += 7 {
  1350  			if shift >= 64 {
  1351  				return ErrIntOverflowIntrospection
  1352  			}
  1353  			if iNdEx >= l {
  1354  				return io.ErrUnexpectedEOF
  1355  			}
  1356  			b := dAtA[iNdEx]
  1357  			iNdEx++
  1358  			wire |= uint64(b&0x7F) << shift
  1359  			if b < 0x80 {
  1360  				break
  1361  			}
  1362  		}
  1363  		fieldNum := int32(wire >> 3)
  1364  		wireType := int(wire & 0x7)
  1365  		if wireType == 4 {
  1366  			return fmt.Errorf("proto: ServerResponse: wiretype end group for non-group")
  1367  		}
  1368  		if fieldNum <= 0 {
  1369  			return fmt.Errorf("proto: ServerResponse: illegal tag %d (wire type %d)", fieldNum, wire)
  1370  		}
  1371  		switch fieldNum {
  1372  		case 1:
  1373  			if wireType != 2 {
  1374  				return fmt.Errorf("proto: wrong wireType = %d for field UUID", wireType)
  1375  			}
  1376  			var stringLen uint64
  1377  			for shift := uint(0); ; shift += 7 {
  1378  				if shift >= 64 {
  1379  					return ErrIntOverflowIntrospection
  1380  				}
  1381  				if iNdEx >= l {
  1382  					return io.ErrUnexpectedEOF
  1383  				}
  1384  				b := dAtA[iNdEx]
  1385  				iNdEx++
  1386  				stringLen |= uint64(b&0x7F) << shift
  1387  				if b < 0x80 {
  1388  					break
  1389  				}
  1390  			}
  1391  			intStringLen := int(stringLen)
  1392  			if intStringLen < 0 {
  1393  				return ErrInvalidLengthIntrospection
  1394  			}
  1395  			postIndex := iNdEx + intStringLen
  1396  			if postIndex < 0 {
  1397  				return ErrInvalidLengthIntrospection
  1398  			}
  1399  			if postIndex > l {
  1400  				return io.ErrUnexpectedEOF
  1401  			}
  1402  			m.UUID = string(dAtA[iNdEx:postIndex])
  1403  			iNdEx = postIndex
  1404  		default:
  1405  			iNdEx = preIndex
  1406  			skippy, err := skipIntrospection(dAtA[iNdEx:])
  1407  			if err != nil {
  1408  				return err
  1409  			}
  1410  			if skippy < 0 {
  1411  				return ErrInvalidLengthIntrospection
  1412  			}
  1413  			if (iNdEx + skippy) < 0 {
  1414  				return ErrInvalidLengthIntrospection
  1415  			}
  1416  			if (iNdEx + skippy) > l {
  1417  				return io.ErrUnexpectedEOF
  1418  			}
  1419  			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
  1420  			iNdEx += skippy
  1421  		}
  1422  	}
  1423  
  1424  	if iNdEx > l {
  1425  		return io.ErrUnexpectedEOF
  1426  	}
  1427  	return nil
  1428  }
  1429  func skipIntrospection(dAtA []byte) (n int, err error) {
  1430  	l := len(dAtA)
  1431  	iNdEx := 0
  1432  	for iNdEx < l {
  1433  		var wire uint64
  1434  		for shift := uint(0); ; shift += 7 {
  1435  			if shift >= 64 {
  1436  				return 0, ErrIntOverflowIntrospection
  1437  			}
  1438  			if iNdEx >= l {
  1439  				return 0, io.ErrUnexpectedEOF
  1440  			}
  1441  			b := dAtA[iNdEx]
  1442  			iNdEx++
  1443  			wire |= (uint64(b) & 0x7F) << shift
  1444  			if b < 0x80 {
  1445  				break
  1446  			}
  1447  		}
  1448  		wireType := int(wire & 0x7)
  1449  		switch wireType {
  1450  		case 0:
  1451  			for shift := uint(0); ; shift += 7 {
  1452  				if shift >= 64 {
  1453  					return 0, ErrIntOverflowIntrospection
  1454  				}
  1455  				if iNdEx >= l {
  1456  					return 0, io.ErrUnexpectedEOF
  1457  				}
  1458  				iNdEx++
  1459  				if dAtA[iNdEx-1] < 0x80 {
  1460  					break
  1461  				}
  1462  			}
  1463  			return iNdEx, nil
  1464  		case 1:
  1465  			iNdEx += 8
  1466  			return iNdEx, nil
  1467  		case 2:
  1468  			var length int
  1469  			for shift := uint(0); ; shift += 7 {
  1470  				if shift >= 64 {
  1471  					return 0, ErrIntOverflowIntrospection
  1472  				}
  1473  				if iNdEx >= l {
  1474  					return 0, io.ErrUnexpectedEOF
  1475  				}
  1476  				b := dAtA[iNdEx]
  1477  				iNdEx++
  1478  				length |= (int(b) & 0x7F) << shift
  1479  				if b < 0x80 {
  1480  					break
  1481  				}
  1482  			}
  1483  			if length < 0 {
  1484  				return 0, ErrInvalidLengthIntrospection
  1485  			}
  1486  			iNdEx += length
  1487  			if iNdEx < 0 {
  1488  				return 0, ErrInvalidLengthIntrospection
  1489  			}
  1490  			return iNdEx, nil
  1491  		case 3:
  1492  			for {
  1493  				var innerWire uint64
  1494  				var start int = iNdEx
  1495  				for shift := uint(0); ; shift += 7 {
  1496  					if shift >= 64 {
  1497  						return 0, ErrIntOverflowIntrospection
  1498  					}
  1499  					if iNdEx >= l {
  1500  						return 0, io.ErrUnexpectedEOF
  1501  					}
  1502  					b := dAtA[iNdEx]
  1503  					iNdEx++
  1504  					innerWire |= (uint64(b) & 0x7F) << shift
  1505  					if b < 0x80 {
  1506  						break
  1507  					}
  1508  				}
  1509  				innerWireType := int(innerWire & 0x7)
  1510  				if innerWireType == 4 {
  1511  					break
  1512  				}
  1513  				next, err := skipIntrospection(dAtA[start:])
  1514  				if err != nil {
  1515  					return 0, err
  1516  				}
  1517  				iNdEx = start + next
  1518  				if iNdEx < 0 {
  1519  					return 0, ErrInvalidLengthIntrospection
  1520  				}
  1521  			}
  1522  			return iNdEx, nil
  1523  		case 4:
  1524  			return iNdEx, nil
  1525  		case 5:
  1526  			iNdEx += 4
  1527  			return iNdEx, nil
  1528  		default:
  1529  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  1530  		}
  1531  	}
  1532  	panic("unreachable")
  1533  }
  1534  
  1535  var (
  1536  	ErrInvalidLengthIntrospection = fmt.Errorf("proto: negative length found during unmarshaling")
  1537  	ErrIntOverflowIntrospection   = fmt.Errorf("proto: integer overflow")
  1538  )