github.com/cilium/cilium@v1.16.2/api/v1/recorder/recorder.pb.go (about)

     1  // SPDX-License-Identifier: Apache-2.0
     2  // Copyright Authors of Hubble
     3  
     4  // Code generated by protoc-gen-go. DO NOT EDIT.
     5  // versions:
     6  // 	protoc-gen-go v1.34.2
     7  // 	protoc        v5.28.1
     8  // source: recorder/recorder.proto
     9  
    10  package recorder
    11  
    12  import (
    13  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    14  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    15  	durationpb "google.golang.org/protobuf/types/known/durationpb"
    16  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    17  	reflect "reflect"
    18  	sync "sync"
    19  )
    20  
    21  const (
    22  	// Verify that this generated code is sufficiently up-to-date.
    23  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    24  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    25  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    26  )
    27  
    28  // Protocol is a one of the supported protocols for packet capture
    29  type Protocol int32
    30  
    31  const (
    32  	Protocol_PROTOCOL_ANY  Protocol = 0
    33  	Protocol_PROTOCOL_TCP  Protocol = 6
    34  	Protocol_PROTOCOL_UDP  Protocol = 17
    35  	Protocol_PROTOCOL_SCTP Protocol = 132
    36  )
    37  
    38  // Enum value maps for Protocol.
    39  var (
    40  	Protocol_name = map[int32]string{
    41  		0:   "PROTOCOL_ANY",
    42  		6:   "PROTOCOL_TCP",
    43  		17:  "PROTOCOL_UDP",
    44  		132: "PROTOCOL_SCTP",
    45  	}
    46  	Protocol_value = map[string]int32{
    47  		"PROTOCOL_ANY":  0,
    48  		"PROTOCOL_TCP":  6,
    49  		"PROTOCOL_UDP":  17,
    50  		"PROTOCOL_SCTP": 132,
    51  	}
    52  )
    53  
    54  func (x Protocol) Enum() *Protocol {
    55  	p := new(Protocol)
    56  	*p = x
    57  	return p
    58  }
    59  
    60  func (x Protocol) String() string {
    61  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    62  }
    63  
    64  func (Protocol) Descriptor() protoreflect.EnumDescriptor {
    65  	return file_recorder_recorder_proto_enumTypes[0].Descriptor()
    66  }
    67  
    68  func (Protocol) Type() protoreflect.EnumType {
    69  	return &file_recorder_recorder_proto_enumTypes[0]
    70  }
    71  
    72  func (x Protocol) Number() protoreflect.EnumNumber {
    73  	return protoreflect.EnumNumber(x)
    74  }
    75  
    76  // Deprecated: Use Protocol.Descriptor instead.
    77  func (Protocol) EnumDescriptor() ([]byte, []int) {
    78  	return file_recorder_recorder_proto_rawDescGZIP(), []int{0}
    79  }
    80  
    81  type RecordRequest struct {
    82  	state         protoimpl.MessageState
    83  	sizeCache     protoimpl.SizeCache
    84  	unknownFields protoimpl.UnknownFields
    85  
    86  	// Types that are assignable to RequestType:
    87  	//
    88  	//	*RecordRequest_Start
    89  	//	*RecordRequest_Stop
    90  	RequestType isRecordRequest_RequestType `protobuf_oneof:"request_type"`
    91  }
    92  
    93  func (x *RecordRequest) Reset() {
    94  	*x = RecordRequest{}
    95  	if protoimpl.UnsafeEnabled {
    96  		mi := &file_recorder_recorder_proto_msgTypes[0]
    97  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    98  		ms.StoreMessageInfo(mi)
    99  	}
   100  }
   101  
   102  func (x *RecordRequest) String() string {
   103  	return protoimpl.X.MessageStringOf(x)
   104  }
   105  
   106  func (*RecordRequest) ProtoMessage() {}
   107  
   108  func (x *RecordRequest) ProtoReflect() protoreflect.Message {
   109  	mi := &file_recorder_recorder_proto_msgTypes[0]
   110  	if protoimpl.UnsafeEnabled && x != nil {
   111  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   112  		if ms.LoadMessageInfo() == nil {
   113  			ms.StoreMessageInfo(mi)
   114  		}
   115  		return ms
   116  	}
   117  	return mi.MessageOf(x)
   118  }
   119  
   120  // Deprecated: Use RecordRequest.ProtoReflect.Descriptor instead.
   121  func (*RecordRequest) Descriptor() ([]byte, []int) {
   122  	return file_recorder_recorder_proto_rawDescGZIP(), []int{0}
   123  }
   124  
   125  func (m *RecordRequest) GetRequestType() isRecordRequest_RequestType {
   126  	if m != nil {
   127  		return m.RequestType
   128  	}
   129  	return nil
   130  }
   131  
   132  func (x *RecordRequest) GetStart() *StartRecording {
   133  	if x, ok := x.GetRequestType().(*RecordRequest_Start); ok {
   134  		return x.Start
   135  	}
   136  	return nil
   137  }
   138  
   139  func (x *RecordRequest) GetStop() *StopRecording {
   140  	if x, ok := x.GetRequestType().(*RecordRequest_Stop); ok {
   141  		return x.Stop
   142  	}
   143  	return nil
   144  }
   145  
   146  type isRecordRequest_RequestType interface {
   147  	isRecordRequest_RequestType()
   148  }
   149  
   150  type RecordRequest_Start struct {
   151  	// start starts a new recording with the given parameters.
   152  	Start *StartRecording `protobuf:"bytes,1,opt,name=start,proto3,oneof"`
   153  }
   154  
   155  type RecordRequest_Stop struct {
   156  	// stop stops the running recording.
   157  	Stop *StopRecording `protobuf:"bytes,2,opt,name=stop,proto3,oneof"`
   158  }
   159  
   160  func (*RecordRequest_Start) isRecordRequest_RequestType() {}
   161  
   162  func (*RecordRequest_Stop) isRecordRequest_RequestType() {}
   163  
   164  type StartRecording struct {
   165  	state         protoimpl.MessageState
   166  	sizeCache     protoimpl.SizeCache
   167  	unknownFields protoimpl.UnknownFields
   168  
   169  	// filesink configures the outfile of this recording
   170  	// Future alternative sink configurations may be added as a
   171  	// backwards-compatible change by moving this field into a oneof.
   172  	Filesink *FileSinkConfiguration `protobuf:"bytes,1,opt,name=filesink,proto3" json:"filesink,omitempty"`
   173  	// include list for this recording. Packets matching any of the provided
   174  	// filters will be recorded.
   175  	Include []*Filter `protobuf:"bytes,2,rep,name=include,proto3" json:"include,omitempty"`
   176  	// max_capture_length specifies the maximum packet length.
   177  	// Full packet length will be captured if absent/zero.
   178  	MaxCaptureLength uint32 `protobuf:"varint,3,opt,name=max_capture_length,json=maxCaptureLength,proto3" json:"max_capture_length,omitempty"`
   179  	// stop_condition defines conditions which will cause the recording to
   180  	// stop early after any of the stop conditions has been hit
   181  	StopCondition *StopCondition `protobuf:"bytes,4,opt,name=stop_condition,json=stopCondition,proto3" json:"stop_condition,omitempty"`
   182  }
   183  
   184  func (x *StartRecording) Reset() {
   185  	*x = StartRecording{}
   186  	if protoimpl.UnsafeEnabled {
   187  		mi := &file_recorder_recorder_proto_msgTypes[1]
   188  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   189  		ms.StoreMessageInfo(mi)
   190  	}
   191  }
   192  
   193  func (x *StartRecording) String() string {
   194  	return protoimpl.X.MessageStringOf(x)
   195  }
   196  
   197  func (*StartRecording) ProtoMessage() {}
   198  
   199  func (x *StartRecording) ProtoReflect() protoreflect.Message {
   200  	mi := &file_recorder_recorder_proto_msgTypes[1]
   201  	if protoimpl.UnsafeEnabled && x != nil {
   202  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   203  		if ms.LoadMessageInfo() == nil {
   204  			ms.StoreMessageInfo(mi)
   205  		}
   206  		return ms
   207  	}
   208  	return mi.MessageOf(x)
   209  }
   210  
   211  // Deprecated: Use StartRecording.ProtoReflect.Descriptor instead.
   212  func (*StartRecording) Descriptor() ([]byte, []int) {
   213  	return file_recorder_recorder_proto_rawDescGZIP(), []int{1}
   214  }
   215  
   216  func (x *StartRecording) GetFilesink() *FileSinkConfiguration {
   217  	if x != nil {
   218  		return x.Filesink
   219  	}
   220  	return nil
   221  }
   222  
   223  func (x *StartRecording) GetInclude() []*Filter {
   224  	if x != nil {
   225  		return x.Include
   226  	}
   227  	return nil
   228  }
   229  
   230  func (x *StartRecording) GetMaxCaptureLength() uint32 {
   231  	if x != nil {
   232  		return x.MaxCaptureLength
   233  	}
   234  	return 0
   235  }
   236  
   237  func (x *StartRecording) GetStopCondition() *StopCondition {
   238  	if x != nil {
   239  		return x.StopCondition
   240  	}
   241  	return nil
   242  }
   243  
   244  // StopCondition defines one or more conditions which cause the recording to
   245  // stop after they have been hit. Stop conditions are ignored if they are
   246  // absent or zero-valued. If multiple conditions are defined, the recording
   247  // stops after the first one is hit.
   248  type StopCondition struct {
   249  	state         protoimpl.MessageState
   250  	sizeCache     protoimpl.SizeCache
   251  	unknownFields protoimpl.UnknownFields
   252  
   253  	// bytes_captured_count stops the recording after at least this many bytes
   254  	// have been captured. Note: The resulting file might be slightly larger due
   255  	// to added pcap headers.
   256  	BytesCapturedCount uint64 `protobuf:"varint,1,opt,name=bytes_captured_count,json=bytesCapturedCount,proto3" json:"bytes_captured_count,omitempty"`
   257  	// packets_captured_count stops the recording after at least this many packets have
   258  	// been captured.
   259  	PacketsCapturedCount uint64 `protobuf:"varint,2,opt,name=packets_captured_count,json=packetsCapturedCount,proto3" json:"packets_captured_count,omitempty"`
   260  	// time_elapsed stops the recording after this duration has elapsed.
   261  	TimeElapsed *durationpb.Duration `protobuf:"bytes,3,opt,name=time_elapsed,json=timeElapsed,proto3" json:"time_elapsed,omitempty"`
   262  }
   263  
   264  func (x *StopCondition) Reset() {
   265  	*x = StopCondition{}
   266  	if protoimpl.UnsafeEnabled {
   267  		mi := &file_recorder_recorder_proto_msgTypes[2]
   268  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   269  		ms.StoreMessageInfo(mi)
   270  	}
   271  }
   272  
   273  func (x *StopCondition) String() string {
   274  	return protoimpl.X.MessageStringOf(x)
   275  }
   276  
   277  func (*StopCondition) ProtoMessage() {}
   278  
   279  func (x *StopCondition) ProtoReflect() protoreflect.Message {
   280  	mi := &file_recorder_recorder_proto_msgTypes[2]
   281  	if protoimpl.UnsafeEnabled && x != nil {
   282  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   283  		if ms.LoadMessageInfo() == nil {
   284  			ms.StoreMessageInfo(mi)
   285  		}
   286  		return ms
   287  	}
   288  	return mi.MessageOf(x)
   289  }
   290  
   291  // Deprecated: Use StopCondition.ProtoReflect.Descriptor instead.
   292  func (*StopCondition) Descriptor() ([]byte, []int) {
   293  	return file_recorder_recorder_proto_rawDescGZIP(), []int{2}
   294  }
   295  
   296  func (x *StopCondition) GetBytesCapturedCount() uint64 {
   297  	if x != nil {
   298  		return x.BytesCapturedCount
   299  	}
   300  	return 0
   301  }
   302  
   303  func (x *StopCondition) GetPacketsCapturedCount() uint64 {
   304  	if x != nil {
   305  		return x.PacketsCapturedCount
   306  	}
   307  	return 0
   308  }
   309  
   310  func (x *StopCondition) GetTimeElapsed() *durationpb.Duration {
   311  	if x != nil {
   312  		return x.TimeElapsed
   313  	}
   314  	return nil
   315  }
   316  
   317  // FileSinkConfiguration configures the file output. Possible future additions
   318  // might be the selection of the output volume. The initial implementation will
   319  // only support a single volume which is configured as a cilium-agent CLI flag.
   320  type FileSinkConfiguration struct {
   321  	state         protoimpl.MessageState
   322  	sizeCache     protoimpl.SizeCache
   323  	unknownFields protoimpl.UnknownFields
   324  
   325  	// file_prefix is an optional prefix for the file name.
   326  	// Defaults to `hubble` if empty. Must match the following regex if not
   327  	// empty: ^[a-z][a-z0-9]{0,19}$
   328  	// The generated filename will be of format
   329  	//
   330  	//	<file_prefix>_<unixtime>_<unique_random>_<node_name>.pcap
   331  	FilePrefix string `protobuf:"bytes,1,opt,name=file_prefix,json=filePrefix,proto3" json:"file_prefix,omitempty"`
   332  }
   333  
   334  func (x *FileSinkConfiguration) Reset() {
   335  	*x = FileSinkConfiguration{}
   336  	if protoimpl.UnsafeEnabled {
   337  		mi := &file_recorder_recorder_proto_msgTypes[3]
   338  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   339  		ms.StoreMessageInfo(mi)
   340  	}
   341  }
   342  
   343  func (x *FileSinkConfiguration) String() string {
   344  	return protoimpl.X.MessageStringOf(x)
   345  }
   346  
   347  func (*FileSinkConfiguration) ProtoMessage() {}
   348  
   349  func (x *FileSinkConfiguration) ProtoReflect() protoreflect.Message {
   350  	mi := &file_recorder_recorder_proto_msgTypes[3]
   351  	if protoimpl.UnsafeEnabled && x != nil {
   352  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   353  		if ms.LoadMessageInfo() == nil {
   354  			ms.StoreMessageInfo(mi)
   355  		}
   356  		return ms
   357  	}
   358  	return mi.MessageOf(x)
   359  }
   360  
   361  // Deprecated: Use FileSinkConfiguration.ProtoReflect.Descriptor instead.
   362  func (*FileSinkConfiguration) Descriptor() ([]byte, []int) {
   363  	return file_recorder_recorder_proto_rawDescGZIP(), []int{3}
   364  }
   365  
   366  func (x *FileSinkConfiguration) GetFilePrefix() string {
   367  	if x != nil {
   368  		return x.FilePrefix
   369  	}
   370  	return ""
   371  }
   372  
   373  type Filter struct {
   374  	state         protoimpl.MessageState
   375  	sizeCache     protoimpl.SizeCache
   376  	unknownFields protoimpl.UnknownFields
   377  
   378  	// source_cidr. Must not be empty.
   379  	// Set to 0.0.0.0/0 to match any IPv4 source address (::/0 for IPv6).
   380  	SourceCidr string `protobuf:"bytes,1,opt,name=source_cidr,json=sourceCidr,proto3" json:"source_cidr,omitempty"`
   381  	// source_port. Matches any source port if empty.
   382  	SourcePort uint32 `protobuf:"varint,2,opt,name=source_port,json=sourcePort,proto3" json:"source_port,omitempty"`
   383  	// destination_cidr. Must not be empty.
   384  	// Set to 0.0.0.0/0 to match any IPv4 destination address (::/0 for IPv6).
   385  	DestinationCidr string `protobuf:"bytes,3,opt,name=destination_cidr,json=destinationCidr,proto3" json:"destination_cidr,omitempty"`
   386  	// destination_port. Matches any destination port if empty.
   387  	DestinationPort uint32 `protobuf:"varint,4,opt,name=destination_port,json=destinationPort,proto3" json:"destination_port,omitempty"`
   388  	// protocol. Matches any protocol if empty.
   389  	Protocol Protocol `protobuf:"varint,5,opt,name=protocol,proto3,enum=recorder.Protocol" json:"protocol,omitempty"`
   390  }
   391  
   392  func (x *Filter) Reset() {
   393  	*x = Filter{}
   394  	if protoimpl.UnsafeEnabled {
   395  		mi := &file_recorder_recorder_proto_msgTypes[4]
   396  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   397  		ms.StoreMessageInfo(mi)
   398  	}
   399  }
   400  
   401  func (x *Filter) String() string {
   402  	return protoimpl.X.MessageStringOf(x)
   403  }
   404  
   405  func (*Filter) ProtoMessage() {}
   406  
   407  func (x *Filter) ProtoReflect() protoreflect.Message {
   408  	mi := &file_recorder_recorder_proto_msgTypes[4]
   409  	if protoimpl.UnsafeEnabled && x != nil {
   410  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   411  		if ms.LoadMessageInfo() == nil {
   412  			ms.StoreMessageInfo(mi)
   413  		}
   414  		return ms
   415  	}
   416  	return mi.MessageOf(x)
   417  }
   418  
   419  // Deprecated: Use Filter.ProtoReflect.Descriptor instead.
   420  func (*Filter) Descriptor() ([]byte, []int) {
   421  	return file_recorder_recorder_proto_rawDescGZIP(), []int{4}
   422  }
   423  
   424  func (x *Filter) GetSourceCidr() string {
   425  	if x != nil {
   426  		return x.SourceCidr
   427  	}
   428  	return ""
   429  }
   430  
   431  func (x *Filter) GetSourcePort() uint32 {
   432  	if x != nil {
   433  		return x.SourcePort
   434  	}
   435  	return 0
   436  }
   437  
   438  func (x *Filter) GetDestinationCidr() string {
   439  	if x != nil {
   440  		return x.DestinationCidr
   441  	}
   442  	return ""
   443  }
   444  
   445  func (x *Filter) GetDestinationPort() uint32 {
   446  	if x != nil {
   447  		return x.DestinationPort
   448  	}
   449  	return 0
   450  }
   451  
   452  func (x *Filter) GetProtocol() Protocol {
   453  	if x != nil {
   454  		return x.Protocol
   455  	}
   456  	return Protocol_PROTOCOL_ANY
   457  }
   458  
   459  type StopRecording struct {
   460  	state         protoimpl.MessageState
   461  	sizeCache     protoimpl.SizeCache
   462  	unknownFields protoimpl.UnknownFields
   463  }
   464  
   465  func (x *StopRecording) Reset() {
   466  	*x = StopRecording{}
   467  	if protoimpl.UnsafeEnabled {
   468  		mi := &file_recorder_recorder_proto_msgTypes[5]
   469  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   470  		ms.StoreMessageInfo(mi)
   471  	}
   472  }
   473  
   474  func (x *StopRecording) String() string {
   475  	return protoimpl.X.MessageStringOf(x)
   476  }
   477  
   478  func (*StopRecording) ProtoMessage() {}
   479  
   480  func (x *StopRecording) ProtoReflect() protoreflect.Message {
   481  	mi := &file_recorder_recorder_proto_msgTypes[5]
   482  	if protoimpl.UnsafeEnabled && x != nil {
   483  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   484  		if ms.LoadMessageInfo() == nil {
   485  			ms.StoreMessageInfo(mi)
   486  		}
   487  		return ms
   488  	}
   489  	return mi.MessageOf(x)
   490  }
   491  
   492  // Deprecated: Use StopRecording.ProtoReflect.Descriptor instead.
   493  func (*StopRecording) Descriptor() ([]byte, []int) {
   494  	return file_recorder_recorder_proto_rawDescGZIP(), []int{5}
   495  }
   496  
   497  type RecordResponse struct {
   498  	state         protoimpl.MessageState
   499  	sizeCache     protoimpl.SizeCache
   500  	unknownFields protoimpl.UnknownFields
   501  
   502  	// name of the node where this recording is happening
   503  	NodeName string `protobuf:"bytes,1,opt,name=node_name,json=nodeName,proto3" json:"node_name,omitempty"`
   504  	// time at which this event was observed on the above node
   505  	Time *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=time,proto3" json:"time,omitempty"`
   506  	// Note: In this initial design, any fatal error will be returned as
   507  	// gRPC errors and are not part of the regular response type.
   508  	// It is a forward-compatible change to introduce additional more
   509  	// granular or structured error responses here.
   510  	//
   511  	// Types that are assignable to ResponseType:
   512  	//
   513  	//	*RecordResponse_Running
   514  	//	*RecordResponse_Stopped
   515  	ResponseType isRecordResponse_ResponseType `protobuf_oneof:"response_type"`
   516  }
   517  
   518  func (x *RecordResponse) Reset() {
   519  	*x = RecordResponse{}
   520  	if protoimpl.UnsafeEnabled {
   521  		mi := &file_recorder_recorder_proto_msgTypes[6]
   522  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   523  		ms.StoreMessageInfo(mi)
   524  	}
   525  }
   526  
   527  func (x *RecordResponse) String() string {
   528  	return protoimpl.X.MessageStringOf(x)
   529  }
   530  
   531  func (*RecordResponse) ProtoMessage() {}
   532  
   533  func (x *RecordResponse) ProtoReflect() protoreflect.Message {
   534  	mi := &file_recorder_recorder_proto_msgTypes[6]
   535  	if protoimpl.UnsafeEnabled && x != nil {
   536  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   537  		if ms.LoadMessageInfo() == nil {
   538  			ms.StoreMessageInfo(mi)
   539  		}
   540  		return ms
   541  	}
   542  	return mi.MessageOf(x)
   543  }
   544  
   545  // Deprecated: Use RecordResponse.ProtoReflect.Descriptor instead.
   546  func (*RecordResponse) Descriptor() ([]byte, []int) {
   547  	return file_recorder_recorder_proto_rawDescGZIP(), []int{6}
   548  }
   549  
   550  func (x *RecordResponse) GetNodeName() string {
   551  	if x != nil {
   552  		return x.NodeName
   553  	}
   554  	return ""
   555  }
   556  
   557  func (x *RecordResponse) GetTime() *timestamppb.Timestamp {
   558  	if x != nil {
   559  		return x.Time
   560  	}
   561  	return nil
   562  }
   563  
   564  func (m *RecordResponse) GetResponseType() isRecordResponse_ResponseType {
   565  	if m != nil {
   566  		return m.ResponseType
   567  	}
   568  	return nil
   569  }
   570  
   571  func (x *RecordResponse) GetRunning() *RecordingRunningResponse {
   572  	if x, ok := x.GetResponseType().(*RecordResponse_Running); ok {
   573  		return x.Running
   574  	}
   575  	return nil
   576  }
   577  
   578  func (x *RecordResponse) GetStopped() *RecordingStoppedResponse {
   579  	if x, ok := x.GetResponseType().(*RecordResponse_Stopped); ok {
   580  		return x.Stopped
   581  	}
   582  	return nil
   583  }
   584  
   585  type isRecordResponse_ResponseType interface {
   586  	isRecordResponse_ResponseType()
   587  }
   588  
   589  type RecordResponse_Running struct {
   590  	// running means that the recording is capturing packets. This is
   591  	// emitted in regular intervals
   592  	Running *RecordingRunningResponse `protobuf:"bytes,3,opt,name=running,proto3,oneof"`
   593  }
   594  
   595  type RecordResponse_Stopped struct {
   596  	// stopped means the recording has stopped
   597  	Stopped *RecordingStoppedResponse `protobuf:"bytes,4,opt,name=stopped,proto3,oneof"`
   598  }
   599  
   600  func (*RecordResponse_Running) isRecordResponse_ResponseType() {}
   601  
   602  func (*RecordResponse_Stopped) isRecordResponse_ResponseType() {}
   603  
   604  type RecordingStatistics struct {
   605  	state         protoimpl.MessageState
   606  	sizeCache     protoimpl.SizeCache
   607  	unknownFields protoimpl.UnknownFields
   608  
   609  	// bytes_captured is the total amount of bytes captured in the recording
   610  	BytesCaptured uint64 `protobuf:"varint,1,opt,name=bytes_captured,json=bytesCaptured,proto3" json:"bytes_captured,omitempty"`
   611  	// packets_captured is the total amount of packets captured the recording
   612  	PacketsCaptured uint64 `protobuf:"varint,2,opt,name=packets_captured,json=packetsCaptured,proto3" json:"packets_captured,omitempty"`
   613  	// packets_lost is the total amount of packets matching the filter during
   614  	// the recording, but never written to the sink because it was overloaded.
   615  	PacketsLost uint64 `protobuf:"varint,3,opt,name=packets_lost,json=packetsLost,proto3" json:"packets_lost,omitempty"`
   616  	// bytes_lost is the total amount of bytes matching the filter during
   617  	// the recording, but never written to the sink because it was overloaded.
   618  	BytesLost uint64 `protobuf:"varint,4,opt,name=bytes_lost,json=bytesLost,proto3" json:"bytes_lost,omitempty"`
   619  }
   620  
   621  func (x *RecordingStatistics) Reset() {
   622  	*x = RecordingStatistics{}
   623  	if protoimpl.UnsafeEnabled {
   624  		mi := &file_recorder_recorder_proto_msgTypes[7]
   625  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   626  		ms.StoreMessageInfo(mi)
   627  	}
   628  }
   629  
   630  func (x *RecordingStatistics) String() string {
   631  	return protoimpl.X.MessageStringOf(x)
   632  }
   633  
   634  func (*RecordingStatistics) ProtoMessage() {}
   635  
   636  func (x *RecordingStatistics) ProtoReflect() protoreflect.Message {
   637  	mi := &file_recorder_recorder_proto_msgTypes[7]
   638  	if protoimpl.UnsafeEnabled && x != nil {
   639  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   640  		if ms.LoadMessageInfo() == nil {
   641  			ms.StoreMessageInfo(mi)
   642  		}
   643  		return ms
   644  	}
   645  	return mi.MessageOf(x)
   646  }
   647  
   648  // Deprecated: Use RecordingStatistics.ProtoReflect.Descriptor instead.
   649  func (*RecordingStatistics) Descriptor() ([]byte, []int) {
   650  	return file_recorder_recorder_proto_rawDescGZIP(), []int{7}
   651  }
   652  
   653  func (x *RecordingStatistics) GetBytesCaptured() uint64 {
   654  	if x != nil {
   655  		return x.BytesCaptured
   656  	}
   657  	return 0
   658  }
   659  
   660  func (x *RecordingStatistics) GetPacketsCaptured() uint64 {
   661  	if x != nil {
   662  		return x.PacketsCaptured
   663  	}
   664  	return 0
   665  }
   666  
   667  func (x *RecordingStatistics) GetPacketsLost() uint64 {
   668  	if x != nil {
   669  		return x.PacketsLost
   670  	}
   671  	return 0
   672  }
   673  
   674  func (x *RecordingStatistics) GetBytesLost() uint64 {
   675  	if x != nil {
   676  		return x.BytesLost
   677  	}
   678  	return 0
   679  }
   680  
   681  type RecordingRunningResponse struct {
   682  	state         protoimpl.MessageState
   683  	sizeCache     protoimpl.SizeCache
   684  	unknownFields protoimpl.UnknownFields
   685  
   686  	// stats for the running recording
   687  	Stats *RecordingStatistics `protobuf:"bytes,1,opt,name=stats,proto3" json:"stats,omitempty"`
   688  }
   689  
   690  func (x *RecordingRunningResponse) Reset() {
   691  	*x = RecordingRunningResponse{}
   692  	if protoimpl.UnsafeEnabled {
   693  		mi := &file_recorder_recorder_proto_msgTypes[8]
   694  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   695  		ms.StoreMessageInfo(mi)
   696  	}
   697  }
   698  
   699  func (x *RecordingRunningResponse) String() string {
   700  	return protoimpl.X.MessageStringOf(x)
   701  }
   702  
   703  func (*RecordingRunningResponse) ProtoMessage() {}
   704  
   705  func (x *RecordingRunningResponse) ProtoReflect() protoreflect.Message {
   706  	mi := &file_recorder_recorder_proto_msgTypes[8]
   707  	if protoimpl.UnsafeEnabled && x != nil {
   708  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   709  		if ms.LoadMessageInfo() == nil {
   710  			ms.StoreMessageInfo(mi)
   711  		}
   712  		return ms
   713  	}
   714  	return mi.MessageOf(x)
   715  }
   716  
   717  // Deprecated: Use RecordingRunningResponse.ProtoReflect.Descriptor instead.
   718  func (*RecordingRunningResponse) Descriptor() ([]byte, []int) {
   719  	return file_recorder_recorder_proto_rawDescGZIP(), []int{8}
   720  }
   721  
   722  func (x *RecordingRunningResponse) GetStats() *RecordingStatistics {
   723  	if x != nil {
   724  		return x.Stats
   725  	}
   726  	return nil
   727  }
   728  
   729  type RecordingStoppedResponse struct {
   730  	state         protoimpl.MessageState
   731  	sizeCache     protoimpl.SizeCache
   732  	unknownFields protoimpl.UnknownFields
   733  
   734  	// stats for the recording
   735  	Stats *RecordingStatistics `protobuf:"bytes,1,opt,name=stats,proto3" json:"stats,omitempty"`
   736  	// filesink contains the path to the captured file
   737  	Filesink *FileSinkResult `protobuf:"bytes,2,opt,name=filesink,proto3" json:"filesink,omitempty"`
   738  }
   739  
   740  func (x *RecordingStoppedResponse) Reset() {
   741  	*x = RecordingStoppedResponse{}
   742  	if protoimpl.UnsafeEnabled {
   743  		mi := &file_recorder_recorder_proto_msgTypes[9]
   744  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   745  		ms.StoreMessageInfo(mi)
   746  	}
   747  }
   748  
   749  func (x *RecordingStoppedResponse) String() string {
   750  	return protoimpl.X.MessageStringOf(x)
   751  }
   752  
   753  func (*RecordingStoppedResponse) ProtoMessage() {}
   754  
   755  func (x *RecordingStoppedResponse) ProtoReflect() protoreflect.Message {
   756  	mi := &file_recorder_recorder_proto_msgTypes[9]
   757  	if protoimpl.UnsafeEnabled && x != nil {
   758  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   759  		if ms.LoadMessageInfo() == nil {
   760  			ms.StoreMessageInfo(mi)
   761  		}
   762  		return ms
   763  	}
   764  	return mi.MessageOf(x)
   765  }
   766  
   767  // Deprecated: Use RecordingStoppedResponse.ProtoReflect.Descriptor instead.
   768  func (*RecordingStoppedResponse) Descriptor() ([]byte, []int) {
   769  	return file_recorder_recorder_proto_rawDescGZIP(), []int{9}
   770  }
   771  
   772  func (x *RecordingStoppedResponse) GetStats() *RecordingStatistics {
   773  	if x != nil {
   774  		return x.Stats
   775  	}
   776  	return nil
   777  }
   778  
   779  func (x *RecordingStoppedResponse) GetFilesink() *FileSinkResult {
   780  	if x != nil {
   781  		return x.Filesink
   782  	}
   783  	return nil
   784  }
   785  
   786  type FileSinkResult struct {
   787  	state         protoimpl.MessageState
   788  	sizeCache     protoimpl.SizeCache
   789  	unknownFields protoimpl.UnknownFields
   790  
   791  	// file_path is the absolute path to the captured pcap file
   792  	FilePath string `protobuf:"bytes,1,opt,name=file_path,json=filePath,proto3" json:"file_path,omitempty"`
   793  }
   794  
   795  func (x *FileSinkResult) Reset() {
   796  	*x = FileSinkResult{}
   797  	if protoimpl.UnsafeEnabled {
   798  		mi := &file_recorder_recorder_proto_msgTypes[10]
   799  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   800  		ms.StoreMessageInfo(mi)
   801  	}
   802  }
   803  
   804  func (x *FileSinkResult) String() string {
   805  	return protoimpl.X.MessageStringOf(x)
   806  }
   807  
   808  func (*FileSinkResult) ProtoMessage() {}
   809  
   810  func (x *FileSinkResult) ProtoReflect() protoreflect.Message {
   811  	mi := &file_recorder_recorder_proto_msgTypes[10]
   812  	if protoimpl.UnsafeEnabled && x != nil {
   813  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   814  		if ms.LoadMessageInfo() == nil {
   815  			ms.StoreMessageInfo(mi)
   816  		}
   817  		return ms
   818  	}
   819  	return mi.MessageOf(x)
   820  }
   821  
   822  // Deprecated: Use FileSinkResult.ProtoReflect.Descriptor instead.
   823  func (*FileSinkResult) Descriptor() ([]byte, []int) {
   824  	return file_recorder_recorder_proto_rawDescGZIP(), []int{10}
   825  }
   826  
   827  func (x *FileSinkResult) GetFilePath() string {
   828  	if x != nil {
   829  		return x.FilePath
   830  	}
   831  	return ""
   832  }
   833  
   834  var File_recorder_recorder_proto protoreflect.FileDescriptor
   835  
   836  var file_recorder_recorder_proto_rawDesc = []byte{
   837  	0x0a, 0x17, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x65, 0x63, 0x6f, 0x72,
   838  	0x64, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x72, 0x65, 0x63, 0x6f, 0x72,
   839  	0x64, 0x65, 0x72, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
   840  	0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70,
   841  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
   842  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70,
   843  	0x72, 0x6f, 0x74, 0x6f, 0x22, 0x80, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52,
   844  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18,
   845  	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x72,
   846  	0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x48,
   847  	0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2d, 0x0a, 0x04, 0x73, 0x74, 0x6f, 0x70,
   848  	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65,
   849  	0x72, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x48,
   850  	0x00, 0x52, 0x04, 0x73, 0x74, 0x6f, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65,
   851  	0x73, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xe7, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x72,
   852  	0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x3b, 0x0a, 0x08, 0x66, 0x69,
   853  	0x6c, 0x65, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72,
   854  	0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x6e, 0x6b,
   855  	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x66,
   856  	0x69, 0x6c, 0x65, 0x73, 0x69, 0x6e, 0x6b, 0x12, 0x2a, 0x0a, 0x07, 0x69, 0x6e, 0x63, 0x6c, 0x75,
   857  	0x64, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x72, 0x65, 0x63, 0x6f, 0x72,
   858  	0x64, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x69, 0x6e, 0x63, 0x6c,
   859  	0x75, 0x64, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x61, 0x70, 0x74, 0x75,
   860  	0x72, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52,
   861  	0x10, 0x6d, 0x61, 0x78, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74,
   862  	0x68, 0x12, 0x3e, 0x0a, 0x0e, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74,
   863  	0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x72, 0x65, 0x63, 0x6f,
   864  	0x72, 0x64, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69,
   865  	0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f,
   866  	0x6e, 0x22, 0xb5, 0x01, 0x0a, 0x0d, 0x53, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74,
   867  	0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x61, 0x70,
   868  	0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
   869  	0x04, 0x52, 0x12, 0x62, 0x79, 0x74, 0x65, 0x73, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64,
   870  	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73,
   871  	0x5f, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
   872  	0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x43, 0x61,
   873  	0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x0c, 0x74,
   874  	0x69, 0x6d, 0x65, 0x5f, 0x65, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
   875  	0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   876  	0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x74, 0x69,
   877  	0x6d, 0x65, 0x45, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x22, 0x38, 0x0a, 0x15, 0x46, 0x69, 0x6c,
   878  	0x65, 0x53, 0x69, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69,
   879  	0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69,
   880  	0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x72, 0x65,
   881  	0x66, 0x69, 0x78, 0x22, 0xd0, 0x01, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1f,
   882  	0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x18, 0x01, 0x20,
   883  	0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x69, 0x64, 0x72, 0x12,
   884  	0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02,
   885  	0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74,
   886  	0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
   887  	0x63, 0x69, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74,
   888  	0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x69, 0x64, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x64,
   889  	0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18,
   890  	0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69,
   891  	0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
   892  	0x6f, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x72, 0x65, 0x63, 0x6f, 0x72,
   893  	0x64, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x08, 0x70, 0x72,
   894  	0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0x0f, 0x0a, 0x0d, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65,
   895  	0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x22, 0xee, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x63, 0x6f,
   896  	0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f,
   897  	0x64, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e,
   898  	0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18,
   899  	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
   900  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
   901  	0x70, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x72, 0x75, 0x6e, 0x6e, 0x69,
   902  	0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x72, 0x65, 0x63, 0x6f, 0x72,
   903  	0x64, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6e,
   904  	0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x07,
   905  	0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x3e, 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x70, 0x70,
   906  	0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x72, 0x65, 0x63, 0x6f, 0x72,
   907  	0x64, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6f,
   908  	0x70, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x07,
   909  	0x73, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f,
   910  	0x6e, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x63,
   911  	0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73,
   912  	0x12, 0x25, 0x0a, 0x0e, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72,
   913  	0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x62, 0x79, 0x74, 0x65, 0x73, 0x43,
   914  	0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x63, 0x6b, 0x65,
   915  	0x74, 0x73, 0x5f, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
   916  	0x04, 0x52, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72,
   917  	0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6c, 0x6f,
   918  	0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74,
   919  	0x73, 0x4c, 0x6f, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x6c,
   920  	0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x62, 0x79, 0x74, 0x65, 0x73,
   921  	0x4c, 0x6f, 0x73, 0x74, 0x22, 0x4f, 0x0a, 0x18, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e,
   922  	0x67, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
   923  	0x12, 0x33, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
   924  	0x1d, 0x2e, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72,
   925  	0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x05,
   926  	0x73, 0x74, 0x61, 0x74, 0x73, 0x22, 0x85, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
   927  	0x69, 0x6e, 0x67, 0x53, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
   928  	0x73, 0x65, 0x12, 0x33, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
   929  	0x0b, 0x32, 0x1d, 0x2e, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x63,
   930  	0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73,
   931  	0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x73,
   932  	0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x72, 0x65, 0x63, 0x6f,
   933  	0x72, 0x64, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73,
   934  	0x75, 0x6c, 0x74, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x69, 0x6e, 0x6b, 0x22, 0x2d, 0x0a,
   935  	0x0e, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12,
   936  	0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01,
   937  	0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x2a, 0x54, 0x0a, 0x08,
   938  	0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x52, 0x4f, 0x54,
   939  	0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x41, 0x4e, 0x59, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x52,
   940  	0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x54, 0x43, 0x50, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c,
   941  	0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x55, 0x44, 0x50, 0x10, 0x11, 0x12, 0x12,
   942  	0x0a, 0x0d, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x53, 0x43, 0x54, 0x50, 0x10,
   943  	0x84, 0x01, 0x32, 0x4b, 0x0a, 0x08, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x3f,
   944  	0x0a, 0x06, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x17, 0x2e, 0x72, 0x65, 0x63, 0x6f, 0x72,
   945  	0x64, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
   946  	0x74, 0x1a, 0x18, 0x2e, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x63,
   947  	0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x42,
   948  	0x2a, 0x5a, 0x28, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x69,
   949  	0x6c, 0x69, 0x75, 0x6d, 0x2f, 0x63, 0x69, 0x6c, 0x69, 0x75, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f,
   950  	0x76, 0x31, 0x2f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f,
   951  	0x74, 0x6f, 0x33,
   952  }
   953  
   954  var (
   955  	file_recorder_recorder_proto_rawDescOnce sync.Once
   956  	file_recorder_recorder_proto_rawDescData = file_recorder_recorder_proto_rawDesc
   957  )
   958  
   959  func file_recorder_recorder_proto_rawDescGZIP() []byte {
   960  	file_recorder_recorder_proto_rawDescOnce.Do(func() {
   961  		file_recorder_recorder_proto_rawDescData = protoimpl.X.CompressGZIP(file_recorder_recorder_proto_rawDescData)
   962  	})
   963  	return file_recorder_recorder_proto_rawDescData
   964  }
   965  
   966  var file_recorder_recorder_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
   967  var file_recorder_recorder_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
   968  var file_recorder_recorder_proto_goTypes = []any{
   969  	(Protocol)(0),                    // 0: recorder.Protocol
   970  	(*RecordRequest)(nil),            // 1: recorder.RecordRequest
   971  	(*StartRecording)(nil),           // 2: recorder.StartRecording
   972  	(*StopCondition)(nil),            // 3: recorder.StopCondition
   973  	(*FileSinkConfiguration)(nil),    // 4: recorder.FileSinkConfiguration
   974  	(*Filter)(nil),                   // 5: recorder.Filter
   975  	(*StopRecording)(nil),            // 6: recorder.StopRecording
   976  	(*RecordResponse)(nil),           // 7: recorder.RecordResponse
   977  	(*RecordingStatistics)(nil),      // 8: recorder.RecordingStatistics
   978  	(*RecordingRunningResponse)(nil), // 9: recorder.RecordingRunningResponse
   979  	(*RecordingStoppedResponse)(nil), // 10: recorder.RecordingStoppedResponse
   980  	(*FileSinkResult)(nil),           // 11: recorder.FileSinkResult
   981  	(*durationpb.Duration)(nil),      // 12: google.protobuf.Duration
   982  	(*timestamppb.Timestamp)(nil),    // 13: google.protobuf.Timestamp
   983  }
   984  var file_recorder_recorder_proto_depIdxs = []int32{
   985  	2,  // 0: recorder.RecordRequest.start:type_name -> recorder.StartRecording
   986  	6,  // 1: recorder.RecordRequest.stop:type_name -> recorder.StopRecording
   987  	4,  // 2: recorder.StartRecording.filesink:type_name -> recorder.FileSinkConfiguration
   988  	5,  // 3: recorder.StartRecording.include:type_name -> recorder.Filter
   989  	3,  // 4: recorder.StartRecording.stop_condition:type_name -> recorder.StopCondition
   990  	12, // 5: recorder.StopCondition.time_elapsed:type_name -> google.protobuf.Duration
   991  	0,  // 6: recorder.Filter.protocol:type_name -> recorder.Protocol
   992  	13, // 7: recorder.RecordResponse.time:type_name -> google.protobuf.Timestamp
   993  	9,  // 8: recorder.RecordResponse.running:type_name -> recorder.RecordingRunningResponse
   994  	10, // 9: recorder.RecordResponse.stopped:type_name -> recorder.RecordingStoppedResponse
   995  	8,  // 10: recorder.RecordingRunningResponse.stats:type_name -> recorder.RecordingStatistics
   996  	8,  // 11: recorder.RecordingStoppedResponse.stats:type_name -> recorder.RecordingStatistics
   997  	11, // 12: recorder.RecordingStoppedResponse.filesink:type_name -> recorder.FileSinkResult
   998  	1,  // 13: recorder.Recorder.Record:input_type -> recorder.RecordRequest
   999  	7,  // 14: recorder.Recorder.Record:output_type -> recorder.RecordResponse
  1000  	14, // [14:15] is the sub-list for method output_type
  1001  	13, // [13:14] is the sub-list for method input_type
  1002  	13, // [13:13] is the sub-list for extension type_name
  1003  	13, // [13:13] is the sub-list for extension extendee
  1004  	0,  // [0:13] is the sub-list for field type_name
  1005  }
  1006  
  1007  func init() { file_recorder_recorder_proto_init() }
  1008  func file_recorder_recorder_proto_init() {
  1009  	if File_recorder_recorder_proto != nil {
  1010  		return
  1011  	}
  1012  	if !protoimpl.UnsafeEnabled {
  1013  		file_recorder_recorder_proto_msgTypes[0].Exporter = func(v any, i int) any {
  1014  			switch v := v.(*RecordRequest); i {
  1015  			case 0:
  1016  				return &v.state
  1017  			case 1:
  1018  				return &v.sizeCache
  1019  			case 2:
  1020  				return &v.unknownFields
  1021  			default:
  1022  				return nil
  1023  			}
  1024  		}
  1025  		file_recorder_recorder_proto_msgTypes[1].Exporter = func(v any, i int) any {
  1026  			switch v := v.(*StartRecording); i {
  1027  			case 0:
  1028  				return &v.state
  1029  			case 1:
  1030  				return &v.sizeCache
  1031  			case 2:
  1032  				return &v.unknownFields
  1033  			default:
  1034  				return nil
  1035  			}
  1036  		}
  1037  		file_recorder_recorder_proto_msgTypes[2].Exporter = func(v any, i int) any {
  1038  			switch v := v.(*StopCondition); i {
  1039  			case 0:
  1040  				return &v.state
  1041  			case 1:
  1042  				return &v.sizeCache
  1043  			case 2:
  1044  				return &v.unknownFields
  1045  			default:
  1046  				return nil
  1047  			}
  1048  		}
  1049  		file_recorder_recorder_proto_msgTypes[3].Exporter = func(v any, i int) any {
  1050  			switch v := v.(*FileSinkConfiguration); i {
  1051  			case 0:
  1052  				return &v.state
  1053  			case 1:
  1054  				return &v.sizeCache
  1055  			case 2:
  1056  				return &v.unknownFields
  1057  			default:
  1058  				return nil
  1059  			}
  1060  		}
  1061  		file_recorder_recorder_proto_msgTypes[4].Exporter = func(v any, i int) any {
  1062  			switch v := v.(*Filter); i {
  1063  			case 0:
  1064  				return &v.state
  1065  			case 1:
  1066  				return &v.sizeCache
  1067  			case 2:
  1068  				return &v.unknownFields
  1069  			default:
  1070  				return nil
  1071  			}
  1072  		}
  1073  		file_recorder_recorder_proto_msgTypes[5].Exporter = func(v any, i int) any {
  1074  			switch v := v.(*StopRecording); i {
  1075  			case 0:
  1076  				return &v.state
  1077  			case 1:
  1078  				return &v.sizeCache
  1079  			case 2:
  1080  				return &v.unknownFields
  1081  			default:
  1082  				return nil
  1083  			}
  1084  		}
  1085  		file_recorder_recorder_proto_msgTypes[6].Exporter = func(v any, i int) any {
  1086  			switch v := v.(*RecordResponse); i {
  1087  			case 0:
  1088  				return &v.state
  1089  			case 1:
  1090  				return &v.sizeCache
  1091  			case 2:
  1092  				return &v.unknownFields
  1093  			default:
  1094  				return nil
  1095  			}
  1096  		}
  1097  		file_recorder_recorder_proto_msgTypes[7].Exporter = func(v any, i int) any {
  1098  			switch v := v.(*RecordingStatistics); i {
  1099  			case 0:
  1100  				return &v.state
  1101  			case 1:
  1102  				return &v.sizeCache
  1103  			case 2:
  1104  				return &v.unknownFields
  1105  			default:
  1106  				return nil
  1107  			}
  1108  		}
  1109  		file_recorder_recorder_proto_msgTypes[8].Exporter = func(v any, i int) any {
  1110  			switch v := v.(*RecordingRunningResponse); i {
  1111  			case 0:
  1112  				return &v.state
  1113  			case 1:
  1114  				return &v.sizeCache
  1115  			case 2:
  1116  				return &v.unknownFields
  1117  			default:
  1118  				return nil
  1119  			}
  1120  		}
  1121  		file_recorder_recorder_proto_msgTypes[9].Exporter = func(v any, i int) any {
  1122  			switch v := v.(*RecordingStoppedResponse); i {
  1123  			case 0:
  1124  				return &v.state
  1125  			case 1:
  1126  				return &v.sizeCache
  1127  			case 2:
  1128  				return &v.unknownFields
  1129  			default:
  1130  				return nil
  1131  			}
  1132  		}
  1133  		file_recorder_recorder_proto_msgTypes[10].Exporter = func(v any, i int) any {
  1134  			switch v := v.(*FileSinkResult); i {
  1135  			case 0:
  1136  				return &v.state
  1137  			case 1:
  1138  				return &v.sizeCache
  1139  			case 2:
  1140  				return &v.unknownFields
  1141  			default:
  1142  				return nil
  1143  			}
  1144  		}
  1145  	}
  1146  	file_recorder_recorder_proto_msgTypes[0].OneofWrappers = []any{
  1147  		(*RecordRequest_Start)(nil),
  1148  		(*RecordRequest_Stop)(nil),
  1149  	}
  1150  	file_recorder_recorder_proto_msgTypes[6].OneofWrappers = []any{
  1151  		(*RecordResponse_Running)(nil),
  1152  		(*RecordResponse_Stopped)(nil),
  1153  	}
  1154  	type x struct{}
  1155  	out := protoimpl.TypeBuilder{
  1156  		File: protoimpl.DescBuilder{
  1157  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1158  			RawDescriptor: file_recorder_recorder_proto_rawDesc,
  1159  			NumEnums:      1,
  1160  			NumMessages:   11,
  1161  			NumExtensions: 0,
  1162  			NumServices:   1,
  1163  		},
  1164  		GoTypes:           file_recorder_recorder_proto_goTypes,
  1165  		DependencyIndexes: file_recorder_recorder_proto_depIdxs,
  1166  		EnumInfos:         file_recorder_recorder_proto_enumTypes,
  1167  		MessageInfos:      file_recorder_recorder_proto_msgTypes,
  1168  	}.Build()
  1169  	File_recorder_recorder_proto = out.File
  1170  	file_recorder_recorder_proto_rawDesc = nil
  1171  	file_recorder_recorder_proto_goTypes = nil
  1172  	file_recorder_recorder_proto_depIdxs = nil
  1173  }