github.com/nya3jp/tast@v0.0.0-20230601000426-85c8e4d83a9b/src/go.chromium.org/tast/core/internal/protocol/loopback.pb.go (about)

     1  // Copyright 2021 The ChromiumOS Authors
     2  // Use of this source code is governed by a BSD-style license that can be
     3  // found in the LICENSE file.
     4  
     5  // Code generated by protoc-gen-go. DO NOT EDIT.
     6  // versions:
     7  // 	protoc-gen-go v1.27.1
     8  // 	protoc        v3.21.9
     9  // source: loopback.proto
    10  
    11  package protocol
    12  
    13  import (
    14  	context "context"
    15  	grpc "google.golang.org/grpc"
    16  	codes "google.golang.org/grpc/codes"
    17  	status "google.golang.org/grpc/status"
    18  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    19  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    20  	reflect "reflect"
    21  	sync "sync"
    22  )
    23  
    24  const (
    25  	// Verify that this generated code is sufficiently up-to-date.
    26  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    27  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    28  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    29  )
    30  
    31  type ExecRequest struct {
    32  	state         protoimpl.MessageState
    33  	sizeCache     protoimpl.SizeCache
    34  	unknownFields protoimpl.UnknownFields
    35  
    36  	// Types that are assignable to Type:
    37  	//	*ExecRequest_Init
    38  	//	*ExecRequest_Stdin
    39  	Type isExecRequest_Type `protobuf_oneof:"type"`
    40  }
    41  
    42  func (x *ExecRequest) Reset() {
    43  	*x = ExecRequest{}
    44  	if protoimpl.UnsafeEnabled {
    45  		mi := &file_loopback_proto_msgTypes[0]
    46  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    47  		ms.StoreMessageInfo(mi)
    48  	}
    49  }
    50  
    51  func (x *ExecRequest) String() string {
    52  	return protoimpl.X.MessageStringOf(x)
    53  }
    54  
    55  func (*ExecRequest) ProtoMessage() {}
    56  
    57  func (x *ExecRequest) ProtoReflect() protoreflect.Message {
    58  	mi := &file_loopback_proto_msgTypes[0]
    59  	if protoimpl.UnsafeEnabled && x != nil {
    60  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    61  		if ms.LoadMessageInfo() == nil {
    62  			ms.StoreMessageInfo(mi)
    63  		}
    64  		return ms
    65  	}
    66  	return mi.MessageOf(x)
    67  }
    68  
    69  // Deprecated: Use ExecRequest.ProtoReflect.Descriptor instead.
    70  func (*ExecRequest) Descriptor() ([]byte, []int) {
    71  	return file_loopback_proto_rawDescGZIP(), []int{0}
    72  }
    73  
    74  func (m *ExecRequest) GetType() isExecRequest_Type {
    75  	if m != nil {
    76  		return m.Type
    77  	}
    78  	return nil
    79  }
    80  
    81  func (x *ExecRequest) GetInit() *InitEvent {
    82  	if x, ok := x.GetType().(*ExecRequest_Init); ok {
    83  		return x.Init
    84  	}
    85  	return nil
    86  }
    87  
    88  func (x *ExecRequest) GetStdin() *PipeEvent {
    89  	if x, ok := x.GetType().(*ExecRequest_Stdin); ok {
    90  		return x.Stdin
    91  	}
    92  	return nil
    93  }
    94  
    95  type isExecRequest_Type interface {
    96  	isExecRequest_Type()
    97  }
    98  
    99  type ExecRequest_Init struct {
   100  	Init *InitEvent `protobuf:"bytes,1,opt,name=init,proto3,oneof"`
   101  }
   102  
   103  type ExecRequest_Stdin struct {
   104  	Stdin *PipeEvent `protobuf:"bytes,2,opt,name=stdin,proto3,oneof"`
   105  }
   106  
   107  func (*ExecRequest_Init) isExecRequest_Type() {}
   108  
   109  func (*ExecRequest_Stdin) isExecRequest_Type() {}
   110  
   111  type ExecResponse struct {
   112  	state         protoimpl.MessageState
   113  	sizeCache     protoimpl.SizeCache
   114  	unknownFields protoimpl.UnknownFields
   115  
   116  	// Types that are assignable to Type:
   117  	//	*ExecResponse_Exit
   118  	//	*ExecResponse_Stdout
   119  	//	*ExecResponse_Stderr
   120  	Type isExecResponse_Type `protobuf_oneof:"type"`
   121  }
   122  
   123  func (x *ExecResponse) Reset() {
   124  	*x = ExecResponse{}
   125  	if protoimpl.UnsafeEnabled {
   126  		mi := &file_loopback_proto_msgTypes[1]
   127  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   128  		ms.StoreMessageInfo(mi)
   129  	}
   130  }
   131  
   132  func (x *ExecResponse) String() string {
   133  	return protoimpl.X.MessageStringOf(x)
   134  }
   135  
   136  func (*ExecResponse) ProtoMessage() {}
   137  
   138  func (x *ExecResponse) ProtoReflect() protoreflect.Message {
   139  	mi := &file_loopback_proto_msgTypes[1]
   140  	if protoimpl.UnsafeEnabled && x != nil {
   141  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   142  		if ms.LoadMessageInfo() == nil {
   143  			ms.StoreMessageInfo(mi)
   144  		}
   145  		return ms
   146  	}
   147  	return mi.MessageOf(x)
   148  }
   149  
   150  // Deprecated: Use ExecResponse.ProtoReflect.Descriptor instead.
   151  func (*ExecResponse) Descriptor() ([]byte, []int) {
   152  	return file_loopback_proto_rawDescGZIP(), []int{1}
   153  }
   154  
   155  func (m *ExecResponse) GetType() isExecResponse_Type {
   156  	if m != nil {
   157  		return m.Type
   158  	}
   159  	return nil
   160  }
   161  
   162  func (x *ExecResponse) GetExit() *ExitEvent {
   163  	if x, ok := x.GetType().(*ExecResponse_Exit); ok {
   164  		return x.Exit
   165  	}
   166  	return nil
   167  }
   168  
   169  func (x *ExecResponse) GetStdout() *PipeEvent {
   170  	if x, ok := x.GetType().(*ExecResponse_Stdout); ok {
   171  		return x.Stdout
   172  	}
   173  	return nil
   174  }
   175  
   176  func (x *ExecResponse) GetStderr() *PipeEvent {
   177  	if x, ok := x.GetType().(*ExecResponse_Stderr); ok {
   178  		return x.Stderr
   179  	}
   180  	return nil
   181  }
   182  
   183  type isExecResponse_Type interface {
   184  	isExecResponse_Type()
   185  }
   186  
   187  type ExecResponse_Exit struct {
   188  	Exit *ExitEvent `protobuf:"bytes,1,opt,name=exit,proto3,oneof"`
   189  }
   190  
   191  type ExecResponse_Stdout struct {
   192  	Stdout *PipeEvent `protobuf:"bytes,2,opt,name=stdout,proto3,oneof"`
   193  }
   194  
   195  type ExecResponse_Stderr struct {
   196  	Stderr *PipeEvent `protobuf:"bytes,3,opt,name=stderr,proto3,oneof"`
   197  }
   198  
   199  func (*ExecResponse_Exit) isExecResponse_Type() {}
   200  
   201  func (*ExecResponse_Stdout) isExecResponse_Type() {}
   202  
   203  func (*ExecResponse_Stderr) isExecResponse_Type() {}
   204  
   205  type InitEvent struct {
   206  	state         protoimpl.MessageState
   207  	sizeCache     protoimpl.SizeCache
   208  	unknownFields protoimpl.UnknownFields
   209  
   210  	Args []string `protobuf:"bytes,1,rep,name=args,proto3" json:"args,omitempty"`
   211  }
   212  
   213  func (x *InitEvent) Reset() {
   214  	*x = InitEvent{}
   215  	if protoimpl.UnsafeEnabled {
   216  		mi := &file_loopback_proto_msgTypes[2]
   217  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   218  		ms.StoreMessageInfo(mi)
   219  	}
   220  }
   221  
   222  func (x *InitEvent) String() string {
   223  	return protoimpl.X.MessageStringOf(x)
   224  }
   225  
   226  func (*InitEvent) ProtoMessage() {}
   227  
   228  func (x *InitEvent) ProtoReflect() protoreflect.Message {
   229  	mi := &file_loopback_proto_msgTypes[2]
   230  	if protoimpl.UnsafeEnabled && x != nil {
   231  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   232  		if ms.LoadMessageInfo() == nil {
   233  			ms.StoreMessageInfo(mi)
   234  		}
   235  		return ms
   236  	}
   237  	return mi.MessageOf(x)
   238  }
   239  
   240  // Deprecated: Use InitEvent.ProtoReflect.Descriptor instead.
   241  func (*InitEvent) Descriptor() ([]byte, []int) {
   242  	return file_loopback_proto_rawDescGZIP(), []int{2}
   243  }
   244  
   245  func (x *InitEvent) GetArgs() []string {
   246  	if x != nil {
   247  		return x.Args
   248  	}
   249  	return nil
   250  }
   251  
   252  type ExitEvent struct {
   253  	state         protoimpl.MessageState
   254  	sizeCache     protoimpl.SizeCache
   255  	unknownFields protoimpl.UnknownFields
   256  
   257  	Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
   258  }
   259  
   260  func (x *ExitEvent) Reset() {
   261  	*x = ExitEvent{}
   262  	if protoimpl.UnsafeEnabled {
   263  		mi := &file_loopback_proto_msgTypes[3]
   264  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   265  		ms.StoreMessageInfo(mi)
   266  	}
   267  }
   268  
   269  func (x *ExitEvent) String() string {
   270  	return protoimpl.X.MessageStringOf(x)
   271  }
   272  
   273  func (*ExitEvent) ProtoMessage() {}
   274  
   275  func (x *ExitEvent) ProtoReflect() protoreflect.Message {
   276  	mi := &file_loopback_proto_msgTypes[3]
   277  	if protoimpl.UnsafeEnabled && x != nil {
   278  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   279  		if ms.LoadMessageInfo() == nil {
   280  			ms.StoreMessageInfo(mi)
   281  		}
   282  		return ms
   283  	}
   284  	return mi.MessageOf(x)
   285  }
   286  
   287  // Deprecated: Use ExitEvent.ProtoReflect.Descriptor instead.
   288  func (*ExitEvent) Descriptor() ([]byte, []int) {
   289  	return file_loopback_proto_rawDescGZIP(), []int{3}
   290  }
   291  
   292  func (x *ExitEvent) GetCode() int32 {
   293  	if x != nil {
   294  		return x.Code
   295  	}
   296  	return 0
   297  }
   298  
   299  type PipeEvent struct {
   300  	state         protoimpl.MessageState
   301  	sizeCache     protoimpl.SizeCache
   302  	unknownFields protoimpl.UnknownFields
   303  
   304  	Data  []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
   305  	Close bool   `protobuf:"varint,2,opt,name=close,proto3" json:"close,omitempty"`
   306  }
   307  
   308  func (x *PipeEvent) Reset() {
   309  	*x = PipeEvent{}
   310  	if protoimpl.UnsafeEnabled {
   311  		mi := &file_loopback_proto_msgTypes[4]
   312  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   313  		ms.StoreMessageInfo(mi)
   314  	}
   315  }
   316  
   317  func (x *PipeEvent) String() string {
   318  	return protoimpl.X.MessageStringOf(x)
   319  }
   320  
   321  func (*PipeEvent) ProtoMessage() {}
   322  
   323  func (x *PipeEvent) ProtoReflect() protoreflect.Message {
   324  	mi := &file_loopback_proto_msgTypes[4]
   325  	if protoimpl.UnsafeEnabled && x != nil {
   326  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   327  		if ms.LoadMessageInfo() == nil {
   328  			ms.StoreMessageInfo(mi)
   329  		}
   330  		return ms
   331  	}
   332  	return mi.MessageOf(x)
   333  }
   334  
   335  // Deprecated: Use PipeEvent.ProtoReflect.Descriptor instead.
   336  func (*PipeEvent) Descriptor() ([]byte, []int) {
   337  	return file_loopback_proto_rawDescGZIP(), []int{4}
   338  }
   339  
   340  func (x *PipeEvent) GetData() []byte {
   341  	if x != nil {
   342  		return x.Data
   343  	}
   344  	return nil
   345  }
   346  
   347  func (x *PipeEvent) GetClose() bool {
   348  	if x != nil {
   349  		return x.Close
   350  	}
   351  	return false
   352  }
   353  
   354  var File_loopback_proto protoreflect.FileDescriptor
   355  
   356  var file_loopback_proto_rawDesc = []byte{
   357  	0x0a, 0x0e, 0x6c, 0x6f, 0x6f, 0x70, 0x62, 0x61, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   358  	0x12, 0x09, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x6f, 0x0a, 0x0b, 0x45,
   359  	0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x04, 0x69, 0x6e,
   360  	0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e,
   361  	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00,
   362  	0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x12, 0x2c, 0x0a, 0x05, 0x73, 0x74, 0x64, 0x69, 0x6e, 0x18,
   363  	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72,
   364  	0x65, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x05, 0x73,
   365  	0x74, 0x64, 0x69, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xa2, 0x01, 0x0a,
   366  	0x0c, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a,
   367  	0x04, 0x65, 0x78, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x61,
   368  	0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x78, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e,
   369  	0x74, 0x48, 0x00, 0x52, 0x04, 0x65, 0x78, 0x69, 0x74, 0x12, 0x2e, 0x0a, 0x06, 0x73, 0x74, 0x64,
   370  	0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x61, 0x73, 0x74,
   371  	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48,
   372  	0x00, 0x52, 0x06, 0x73, 0x74, 0x64, 0x6f, 0x75, 0x74, 0x12, 0x2e, 0x0a, 0x06, 0x73, 0x74, 0x64,
   373  	0x65, 0x72, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x61, 0x73, 0x74,
   374  	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48,
   375  	0x00, 0x52, 0x06, 0x73, 0x74, 0x64, 0x65, 0x72, 0x72, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70,
   376  	0x65, 0x22, 0x1f, 0x0a, 0x09, 0x49, 0x6e, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x12,
   377  	0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72,
   378  	0x67, 0x73, 0x22, 0x1f, 0x0a, 0x09, 0x45, 0x78, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12,
   379  	0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63,
   380  	0x6f, 0x64, 0x65, 0x22, 0x35, 0x0a, 0x09, 0x50, 0x69, 0x70, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74,
   381  	0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04,
   382  	0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x02, 0x20,
   383  	0x01, 0x28, 0x08, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x32, 0x54, 0x0a, 0x13, 0x4c, 0x6f,
   384  	0x6f, 0x70, 0x62, 0x61, 0x63, 0x6b, 0x45, 0x78, 0x65, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
   385  	0x65, 0x12, 0x3d, 0x0a, 0x04, 0x45, 0x78, 0x65, 0x63, 0x12, 0x16, 0x2e, 0x74, 0x61, 0x73, 0x74,
   386  	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
   387  	0x74, 0x1a, 0x17, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x78,
   388  	0x65, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01,
   389  	0x42, 0x2d, 0x5a, 0x2b, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e,
   390  	0x6f, 0x72, 0x67, 0x2f, 0x74, 0x61, 0x73, 0x74, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x69, 0x6e,
   391  	0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x62,
   392  	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
   393  }
   394  
   395  var (
   396  	file_loopback_proto_rawDescOnce sync.Once
   397  	file_loopback_proto_rawDescData = file_loopback_proto_rawDesc
   398  )
   399  
   400  func file_loopback_proto_rawDescGZIP() []byte {
   401  	file_loopback_proto_rawDescOnce.Do(func() {
   402  		file_loopback_proto_rawDescData = protoimpl.X.CompressGZIP(file_loopback_proto_rawDescData)
   403  	})
   404  	return file_loopback_proto_rawDescData
   405  }
   406  
   407  var file_loopback_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
   408  var file_loopback_proto_goTypes = []interface{}{
   409  	(*ExecRequest)(nil),  // 0: tast.core.ExecRequest
   410  	(*ExecResponse)(nil), // 1: tast.core.ExecResponse
   411  	(*InitEvent)(nil),    // 2: tast.core.InitEvent
   412  	(*ExitEvent)(nil),    // 3: tast.core.ExitEvent
   413  	(*PipeEvent)(nil),    // 4: tast.core.PipeEvent
   414  }
   415  var file_loopback_proto_depIdxs = []int32{
   416  	2, // 0: tast.core.ExecRequest.init:type_name -> tast.core.InitEvent
   417  	4, // 1: tast.core.ExecRequest.stdin:type_name -> tast.core.PipeEvent
   418  	3, // 2: tast.core.ExecResponse.exit:type_name -> tast.core.ExitEvent
   419  	4, // 3: tast.core.ExecResponse.stdout:type_name -> tast.core.PipeEvent
   420  	4, // 4: tast.core.ExecResponse.stderr:type_name -> tast.core.PipeEvent
   421  	0, // 5: tast.core.LoopbackExecService.Exec:input_type -> tast.core.ExecRequest
   422  	1, // 6: tast.core.LoopbackExecService.Exec:output_type -> tast.core.ExecResponse
   423  	6, // [6:7] is the sub-list for method output_type
   424  	5, // [5:6] is the sub-list for method input_type
   425  	5, // [5:5] is the sub-list for extension type_name
   426  	5, // [5:5] is the sub-list for extension extendee
   427  	0, // [0:5] is the sub-list for field type_name
   428  }
   429  
   430  func init() { file_loopback_proto_init() }
   431  func file_loopback_proto_init() {
   432  	if File_loopback_proto != nil {
   433  		return
   434  	}
   435  	if !protoimpl.UnsafeEnabled {
   436  		file_loopback_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
   437  			switch v := v.(*ExecRequest); i {
   438  			case 0:
   439  				return &v.state
   440  			case 1:
   441  				return &v.sizeCache
   442  			case 2:
   443  				return &v.unknownFields
   444  			default:
   445  				return nil
   446  			}
   447  		}
   448  		file_loopback_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
   449  			switch v := v.(*ExecResponse); i {
   450  			case 0:
   451  				return &v.state
   452  			case 1:
   453  				return &v.sizeCache
   454  			case 2:
   455  				return &v.unknownFields
   456  			default:
   457  				return nil
   458  			}
   459  		}
   460  		file_loopback_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
   461  			switch v := v.(*InitEvent); i {
   462  			case 0:
   463  				return &v.state
   464  			case 1:
   465  				return &v.sizeCache
   466  			case 2:
   467  				return &v.unknownFields
   468  			default:
   469  				return nil
   470  			}
   471  		}
   472  		file_loopback_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
   473  			switch v := v.(*ExitEvent); i {
   474  			case 0:
   475  				return &v.state
   476  			case 1:
   477  				return &v.sizeCache
   478  			case 2:
   479  				return &v.unknownFields
   480  			default:
   481  				return nil
   482  			}
   483  		}
   484  		file_loopback_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
   485  			switch v := v.(*PipeEvent); i {
   486  			case 0:
   487  				return &v.state
   488  			case 1:
   489  				return &v.sizeCache
   490  			case 2:
   491  				return &v.unknownFields
   492  			default:
   493  				return nil
   494  			}
   495  		}
   496  	}
   497  	file_loopback_proto_msgTypes[0].OneofWrappers = []interface{}{
   498  		(*ExecRequest_Init)(nil),
   499  		(*ExecRequest_Stdin)(nil),
   500  	}
   501  	file_loopback_proto_msgTypes[1].OneofWrappers = []interface{}{
   502  		(*ExecResponse_Exit)(nil),
   503  		(*ExecResponse_Stdout)(nil),
   504  		(*ExecResponse_Stderr)(nil),
   505  	}
   506  	type x struct{}
   507  	out := protoimpl.TypeBuilder{
   508  		File: protoimpl.DescBuilder{
   509  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
   510  			RawDescriptor: file_loopback_proto_rawDesc,
   511  			NumEnums:      0,
   512  			NumMessages:   5,
   513  			NumExtensions: 0,
   514  			NumServices:   1,
   515  		},
   516  		GoTypes:           file_loopback_proto_goTypes,
   517  		DependencyIndexes: file_loopback_proto_depIdxs,
   518  		MessageInfos:      file_loopback_proto_msgTypes,
   519  	}.Build()
   520  	File_loopback_proto = out.File
   521  	file_loopback_proto_rawDesc = nil
   522  	file_loopback_proto_goTypes = nil
   523  	file_loopback_proto_depIdxs = nil
   524  }
   525  
   526  // Reference imports to suppress errors if they are not otherwise used.
   527  var _ context.Context
   528  var _ grpc.ClientConnInterface
   529  
   530  // This is a compile-time assertion to ensure that this generated file
   531  // is compatible with the grpc package it is being compiled against.
   532  const _ = grpc.SupportPackageIsVersion6
   533  
   534  // LoopbackExecServiceClient is the client API for LoopbackExecService service.
   535  //
   536  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
   537  type LoopbackExecServiceClient interface {
   538  	Exec(ctx context.Context, opts ...grpc.CallOption) (LoopbackExecService_ExecClient, error)
   539  }
   540  
   541  type loopbackExecServiceClient struct {
   542  	cc grpc.ClientConnInterface
   543  }
   544  
   545  func NewLoopbackExecServiceClient(cc grpc.ClientConnInterface) LoopbackExecServiceClient {
   546  	return &loopbackExecServiceClient{cc}
   547  }
   548  
   549  func (c *loopbackExecServiceClient) Exec(ctx context.Context, opts ...grpc.CallOption) (LoopbackExecService_ExecClient, error) {
   550  	stream, err := c.cc.NewStream(ctx, &_LoopbackExecService_serviceDesc.Streams[0], "/tast.core.LoopbackExecService/Exec", opts...)
   551  	if err != nil {
   552  		return nil, err
   553  	}
   554  	x := &loopbackExecServiceExecClient{stream}
   555  	return x, nil
   556  }
   557  
   558  type LoopbackExecService_ExecClient interface {
   559  	Send(*ExecRequest) error
   560  	Recv() (*ExecResponse, error)
   561  	grpc.ClientStream
   562  }
   563  
   564  type loopbackExecServiceExecClient struct {
   565  	grpc.ClientStream
   566  }
   567  
   568  func (x *loopbackExecServiceExecClient) Send(m *ExecRequest) error {
   569  	return x.ClientStream.SendMsg(m)
   570  }
   571  
   572  func (x *loopbackExecServiceExecClient) Recv() (*ExecResponse, error) {
   573  	m := new(ExecResponse)
   574  	if err := x.ClientStream.RecvMsg(m); err != nil {
   575  		return nil, err
   576  	}
   577  	return m, nil
   578  }
   579  
   580  // LoopbackExecServiceServer is the server API for LoopbackExecService service.
   581  type LoopbackExecServiceServer interface {
   582  	Exec(LoopbackExecService_ExecServer) error
   583  }
   584  
   585  // UnimplementedLoopbackExecServiceServer can be embedded to have forward compatible implementations.
   586  type UnimplementedLoopbackExecServiceServer struct {
   587  }
   588  
   589  func (*UnimplementedLoopbackExecServiceServer) Exec(LoopbackExecService_ExecServer) error {
   590  	return status.Errorf(codes.Unimplemented, "method Exec not implemented")
   591  }
   592  
   593  func RegisterLoopbackExecServiceServer(s *grpc.Server, srv LoopbackExecServiceServer) {
   594  	s.RegisterService(&_LoopbackExecService_serviceDesc, srv)
   595  }
   596  
   597  func _LoopbackExecService_Exec_Handler(srv interface{}, stream grpc.ServerStream) error {
   598  	return srv.(LoopbackExecServiceServer).Exec(&loopbackExecServiceExecServer{stream})
   599  }
   600  
   601  type LoopbackExecService_ExecServer interface {
   602  	Send(*ExecResponse) error
   603  	Recv() (*ExecRequest, error)
   604  	grpc.ServerStream
   605  }
   606  
   607  type loopbackExecServiceExecServer struct {
   608  	grpc.ServerStream
   609  }
   610  
   611  func (x *loopbackExecServiceExecServer) Send(m *ExecResponse) error {
   612  	return x.ServerStream.SendMsg(m)
   613  }
   614  
   615  func (x *loopbackExecServiceExecServer) Recv() (*ExecRequest, error) {
   616  	m := new(ExecRequest)
   617  	if err := x.ServerStream.RecvMsg(m); err != nil {
   618  		return nil, err
   619  	}
   620  	return m, nil
   621  }
   622  
   623  var _LoopbackExecService_serviceDesc = grpc.ServiceDesc{
   624  	ServiceName: "tast.core.LoopbackExecService",
   625  	HandlerType: (*LoopbackExecServiceServer)(nil),
   626  	Methods:     []grpc.MethodDesc{},
   627  	Streams: []grpc.StreamDesc{
   628  		{
   629  			StreamName:    "Exec",
   630  			Handler:       _LoopbackExecService_Exec_Handler,
   631  			ServerStreams: true,
   632  			ClientStreams: true,
   633  		},
   634  	},
   635  	Metadata: "loopback.proto",
   636  }