// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v6.33.1
// source: manager/manager.proto

package manager

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	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 OpType int32

const (
	OpType_updateUsers              OpType = 0
	OpType_updateUser               OpType = 1
	OpType_deleteUser               OpType = 2
	OpType_updateBandwidthLimiters  OpType = 3
	OpType_updateBandwidthLimiter   OpType = 4
	OpType_deleteBandwidthLimiter   OpType = 5
	OpType_updateConnectionLimiters OpType = 6
	OpType_updateConnectionLimiter  OpType = 7
	OpType_deleteConnectionLimiter  OpType = 8
)

// Enum value maps for OpType.
var (
	OpType_name = map[int32]string{
		0: "updateUsers",
		1: "updateUser",
		2: "deleteUser",
		3: "updateBandwidthLimiters",
		4: "updateBandwidthLimiter",
		5: "deleteBandwidthLimiter",
		6: "updateConnectionLimiters",
		7: "updateConnectionLimiter",
		8: "deleteConnectionLimiter",
	}
	OpType_value = map[string]int32{
		"updateUsers":              0,
		"updateUser":               1,
		"deleteUser":               2,
		"updateBandwidthLimiters":  3,
		"updateBandwidthLimiter":   4,
		"deleteBandwidthLimiter":   5,
		"updateConnectionLimiters": 6,
		"updateConnectionLimiter":  7,
		"deleteConnectionLimiter":  8,
	}
)

func (x OpType) Enum() *OpType {
	p := new(OpType)
	*p = x
	return p
}

func (x OpType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (OpType) Descriptor() protoreflect.EnumDescriptor {
	return file_manager_manager_proto_enumTypes[0].Descriptor()
}

func (OpType) Type() protoreflect.EnumType {
	return &file_manager_manager_proto_enumTypes[0]
}

func (x OpType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use OpType.Descriptor instead.
func (OpType) EnumDescriptor() ([]byte, []int) {
	return file_manager_manager_proto_rawDescGZIP(), []int{0}
}

type Node struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Uuid          string                 `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Node) ProtoMessage() {}

func (x *Node) ProtoReflect() protoreflect.Message {
	mi := &file_manager_manager_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 Node.ProtoReflect.Descriptor instead.
func (*Node) Descriptor() ([]byte, []int) {
	return file_manager_manager_proto_rawDescGZIP(), []int{0}
}

func (x *Node) GetUuid() string {
	if x != nil {
		return x.Uuid
	}
	return ""
}

type User struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            int32                  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Username      string                 `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"`
	Type          string                 `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"`
	Inbound       string                 `protobuf:"bytes,5,opt,name=inbound,proto3" json:"inbound,omitempty"`
	Uuid          string                 `protobuf:"bytes,6,opt,name=uuid,proto3" json:"uuid,omitempty"`
	Password      string                 `protobuf:"bytes,7,opt,name=password,proto3" json:"password,omitempty"`
	Flow          string                 `protobuf:"bytes,8,opt,name=flow,proto3" json:"flow,omitempty"`
	AlterId       int32                  `protobuf:"varint,9,opt,name=alter_id,json=alterId,proto3" json:"alter_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*User) ProtoMessage() {}

func (x *User) ProtoReflect() protoreflect.Message {
	mi := &file_manager_manager_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 User.ProtoReflect.Descriptor instead.
func (*User) Descriptor() ([]byte, []int) {
	return file_manager_manager_proto_rawDescGZIP(), []int{1}
}

func (x *User) GetId() int32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *User) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *User) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *User) GetInbound() string {
	if x != nil {
		return x.Inbound
	}
	return ""
}

func (x *User) GetUuid() string {
	if x != nil {
		return x.Uuid
	}
	return ""
}

func (x *User) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *User) GetFlow() string {
	if x != nil {
		return x.Flow
	}
	return ""
}

func (x *User) GetAlterId() int32 {
	if x != nil {
		return x.AlterId
	}
	return 0
}

type UserList struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Values        []*User                `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*UserList) ProtoMessage() {}

func (x *UserList) ProtoReflect() protoreflect.Message {
	mi := &file_manager_manager_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 UserList.ProtoReflect.Descriptor instead.
func (*UserList) Descriptor() ([]byte, []int) {
	return file_manager_manager_proto_rawDescGZIP(), []int{2}
}

func (x *UserList) GetValues() []*User {
	if x != nil {
		return x.Values
	}
	return nil
}

type BandwidthLimiter struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Id             int32                  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Username       string                 `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"`
	Outbound       string                 `protobuf:"bytes,4,opt,name=outbound,proto3" json:"outbound,omitempty"`
	Strategy       string                 `protobuf:"bytes,5,opt,name=strategy,proto3" json:"strategy,omitempty"`
	Mode           string                 `protobuf:"bytes,6,opt,name=mode,proto3" json:"mode,omitempty"`
	ConnectionType string                 `protobuf:"bytes,7,opt,name=connection_type,json=connectionType,proto3" json:"connection_type,omitempty"`
	Speed          string                 `protobuf:"bytes,8,opt,name=speed,proto3" json:"speed,omitempty"`
	RawSpeed       uint64                 `protobuf:"varint,9,opt,name=raw_speed,json=rawSpeed,proto3" json:"raw_speed,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*BandwidthLimiter) ProtoMessage() {}

func (x *BandwidthLimiter) ProtoReflect() protoreflect.Message {
	mi := &file_manager_manager_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 BandwidthLimiter.ProtoReflect.Descriptor instead.
func (*BandwidthLimiter) Descriptor() ([]byte, []int) {
	return file_manager_manager_proto_rawDescGZIP(), []int{3}
}

func (x *BandwidthLimiter) GetId() int32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *BandwidthLimiter) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *BandwidthLimiter) GetOutbound() string {
	if x != nil {
		return x.Outbound
	}
	return ""
}

func (x *BandwidthLimiter) GetStrategy() string {
	if x != nil {
		return x.Strategy
	}
	return ""
}

func (x *BandwidthLimiter) GetMode() string {
	if x != nil {
		return x.Mode
	}
	return ""
}

func (x *BandwidthLimiter) GetConnectionType() string {
	if x != nil {
		return x.ConnectionType
	}
	return ""
}

func (x *BandwidthLimiter) GetSpeed() string {
	if x != nil {
		return x.Speed
	}
	return ""
}

func (x *BandwidthLimiter) GetRawSpeed() uint64 {
	if x != nil {
		return x.RawSpeed
	}
	return 0
}

type BandwidthLimiterList struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Values        []*BandwidthLimiter    `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*BandwidthLimiterList) ProtoMessage() {}

func (x *BandwidthLimiterList) ProtoReflect() protoreflect.Message {
	mi := &file_manager_manager_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 BandwidthLimiterList.ProtoReflect.Descriptor instead.
func (*BandwidthLimiterList) Descriptor() ([]byte, []int) {
	return file_manager_manager_proto_rawDescGZIP(), []int{4}
}

func (x *BandwidthLimiterList) GetValues() []*BandwidthLimiter {
	if x != nil {
		return x.Values
	}
	return nil
}

type ConnectionLimiter struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Id             int32                  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Username       string                 `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"`
	Outbound       string                 `protobuf:"bytes,4,opt,name=outbound,proto3" json:"outbound,omitempty"`
	Strategy       string                 `protobuf:"bytes,5,opt,name=strategy,proto3" json:"strategy,omitempty"`
	ConnectionType string                 `protobuf:"bytes,6,opt,name=connection_type,json=connectionType,proto3" json:"connection_type,omitempty"`
	LockType       string                 `protobuf:"bytes,7,opt,name=lock_type,json=lockType,proto3" json:"lock_type,omitempty"`
	Count          uint32                 `protobuf:"varint,8,opt,name=count,proto3" json:"count,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*ConnectionLimiter) ProtoMessage() {}

func (x *ConnectionLimiter) ProtoReflect() protoreflect.Message {
	mi := &file_manager_manager_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 ConnectionLimiter.ProtoReflect.Descriptor instead.
func (*ConnectionLimiter) Descriptor() ([]byte, []int) {
	return file_manager_manager_proto_rawDescGZIP(), []int{5}
}

func (x *ConnectionLimiter) GetId() int32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *ConnectionLimiter) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *ConnectionLimiter) GetOutbound() string {
	if x != nil {
		return x.Outbound
	}
	return ""
}

func (x *ConnectionLimiter) GetStrategy() string {
	if x != nil {
		return x.Strategy
	}
	return ""
}

func (x *ConnectionLimiter) GetConnectionType() string {
	if x != nil {
		return x.ConnectionType
	}
	return ""
}

func (x *ConnectionLimiter) GetLockType() string {
	if x != nil {
		return x.LockType
	}
	return ""
}

func (x *ConnectionLimiter) GetCount() uint32 {
	if x != nil {
		return x.Count
	}
	return 0
}

type ConnectionLimiterList struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Values        []*ConnectionLimiter   `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ConnectionLimiterList) ProtoMessage() {}

func (x *ConnectionLimiterList) ProtoReflect() protoreflect.Message {
	mi := &file_manager_manager_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 ConnectionLimiterList.ProtoReflect.Descriptor instead.
func (*ConnectionLimiterList) Descriptor() ([]byte, []int) {
	return file_manager_manager_proto_rawDescGZIP(), []int{6}
}

func (x *ConnectionLimiterList) GetValues() []*ConnectionLimiter {
	if x != nil {
		return x.Values
	}
	return nil
}

type NodeData struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Op    OpType                 `protobuf:"varint,1,opt,name=op,proto3,enum=manager.v1.OpType" json:"op,omitempty"`
	// Types that are valid to be assigned to Data:
	//
	//	*NodeData_Users
	//	*NodeData_User
	//	*NodeData_BandwidthLimiters
	//	*NodeData_BandwidthLimiter
	//	*NodeData_ConnectionLimiters
	//	*NodeData_ConnectionLimiter
	Data          isNodeData_Data `protobuf_oneof:"data"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*NodeData) ProtoMessage() {}

func (x *NodeData) ProtoReflect() protoreflect.Message {
	mi := &file_manager_manager_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 NodeData.ProtoReflect.Descriptor instead.
func (*NodeData) Descriptor() ([]byte, []int) {
	return file_manager_manager_proto_rawDescGZIP(), []int{7}
}

func (x *NodeData) GetOp() OpType {
	if x != nil {
		return x.Op
	}
	return OpType_updateUsers
}

func (x *NodeData) GetData() isNodeData_Data {
	if x != nil {
		return x.Data
	}
	return nil
}

func (x *NodeData) GetUsers() *UserList {
	if x != nil {
		if x, ok := x.Data.(*NodeData_Users); ok {
			return x.Users
		}
	}
	return nil
}

func (x *NodeData) GetUser() *User {
	if x != nil {
		if x, ok := x.Data.(*NodeData_User); ok {
			return x.User
		}
	}
	return nil
}

func (x *NodeData) GetBandwidthLimiters() *BandwidthLimiterList {
	if x != nil {
		if x, ok := x.Data.(*NodeData_BandwidthLimiters); ok {
			return x.BandwidthLimiters
		}
	}
	return nil
}

func (x *NodeData) GetBandwidthLimiter() *BandwidthLimiter {
	if x != nil {
		if x, ok := x.Data.(*NodeData_BandwidthLimiter); ok {
			return x.BandwidthLimiter
		}
	}
	return nil
}

func (x *NodeData) GetConnectionLimiters() *ConnectionLimiterList {
	if x != nil {
		if x, ok := x.Data.(*NodeData_ConnectionLimiters); ok {
			return x.ConnectionLimiters
		}
	}
	return nil
}

func (x *NodeData) GetConnectionLimiter() *ConnectionLimiter {
	if x != nil {
		if x, ok := x.Data.(*NodeData_ConnectionLimiter); ok {
			return x.ConnectionLimiter
		}
	}
	return nil
}

type isNodeData_Data interface {
	isNodeData_Data()
}

type NodeData_Users struct {
	Users *UserList `protobuf:"bytes,2,opt,name=users,proto3,oneof"`
}

type NodeData_User struct {
	User *User `protobuf:"bytes,3,opt,name=user,proto3,oneof"`
}

type NodeData_BandwidthLimiters struct {
	BandwidthLimiters *BandwidthLimiterList `protobuf:"bytes,4,opt,name=bandwidth_limiters,json=bandwidthLimiters,proto3,oneof"`
}

type NodeData_BandwidthLimiter struct {
	BandwidthLimiter *BandwidthLimiter `protobuf:"bytes,5,opt,name=bandwidth_limiter,json=bandwidthLimiter,proto3,oneof"`
}

type NodeData_ConnectionLimiters struct {
	ConnectionLimiters *ConnectionLimiterList `protobuf:"bytes,6,opt,name=connection_limiters,json=connectionLimiters,proto3,oneof"`
}

type NodeData_ConnectionLimiter struct {
	ConnectionLimiter *ConnectionLimiter `protobuf:"bytes,7,opt,name=connection_limiter,json=connectionLimiter,proto3,oneof"`
}

func (*NodeData_Users) isNodeData_Data() {}

func (*NodeData_User) isNodeData_Data() {}

func (*NodeData_BandwidthLimiters) isNodeData_Data() {}

func (*NodeData_BandwidthLimiter) isNodeData_Data() {}

func (*NodeData_ConnectionLimiters) isNodeData_Data() {}

func (*NodeData_ConnectionLimiter) isNodeData_Data() {}

type AcquireLockRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	LimiterId     int32                  `protobuf:"varint,1,opt,name=limiter_id,json=limiterId,proto3" json:"limiter_id,omitempty"`
	Id            string                 `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*AcquireLockRequest) ProtoMessage() {}

func (x *AcquireLockRequest) ProtoReflect() protoreflect.Message {
	mi := &file_manager_manager_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 AcquireLockRequest.ProtoReflect.Descriptor instead.
func (*AcquireLockRequest) Descriptor() ([]byte, []int) {
	return file_manager_manager_proto_rawDescGZIP(), []int{8}
}

func (x *AcquireLockRequest) GetLimiterId() int32 {
	if x != nil {
		return x.LimiterId
	}
	return 0
}

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

type LockData struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	LimiterId     int32                  `protobuf:"varint,1,opt,name=limiter_id,json=limiterId,proto3" json:"limiter_id,omitempty"`
	Id            string                 `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	HandleId      string                 `protobuf:"bytes,3,opt,name=handleId,proto3" json:"handleId,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *LockData) Reset() {
	*x = LockData{}
	mi := &file_manager_manager_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*LockData) ProtoMessage() {}

func (x *LockData) ProtoReflect() protoreflect.Message {
	mi := &file_manager_manager_proto_msgTypes[9]
	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 LockData.ProtoReflect.Descriptor instead.
func (*LockData) Descriptor() ([]byte, []int) {
	return file_manager_manager_proto_rawDescGZIP(), []int{9}
}

func (x *LockData) GetLimiterId() int32 {
	if x != nil {
		return x.LimiterId
	}
	return 0
}

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

func (x *LockData) GetHandleId() string {
	if x != nil {
		return x.HandleId
	}
	return ""
}

type Empty struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Empty) Reset() {
	*x = Empty{}
	mi := &file_manager_manager_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Empty) ProtoMessage() {}

func (x *Empty) ProtoReflect() protoreflect.Message {
	mi := &file_manager_manager_proto_msgTypes[10]
	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 Empty.ProtoReflect.Descriptor instead.
func (*Empty) Descriptor() ([]byte, []int) {
	return file_manager_manager_proto_rawDescGZIP(), []int{10}
}

var File_manager_manager_proto protoreflect.FileDescriptor

const file_manager_manager_proto_rawDesc = "" +
	"\n" +
	"\x15manager/manager.proto\x12\n" +
	"manager.v1\"\x1a\n" +
	"\x04Node\x12\x12\n" +
	"\x04uuid\x18\x01 \x01(\tR\x04uuid\"\xbf\x01\n" +
	"\x04User\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\x05R\x02id\x12\x1a\n" +
	"\busername\x18\x03 \x01(\tR\busername\x12\x12\n" +
	"\x04type\x18\x04 \x01(\tR\x04type\x12\x18\n" +
	"\ainbound\x18\x05 \x01(\tR\ainbound\x12\x12\n" +
	"\x04uuid\x18\x06 \x01(\tR\x04uuid\x12\x1a\n" +
	"\bpassword\x18\a \x01(\tR\bpassword\x12\x12\n" +
	"\x04flow\x18\b \x01(\tR\x04flow\x12\x19\n" +
	"\balter_id\x18\t \x01(\x05R\aalterId\"4\n" +
	"\bUserList\x12(\n" +
	"\x06values\x18\x01 \x03(\v2\x10.manager.v1.UserR\x06values\"\xe6\x01\n" +
	"\x10BandwidthLimiter\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\x05R\x02id\x12\x1a\n" +
	"\busername\x18\x03 \x01(\tR\busername\x12\x1a\n" +
	"\boutbound\x18\x04 \x01(\tR\boutbound\x12\x1a\n" +
	"\bstrategy\x18\x05 \x01(\tR\bstrategy\x12\x12\n" +
	"\x04mode\x18\x06 \x01(\tR\x04mode\x12'\n" +
	"\x0fconnection_type\x18\a \x01(\tR\x0econnectionType\x12\x14\n" +
	"\x05speed\x18\b \x01(\tR\x05speed\x12\x1b\n" +
	"\traw_speed\x18\t \x01(\x04R\brawSpeed\"L\n" +
	"\x14BandwidthLimiterList\x124\n" +
	"\x06values\x18\x01 \x03(\v2\x1c.manager.v1.BandwidthLimiterR\x06values\"\xd3\x01\n" +
	"\x11ConnectionLimiter\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\x05R\x02id\x12\x1a\n" +
	"\busername\x18\x03 \x01(\tR\busername\x12\x1a\n" +
	"\boutbound\x18\x04 \x01(\tR\boutbound\x12\x1a\n" +
	"\bstrategy\x18\x05 \x01(\tR\bstrategy\x12'\n" +
	"\x0fconnection_type\x18\x06 \x01(\tR\x0econnectionType\x12\x1b\n" +
	"\tlock_type\x18\a \x01(\tR\blockType\x12\x14\n" +
	"\x05count\x18\b \x01(\rR\x05count\"N\n" +
	"\x15ConnectionLimiterList\x125\n" +
	"\x06values\x18\x01 \x03(\v2\x1d.manager.v1.ConnectionLimiterR\x06values\"\xd2\x03\n" +
	"\bNodeData\x12\"\n" +
	"\x02op\x18\x01 \x01(\x0e2\x12.manager.v1.OpTypeR\x02op\x12,\n" +
	"\x05users\x18\x02 \x01(\v2\x14.manager.v1.UserListH\x00R\x05users\x12&\n" +
	"\x04user\x18\x03 \x01(\v2\x10.manager.v1.UserH\x00R\x04user\x12Q\n" +
	"\x12bandwidth_limiters\x18\x04 \x01(\v2 .manager.v1.BandwidthLimiterListH\x00R\x11bandwidthLimiters\x12K\n" +
	"\x11bandwidth_limiter\x18\x05 \x01(\v2\x1c.manager.v1.BandwidthLimiterH\x00R\x10bandwidthLimiter\x12T\n" +
	"\x13connection_limiters\x18\x06 \x01(\v2!.manager.v1.ConnectionLimiterListH\x00R\x12connectionLimiters\x12N\n" +
	"\x12connection_limiter\x18\a \x01(\v2\x1d.manager.v1.ConnectionLimiterH\x00R\x11connectionLimiterB\x06\n" +
	"\x04data\"C\n" +
	"\x12AcquireLockRequest\x12\x1d\n" +
	"\n" +
	"limiter_id\x18\x01 \x01(\x05R\tlimiterId\x12\x0e\n" +
	"\x02id\x18\x02 \x01(\tR\x02id\"U\n" +
	"\bLockData\x12\x1d\n" +
	"\n" +
	"limiter_id\x18\x01 \x01(\x05R\tlimiterId\x12\x0e\n" +
	"\x02id\x18\x02 \x01(\tR\x02id\x12\x1a\n" +
	"\bhandleId\x18\x03 \x01(\tR\bhandleId\"\a\n" +
	"\x05Empty*\xe6\x01\n" +
	"\x06OpType\x12\x0f\n" +
	"\vupdateUsers\x10\x00\x12\x0e\n" +
	"\n" +
	"updateUser\x10\x01\x12\x0e\n" +
	"\n" +
	"deleteUser\x10\x02\x12\x1b\n" +
	"\x17updateBandwidthLimiters\x10\x03\x12\x1a\n" +
	"\x16updateBandwidthLimiter\x10\x04\x12\x1a\n" +
	"\x16deleteBandwidthLimiter\x10\x05\x12\x1c\n" +
	"\x18updateConnectionLimiters\x10\x06\x12\x1b\n" +
	"\x17updateConnectionLimiter\x10\a\x12\x1b\n" +
	"\x17deleteConnectionLimiter\x10\b2\xf3\x01\n" +
	"\aManager\x123\n" +
	"\aAddNode\x12\x10.manager.v1.Node\x1a\x14.manager.v1.NodeData0\x01\x12C\n" +
	"\vAcquireLock\x12\x1e.manager.v1.AcquireLockRequest\x1a\x14.manager.v1.LockData\x126\n" +
	"\vRefreshLock\x12\x14.manager.v1.LockData\x1a\x11.manager.v1.Empty\x126\n" +
	"\vReleaseLock\x12\x14.manager.v1.LockData\x1a\x11.manager.v1.EmptyB<Z:github.com/sagernet/sing-box/service/remotemanager/managerb\x06proto3"

var (
	file_manager_manager_proto_rawDescOnce sync.Once
	file_manager_manager_proto_rawDescData []byte
)

func file_manager_manager_proto_rawDescGZIP() []byte {
	file_manager_manager_proto_rawDescOnce.Do(func() {
		file_manager_manager_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_manager_manager_proto_rawDesc), len(file_manager_manager_proto_rawDesc)))
	})
	return file_manager_manager_proto_rawDescData
}

var file_manager_manager_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_manager_manager_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
var file_manager_manager_proto_goTypes = []any{
	(OpType)(0),                   // 0: manager.v1.OpType
	(*Node)(nil),                  // 1: manager.v1.Node
	(*User)(nil),                  // 2: manager.v1.User
	(*UserList)(nil),              // 3: manager.v1.UserList
	(*BandwidthLimiter)(nil),      // 4: manager.v1.BandwidthLimiter
	(*BandwidthLimiterList)(nil),  // 5: manager.v1.BandwidthLimiterList
	(*ConnectionLimiter)(nil),     // 6: manager.v1.ConnectionLimiter
	(*ConnectionLimiterList)(nil), // 7: manager.v1.ConnectionLimiterList
	(*NodeData)(nil),              // 8: manager.v1.NodeData
	(*AcquireLockRequest)(nil),    // 9: manager.v1.AcquireLockRequest
	(*LockData)(nil),              // 10: manager.v1.LockData
	(*Empty)(nil),                 // 11: manager.v1.Empty
}
var file_manager_manager_proto_depIdxs = []int32{
	2,  // 0: manager.v1.UserList.values:type_name -> manager.v1.User
	4,  // 1: manager.v1.BandwidthLimiterList.values:type_name -> manager.v1.BandwidthLimiter
	6,  // 2: manager.v1.ConnectionLimiterList.values:type_name -> manager.v1.ConnectionLimiter
	0,  // 3: manager.v1.NodeData.op:type_name -> manager.v1.OpType
	3,  // 4: manager.v1.NodeData.users:type_name -> manager.v1.UserList
	2,  // 5: manager.v1.NodeData.user:type_name -> manager.v1.User
	5,  // 6: manager.v1.NodeData.bandwidth_limiters:type_name -> manager.v1.BandwidthLimiterList
	4,  // 7: manager.v1.NodeData.bandwidth_limiter:type_name -> manager.v1.BandwidthLimiter
	7,  // 8: manager.v1.NodeData.connection_limiters:type_name -> manager.v1.ConnectionLimiterList
	6,  // 9: manager.v1.NodeData.connection_limiter:type_name -> manager.v1.ConnectionLimiter
	1,  // 10: manager.v1.Manager.AddNode:input_type -> manager.v1.Node
	9,  // 11: manager.v1.Manager.AcquireLock:input_type -> manager.v1.AcquireLockRequest
	10, // 12: manager.v1.Manager.RefreshLock:input_type -> manager.v1.LockData
	10, // 13: manager.v1.Manager.ReleaseLock:input_type -> manager.v1.LockData
	8,  // 14: manager.v1.Manager.AddNode:output_type -> manager.v1.NodeData
	10, // 15: manager.v1.Manager.AcquireLock:output_type -> manager.v1.LockData
	11, // 16: manager.v1.Manager.RefreshLock:output_type -> manager.v1.Empty
	11, // 17: manager.v1.Manager.ReleaseLock:output_type -> manager.v1.Empty
	14, // [14:18] is the sub-list for method output_type
	10, // [10:14] is the sub-list for method input_type
	10, // [10:10] is the sub-list for extension type_name
	10, // [10:10] is the sub-list for extension extendee
	0,  // [0:10] is the sub-list for field type_name
}

func init() { file_manager_manager_proto_init() }
func file_manager_manager_proto_init() {
	if File_manager_manager_proto != nil {
		return
	}
	file_manager_manager_proto_msgTypes[7].OneofWrappers = []any{
		(*NodeData_Users)(nil),
		(*NodeData_User)(nil),
		(*NodeData_BandwidthLimiters)(nil),
		(*NodeData_BandwidthLimiter)(nil),
		(*NodeData_ConnectionLimiters)(nil),
		(*NodeData_ConnectionLimiter)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_manager_manager_proto_rawDesc), len(file_manager_manager_proto_rawDesc)),
			NumEnums:      1,
			NumMessages:   11,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_manager_manager_proto_goTypes,
		DependencyIndexes: file_manager_manager_proto_depIdxs,
		EnumInfos:         file_manager_manager_proto_enumTypes,
		MessageInfos:      file_manager_manager_proto_msgTypes,
	}.Build()
	File_manager_manager_proto = out.File
	file_manager_manager_proto_goTypes = nil
	file_manager_manager_proto_depIdxs = nil
}
