// Copyright (C) 2024  mieru authors
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <https://www.gnu.org/licenses/>.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v6.33.5
// source: appctl/proto/misc.proto

package appctlpb

import (
	metricspb "github.com/enfein/mieru/v3/pkg/metrics/metricspb"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type Metrics struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// JSON dump of metrics.
	Json          *string `protobuf:"bytes,1,opt,name=json,proto3,oneof" json:"json,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Metrics) Reset() {
	*x = Metrics{}
	mi := &file_appctl_proto_misc_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Metrics) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Metrics) ProtoMessage() {}

func (x *Metrics) ProtoReflect() protoreflect.Message {
	mi := &file_appctl_proto_misc_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Metrics.ProtoReflect.Descriptor instead.
func (*Metrics) Descriptor() ([]byte, []int) {
	return file_appctl_proto_misc_proto_rawDescGZIP(), []int{0}
}

func (x *Metrics) GetJson() string {
	if x != nil && x.Json != nil {
		return *x.Json
	}
	return ""
}

type UserWithMetrics struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// User information.
	User *User `protobuf:"bytes,1,opt,name=user,proto3,oneof" json:"user,omitempty"`
	// User runtime information.
	Metrics       []*metricspb.Metric `protobuf:"bytes,2,rep,name=metrics,proto3" json:"metrics,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UserWithMetrics) Reset() {
	*x = UserWithMetrics{}
	mi := &file_appctl_proto_misc_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UserWithMetrics) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UserWithMetrics) ProtoMessage() {}

func (x *UserWithMetrics) ProtoReflect() protoreflect.Message {
	mi := &file_appctl_proto_misc_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UserWithMetrics.ProtoReflect.Descriptor instead.
func (*UserWithMetrics) Descriptor() ([]byte, []int) {
	return file_appctl_proto_misc_proto_rawDescGZIP(), []int{1}
}

func (x *UserWithMetrics) GetUser() *User {
	if x != nil {
		return x.User
	}
	return nil
}

func (x *UserWithMetrics) GetMetrics() []*metricspb.Metric {
	if x != nil {
		return x.Metrics
	}
	return nil
}

type UserWithMetricsList struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*UserWithMetrics     `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UserWithMetricsList) Reset() {
	*x = UserWithMetricsList{}
	mi := &file_appctl_proto_misc_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UserWithMetricsList) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UserWithMetricsList) ProtoMessage() {}

func (x *UserWithMetricsList) ProtoReflect() protoreflect.Message {
	mi := &file_appctl_proto_misc_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UserWithMetricsList.ProtoReflect.Descriptor instead.
func (*UserWithMetricsList) Descriptor() ([]byte, []int) {
	return file_appctl_proto_misc_proto_rawDescGZIP(), []int{2}
}

func (x *UserWithMetricsList) GetItems() []*UserWithMetrics {
	if x != nil {
		return x.Items
	}
	return nil
}

type ProfileSavePath struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Location to save profile results.
	FilePath      *string `protobuf:"bytes,1,opt,name=filePath,proto3,oneof" json:"filePath,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ProfileSavePath) Reset() {
	*x = ProfileSavePath{}
	mi := &file_appctl_proto_misc_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ProfileSavePath) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ProfileSavePath) ProtoMessage() {}

func (x *ProfileSavePath) ProtoReflect() protoreflect.Message {
	mi := &file_appctl_proto_misc_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ProfileSavePath.ProtoReflect.Descriptor instead.
func (*ProfileSavePath) Descriptor() ([]byte, []int) {
	return file_appctl_proto_misc_proto_rawDescGZIP(), []int{3}
}

func (x *ProfileSavePath) GetFilePath() string {
	if x != nil && x.FilePath != nil {
		return *x.FilePath
	}
	return ""
}

type SessionInfo struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            *string                `protobuf:"bytes,1,opt,name=id,proto3,oneof" json:"id,omitempty"`
	Protocol      *string                `protobuf:"bytes,2,opt,name=protocol,proto3,oneof" json:"protocol,omitempty"`
	LocalAddr     *string                `protobuf:"bytes,3,opt,name=localAddr,proto3,oneof" json:"localAddr,omitempty"`
	RemoteAddr    *string                `protobuf:"bytes,4,opt,name=remoteAddr,proto3,oneof" json:"remoteAddr,omitempty"`
	State         *string                `protobuf:"bytes,5,opt,name=state,proto3,oneof" json:"state,omitempty"`
	RecvQ         *uint32                `protobuf:"varint,6,opt,name=recvQ,proto3,oneof" json:"recvQ,omitempty"`
	RecvBuf       *uint32                `protobuf:"varint,7,opt,name=recvBuf,proto3,oneof" json:"recvBuf,omitempty"`
	SendQ         *uint32                `protobuf:"varint,8,opt,name=sendQ,proto3,oneof" json:"sendQ,omitempty"`
	SendBuf       *uint32                `protobuf:"varint,9,opt,name=sendBuf,proto3,oneof" json:"sendBuf,omitempty"`
	LastRecvTime  *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=lastRecvTime,proto3,oneof" json:"lastRecvTime,omitempty"`
	LastRecvSeq   *uint32                `protobuf:"varint,11,opt,name=lastRecvSeq,proto3,oneof" json:"lastRecvSeq,omitempty"`
	LastSendTime  *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=lastSendTime,proto3,oneof" json:"lastSendTime,omitempty"`
	LastSendSeq   *uint32                `protobuf:"varint,13,opt,name=lastSendSeq,proto3,oneof" json:"lastSendSeq,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SessionInfo) Reset() {
	*x = SessionInfo{}
	mi := &file_appctl_proto_misc_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SessionInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SessionInfo) ProtoMessage() {}

func (x *SessionInfo) ProtoReflect() protoreflect.Message {
	mi := &file_appctl_proto_misc_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SessionInfo.ProtoReflect.Descriptor instead.
func (*SessionInfo) Descriptor() ([]byte, []int) {
	return file_appctl_proto_misc_proto_rawDescGZIP(), []int{4}
}

func (x *SessionInfo) GetId() string {
	if x != nil && x.Id != nil {
		return *x.Id
	}
	return ""
}

func (x *SessionInfo) GetProtocol() string {
	if x != nil && x.Protocol != nil {
		return *x.Protocol
	}
	return ""
}

func (x *SessionInfo) GetLocalAddr() string {
	if x != nil && x.LocalAddr != nil {
		return *x.LocalAddr
	}
	return ""
}

func (x *SessionInfo) GetRemoteAddr() string {
	if x != nil && x.RemoteAddr != nil {
		return *x.RemoteAddr
	}
	return ""
}

func (x *SessionInfo) GetState() string {
	if x != nil && x.State != nil {
		return *x.State
	}
	return ""
}

func (x *SessionInfo) GetRecvQ() uint32 {
	if x != nil && x.RecvQ != nil {
		return *x.RecvQ
	}
	return 0
}

func (x *SessionInfo) GetRecvBuf() uint32 {
	if x != nil && x.RecvBuf != nil {
		return *x.RecvBuf
	}
	return 0
}

func (x *SessionInfo) GetSendQ() uint32 {
	if x != nil && x.SendQ != nil {
		return *x.SendQ
	}
	return 0
}

func (x *SessionInfo) GetSendBuf() uint32 {
	if x != nil && x.SendBuf != nil {
		return *x.SendBuf
	}
	return 0
}

func (x *SessionInfo) GetLastRecvTime() *timestamppb.Timestamp {
	if x != nil {
		return x.LastRecvTime
	}
	return nil
}

func (x *SessionInfo) GetLastRecvSeq() uint32 {
	if x != nil && x.LastRecvSeq != nil {
		return *x.LastRecvSeq
	}
	return 0
}

func (x *SessionInfo) GetLastSendTime() *timestamppb.Timestamp {
	if x != nil {
		return x.LastSendTime
	}
	return nil
}

func (x *SessionInfo) GetLastSendSeq() uint32 {
	if x != nil && x.LastSendSeq != nil {
		return *x.LastSendSeq
	}
	return 0
}

type SessionInfoList struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*SessionInfo         `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SessionInfoList) Reset() {
	*x = SessionInfoList{}
	mi := &file_appctl_proto_misc_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SessionInfoList) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SessionInfoList) ProtoMessage() {}

func (x *SessionInfoList) ProtoReflect() protoreflect.Message {
	mi := &file_appctl_proto_misc_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SessionInfoList.ProtoReflect.Descriptor instead.
func (*SessionInfoList) Descriptor() ([]byte, []int) {
	return file_appctl_proto_misc_proto_rawDescGZIP(), []int{5}
}

func (x *SessionInfoList) GetItems() []*SessionInfo {
	if x != nil {
		return x.Items
	}
	return nil
}

type ThreadDump struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Full thread dump of the application.
	ThreadDump    *string `protobuf:"bytes,1,opt,name=threadDump,proto3,oneof" json:"threadDump,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ThreadDump) Reset() {
	*x = ThreadDump{}
	mi := &file_appctl_proto_misc_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ThreadDump) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ThreadDump) ProtoMessage() {}

func (x *ThreadDump) ProtoReflect() protoreflect.Message {
	mi := &file_appctl_proto_misc_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ThreadDump.ProtoReflect.Descriptor instead.
func (*ThreadDump) Descriptor() ([]byte, []int) {
	return file_appctl_proto_misc_proto_rawDescGZIP(), []int{6}
}

func (x *ThreadDump) GetThreadDump() string {
	if x != nil && x.ThreadDump != nil {
		return *x.ThreadDump
	}
	return ""
}

type MemoryStatistics struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	HeapBytes       *uint64                `protobuf:"varint,2,opt,name=heapBytes,proto3,oneof" json:"heapBytes,omitempty"`
	HeapObjects     *uint64                `protobuf:"varint,3,opt,name=heapObjects,proto3,oneof" json:"heapObjects,omitempty"`
	MaxHeapBytes    *uint64                `protobuf:"varint,4,opt,name=maxHeapBytes,proto3,oneof" json:"maxHeapBytes,omitempty"`
	TargetHeapBytes *uint64                `protobuf:"varint,5,opt,name=targetHeapBytes,proto3,oneof" json:"targetHeapBytes,omitempty"`
	StackBytes      *uint64                `protobuf:"varint,6,opt,name=stackBytes,proto3,oneof" json:"stackBytes,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *MemoryStatistics) Reset() {
	*x = MemoryStatistics{}
	mi := &file_appctl_proto_misc_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MemoryStatistics) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MemoryStatistics) ProtoMessage() {}

func (x *MemoryStatistics) ProtoReflect() protoreflect.Message {
	mi := &file_appctl_proto_misc_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MemoryStatistics.ProtoReflect.Descriptor instead.
func (*MemoryStatistics) Descriptor() ([]byte, []int) {
	return file_appctl_proto_misc_proto_rawDescGZIP(), []int{7}
}

func (x *MemoryStatistics) GetHeapBytes() uint64 {
	if x != nil && x.HeapBytes != nil {
		return *x.HeapBytes
	}
	return 0
}

func (x *MemoryStatistics) GetHeapObjects() uint64 {
	if x != nil && x.HeapObjects != nil {
		return *x.HeapObjects
	}
	return 0
}

func (x *MemoryStatistics) GetMaxHeapBytes() uint64 {
	if x != nil && x.MaxHeapBytes != nil {
		return *x.MaxHeapBytes
	}
	return 0
}

func (x *MemoryStatistics) GetTargetHeapBytes() uint64 {
	if x != nil && x.TargetHeapBytes != nil {
		return *x.TargetHeapBytes
	}
	return 0
}

func (x *MemoryStatistics) GetStackBytes() uint64 {
	if x != nil && x.StackBytes != nil {
		return *x.StackBytes
	}
	return 0
}

type Version struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Major         *uint32                `protobuf:"varint,1,opt,name=major,proto3,oneof" json:"major,omitempty"`
	Minor         *uint32                `protobuf:"varint,2,opt,name=minor,proto3,oneof" json:"minor,omitempty"`
	Patch         *uint32                `protobuf:"varint,3,opt,name=patch,proto3,oneof" json:"patch,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Version) Reset() {
	*x = Version{}
	mi := &file_appctl_proto_misc_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Version) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Version) ProtoMessage() {}

func (x *Version) ProtoReflect() protoreflect.Message {
	mi := &file_appctl_proto_misc_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Version.ProtoReflect.Descriptor instead.
func (*Version) Descriptor() ([]byte, []int) {
	return file_appctl_proto_misc_proto_rawDescGZIP(), []int{8}
}

func (x *Version) GetMajor() uint32 {
	if x != nil && x.Major != nil {
		return *x.Major
	}
	return 0
}

func (x *Version) GetMinor() uint32 {
	if x != nil && x.Minor != nil {
		return *x.Minor
	}
	return 0
}

func (x *Version) GetPatch() uint32 {
	if x != nil && x.Patch != nil {
		return *x.Patch
	}
	return 0
}

var File_appctl_proto_misc_proto protoreflect.FileDescriptor

const file_appctl_proto_misc_proto_rawDesc = "" +
	"\n" +
	"\x17appctl/proto/misc.proto\x12\fmieru.appctl\x1a\x17appctl/proto/base.proto\x1a,appctl/proto/google/protobuf/timestamp.proto\x1a\x1bmetrics/proto/metrics.proto\"+\n" +
	"\aMetrics\x12\x17\n" +
	"\x04json\x18\x01 \x01(\tH\x00R\x04json\x88\x01\x01B\a\n" +
	"\x05_json\"x\n" +
	"\x0fUserWithMetrics\x12+\n" +
	"\x04user\x18\x01 \x01(\v2\x12.mieru.appctl.UserH\x00R\x04user\x88\x01\x01\x12/\n" +
	"\ametrics\x18\x02 \x03(\v2\x15.mieru.metrics.MetricR\ametricsB\a\n" +
	"\x05_user\"J\n" +
	"\x13UserWithMetricsList\x123\n" +
	"\x05items\x18\x01 \x03(\v2\x1d.mieru.appctl.UserWithMetricsR\x05items\"?\n" +
	"\x0fProfileSavePath\x12\x1f\n" +
	"\bfilePath\x18\x01 \x01(\tH\x00R\bfilePath\x88\x01\x01B\v\n" +
	"\t_filePath\"\x9b\x05\n" +
	"\vSessionInfo\x12\x13\n" +
	"\x02id\x18\x01 \x01(\tH\x00R\x02id\x88\x01\x01\x12\x1f\n" +
	"\bprotocol\x18\x02 \x01(\tH\x01R\bprotocol\x88\x01\x01\x12!\n" +
	"\tlocalAddr\x18\x03 \x01(\tH\x02R\tlocalAddr\x88\x01\x01\x12#\n" +
	"\n" +
	"remoteAddr\x18\x04 \x01(\tH\x03R\n" +
	"remoteAddr\x88\x01\x01\x12\x19\n" +
	"\x05state\x18\x05 \x01(\tH\x04R\x05state\x88\x01\x01\x12\x19\n" +
	"\x05recvQ\x18\x06 \x01(\rH\x05R\x05recvQ\x88\x01\x01\x12\x1d\n" +
	"\arecvBuf\x18\a \x01(\rH\x06R\arecvBuf\x88\x01\x01\x12\x19\n" +
	"\x05sendQ\x18\b \x01(\rH\aR\x05sendQ\x88\x01\x01\x12\x1d\n" +
	"\asendBuf\x18\t \x01(\rH\bR\asendBuf\x88\x01\x01\x12C\n" +
	"\flastRecvTime\x18\n" +
	" \x01(\v2\x1a.google.protobuf.TimestampH\tR\flastRecvTime\x88\x01\x01\x12%\n" +
	"\vlastRecvSeq\x18\v \x01(\rH\n" +
	"R\vlastRecvSeq\x88\x01\x01\x12C\n" +
	"\flastSendTime\x18\f \x01(\v2\x1a.google.protobuf.TimestampH\vR\flastSendTime\x88\x01\x01\x12%\n" +
	"\vlastSendSeq\x18\r \x01(\rH\fR\vlastSendSeq\x88\x01\x01B\x05\n" +
	"\x03_idB\v\n" +
	"\t_protocolB\f\n" +
	"\n" +
	"_localAddrB\r\n" +
	"\v_remoteAddrB\b\n" +
	"\x06_stateB\b\n" +
	"\x06_recvQB\n" +
	"\n" +
	"\b_recvBufB\b\n" +
	"\x06_sendQB\n" +
	"\n" +
	"\b_sendBufB\x0f\n" +
	"\r_lastRecvTimeB\x0e\n" +
	"\f_lastRecvSeqB\x0f\n" +
	"\r_lastSendTimeB\x0e\n" +
	"\f_lastSendSeq\"B\n" +
	"\x0fSessionInfoList\x12/\n" +
	"\x05items\x18\x01 \x03(\v2\x19.mieru.appctl.SessionInfoR\x05items\"@\n" +
	"\n" +
	"ThreadDump\x12#\n" +
	"\n" +
	"threadDump\x18\x01 \x01(\tH\x00R\n" +
	"threadDump\x88\x01\x01B\r\n" +
	"\v_threadDump\"\xb1\x02\n" +
	"\x10MemoryStatistics\x12!\n" +
	"\theapBytes\x18\x02 \x01(\x04H\x00R\theapBytes\x88\x01\x01\x12%\n" +
	"\vheapObjects\x18\x03 \x01(\x04H\x01R\vheapObjects\x88\x01\x01\x12'\n" +
	"\fmaxHeapBytes\x18\x04 \x01(\x04H\x02R\fmaxHeapBytes\x88\x01\x01\x12-\n" +
	"\x0ftargetHeapBytes\x18\x05 \x01(\x04H\x03R\x0ftargetHeapBytes\x88\x01\x01\x12#\n" +
	"\n" +
	"stackBytes\x18\x06 \x01(\x04H\x04R\n" +
	"stackBytes\x88\x01\x01B\f\n" +
	"\n" +
	"_heapBytesB\x0e\n" +
	"\f_heapObjectsB\x0f\n" +
	"\r_maxHeapBytesB\x12\n" +
	"\x10_targetHeapBytesB\r\n" +
	"\v_stackBytesJ\x04\b\x01\x10\x02\"x\n" +
	"\aVersion\x12\x19\n" +
	"\x05major\x18\x01 \x01(\rH\x00R\x05major\x88\x01\x01\x12\x19\n" +
	"\x05minor\x18\x02 \x01(\rH\x01R\x05minor\x88\x01\x01\x12\x19\n" +
	"\x05patch\x18\x03 \x01(\rH\x02R\x05patch\x88\x01\x01B\b\n" +
	"\x06_majorB\b\n" +
	"\x06_minorB\b\n" +
	"\x06_patchB0Z.github.com/enfein/mieru/v3/pkg/appctl/appctlpbb\x06proto3"

var (
	file_appctl_proto_misc_proto_rawDescOnce sync.Once
	file_appctl_proto_misc_proto_rawDescData []byte
)

func file_appctl_proto_misc_proto_rawDescGZIP() []byte {
	file_appctl_proto_misc_proto_rawDescOnce.Do(func() {
		file_appctl_proto_misc_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_appctl_proto_misc_proto_rawDesc), len(file_appctl_proto_misc_proto_rawDesc)))
	})
	return file_appctl_proto_misc_proto_rawDescData
}

var file_appctl_proto_misc_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
var file_appctl_proto_misc_proto_goTypes = []any{
	(*Metrics)(nil),               // 0: mieru.appctl.Metrics
	(*UserWithMetrics)(nil),       // 1: mieru.appctl.UserWithMetrics
	(*UserWithMetricsList)(nil),   // 2: mieru.appctl.UserWithMetricsList
	(*ProfileSavePath)(nil),       // 3: mieru.appctl.ProfileSavePath
	(*SessionInfo)(nil),           // 4: mieru.appctl.SessionInfo
	(*SessionInfoList)(nil),       // 5: mieru.appctl.SessionInfoList
	(*ThreadDump)(nil),            // 6: mieru.appctl.ThreadDump
	(*MemoryStatistics)(nil),      // 7: mieru.appctl.MemoryStatistics
	(*Version)(nil),               // 8: mieru.appctl.Version
	(*User)(nil),                  // 9: mieru.appctl.User
	(*metricspb.Metric)(nil),      // 10: mieru.metrics.Metric
	(*timestamppb.Timestamp)(nil), // 11: google.protobuf.Timestamp
}
var file_appctl_proto_misc_proto_depIdxs = []int32{
	9,  // 0: mieru.appctl.UserWithMetrics.user:type_name -> mieru.appctl.User
	10, // 1: mieru.appctl.UserWithMetrics.metrics:type_name -> mieru.metrics.Metric
	1,  // 2: mieru.appctl.UserWithMetricsList.items:type_name -> mieru.appctl.UserWithMetrics
	11, // 3: mieru.appctl.SessionInfo.lastRecvTime:type_name -> google.protobuf.Timestamp
	11, // 4: mieru.appctl.SessionInfo.lastSendTime:type_name -> google.protobuf.Timestamp
	4,  // 5: mieru.appctl.SessionInfoList.items:type_name -> mieru.appctl.SessionInfo
	6,  // [6:6] is the sub-list for method output_type
	6,  // [6:6] is the sub-list for method input_type
	6,  // [6:6] is the sub-list for extension type_name
	6,  // [6:6] is the sub-list for extension extendee
	0,  // [0:6] is the sub-list for field type_name
}

func init() { file_appctl_proto_misc_proto_init() }
func file_appctl_proto_misc_proto_init() {
	if File_appctl_proto_misc_proto != nil {
		return
	}
	file_appctl_proto_base_proto_init()
	file_appctl_proto_misc_proto_msgTypes[0].OneofWrappers = []any{}
	file_appctl_proto_misc_proto_msgTypes[1].OneofWrappers = []any{}
	file_appctl_proto_misc_proto_msgTypes[3].OneofWrappers = []any{}
	file_appctl_proto_misc_proto_msgTypes[4].OneofWrappers = []any{}
	file_appctl_proto_misc_proto_msgTypes[6].OneofWrappers = []any{}
	file_appctl_proto_misc_proto_msgTypes[7].OneofWrappers = []any{}
	file_appctl_proto_misc_proto_msgTypes[8].OneofWrappers = []any{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_appctl_proto_misc_proto_rawDesc), len(file_appctl_proto_misc_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   9,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_appctl_proto_misc_proto_goTypes,
		DependencyIndexes: file_appctl_proto_misc_proto_depIdxs,
		MessageInfos:      file_appctl_proto_misc_proto_msgTypes,
	}.Build()
	File_appctl_proto_misc_proto = out.File
	file_appctl_proto_misc_proto_goTypes = nil
	file_appctl_proto_misc_proto_depIdxs = nil
}
