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