// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.1 // protoc v3.19.1 // source: ctrl.proto package ctrl_pb import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) 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 ContentType int32 const ( ContentType_Zero ContentType = 0 ContentType_CircuitRequestType ContentType = 1000 // defined in ctrl_msg/messages.go now // CircuitSuccessType = 1001; ContentType_DialType ContentType = 1002 ContentType_LinkType ContentType = 1003 ContentType_FaultType ContentType = 1004 ContentType_RouteType ContentType = 1005 ContentType_UnrouteType ContentType = 1006 ContentType_MetricsType ContentType = 1007 ContentType_TogglePipeTracesRequestType ContentType = 1008 ContentType_TraceEventType ContentType = 1010 ContentType_CreateTerminatorRequestType ContentType = 1011 ContentType_RemoveTerminatorRequestType ContentType = 1012 ContentType_InspectRequestType ContentType = 1013 ContentType_InspectResponseType ContentType = 1014 // defined in ctrl_msg/messages.go now // CircuitFailedType = 1016; ContentType_ValidateTerminatorsRequestType ContentType = 1017 ContentType_UpdateTerminatorRequestType ContentType = 1018 ContentType_VerifyLinkType ContentType = 1019 ) // Enum value maps for ContentType. var ( ContentType_name = map[int32]string{ 0: "Zero", 1000: "CircuitRequestType", 1002: "DialType", 1003: "LinkType", 1004: "FaultType", 1005: "RouteType", 1006: "UnrouteType", 1007: "MetricsType", 1008: "TogglePipeTracesRequestType", 1010: "TraceEventType", 1011: "CreateTerminatorRequestType", 1012: "RemoveTerminatorRequestType", 1013: "InspectRequestType", 1014: "InspectResponseType", 1017: "ValidateTerminatorsRequestType", 1018: "UpdateTerminatorRequestType", 1019: "VerifyLinkType", } ContentType_value = map[string]int32{ "Zero": 0, "CircuitRequestType": 1000, "DialType": 1002, "LinkType": 1003, "FaultType": 1004, "RouteType": 1005, "UnrouteType": 1006, "MetricsType": 1007, "TogglePipeTracesRequestType": 1008, "TraceEventType": 1010, "CreateTerminatorRequestType": 1011, "RemoveTerminatorRequestType": 1012, "InspectRequestType": 1013, "InspectResponseType": 1014, "ValidateTerminatorsRequestType": 1017, "UpdateTerminatorRequestType": 1018, "VerifyLinkType": 1019, } ) func (x ContentType) Enum() *ContentType { p := new(ContentType) *p = x return p } func (x ContentType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ContentType) Descriptor() protoreflect.EnumDescriptor { return file_ctrl_proto_enumTypes[0].Descriptor() } func (ContentType) Type() protoreflect.EnumType { return &file_ctrl_proto_enumTypes[0] } func (x ContentType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ContentType.Descriptor instead. func (ContentType) EnumDescriptor() ([]byte, []int) { return file_ctrl_proto_rawDescGZIP(), []int{0} } type TerminatorPrecedence int32 const ( TerminatorPrecedence_Default TerminatorPrecedence = 0 TerminatorPrecedence_Required TerminatorPrecedence = 1 TerminatorPrecedence_Failed TerminatorPrecedence = 2 ) // Enum value maps for TerminatorPrecedence. var ( TerminatorPrecedence_name = map[int32]string{ 0: "Default", 1: "Required", 2: "Failed", } TerminatorPrecedence_value = map[string]int32{ "Default": 0, "Required": 1, "Failed": 2, } ) func (x TerminatorPrecedence) Enum() *TerminatorPrecedence { p := new(TerminatorPrecedence) *p = x return p } func (x TerminatorPrecedence) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (TerminatorPrecedence) Descriptor() protoreflect.EnumDescriptor { return file_ctrl_proto_enumTypes[1].Descriptor() } func (TerminatorPrecedence) Type() protoreflect.EnumType { return &file_ctrl_proto_enumTypes[1] } func (x TerminatorPrecedence) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use TerminatorPrecedence.Descriptor instead. func (TerminatorPrecedence) EnumDescriptor() ([]byte, []int) { return file_ctrl_proto_rawDescGZIP(), []int{1} } type FaultSubject int32 const ( FaultSubject_IngressFault FaultSubject = 0 FaultSubject_EgressFault FaultSubject = 1 FaultSubject_LinkFault FaultSubject = 2 FaultSubject_ForwardFault FaultSubject = 3 ) // Enum value maps for FaultSubject. var ( FaultSubject_name = map[int32]string{ 0: "IngressFault", 1: "EgressFault", 2: "LinkFault", 3: "ForwardFault", } FaultSubject_value = map[string]int32{ "IngressFault": 0, "EgressFault": 1, "LinkFault": 2, "ForwardFault": 3, } ) func (x FaultSubject) Enum() *FaultSubject { p := new(FaultSubject) *p = x return p } func (x FaultSubject) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (FaultSubject) Descriptor() protoreflect.EnumDescriptor { return file_ctrl_proto_enumTypes[2].Descriptor() } func (FaultSubject) Type() protoreflect.EnumType { return &file_ctrl_proto_enumTypes[2] } func (x FaultSubject) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use FaultSubject.Descriptor instead. func (FaultSubject) EnumDescriptor() ([]byte, []int) { return file_ctrl_proto_rawDescGZIP(), []int{2} } type CircuitRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields IngressId string `protobuf:"bytes,1,opt,name=ingressId,proto3" json:"ingressId,omitempty"` ServiceId string `protobuf:"bytes,2,opt,name=serviceId,proto3" json:"serviceId,omitempty"` PeerData map[uint32][]byte `protobuf:"bytes,3,rep,name=peerData,proto3" json:"peerData,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *CircuitRequest) Reset() { *x = CircuitRequest{} if protoimpl.UnsafeEnabled { mi := &file_ctrl_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CircuitRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CircuitRequest) ProtoMessage() {} func (x *CircuitRequest) ProtoReflect() protoreflect.Message { mi := &file_ctrl_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CircuitRequest.ProtoReflect.Descriptor instead. func (*CircuitRequest) Descriptor() ([]byte, []int) { return file_ctrl_proto_rawDescGZIP(), []int{0} } func (x *CircuitRequest) GetIngressId() string { if x != nil { return x.IngressId } return "" } func (x *CircuitRequest) GetServiceId() string { if x != nil { return x.ServiceId } return "" } func (x *CircuitRequest) GetPeerData() map[uint32][]byte { if x != nil { return x.PeerData } return nil } type CircuitConfirmation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CircuitIds []string `protobuf:"bytes,1,rep,name=circuitIds,proto3" json:"circuitIds,omitempty"` } func (x *CircuitConfirmation) Reset() { *x = CircuitConfirmation{} if protoimpl.UnsafeEnabled { mi := &file_ctrl_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CircuitConfirmation) String() string { return protoimpl.X.MessageStringOf(x) } func (*CircuitConfirmation) ProtoMessage() {} func (x *CircuitConfirmation) ProtoReflect() protoreflect.Message { mi := &file_ctrl_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CircuitConfirmation.ProtoReflect.Descriptor instead. func (*CircuitConfirmation) Descriptor() ([]byte, []int) { return file_ctrl_proto_rawDescGZIP(), []int{1} } func (x *CircuitConfirmation) GetCircuitIds() []string { if x != nil { return x.CircuitIds } return nil } type CreateTerminatorRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ServiceId string `protobuf:"bytes,2,opt,name=serviceId,proto3" json:"serviceId,omitempty"` Binding string `protobuf:"bytes,3,opt,name=binding,proto3" json:"binding,omitempty"` Address string `protobuf:"bytes,4,opt,name=address,proto3" json:"address,omitempty"` PeerData map[uint32][]byte `protobuf:"bytes,5,rep,name=peerData,proto3" json:"peerData,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` Cost uint32 `protobuf:"varint,6,opt,name=cost,proto3" json:"cost,omitempty"` Precedence TerminatorPrecedence `protobuf:"varint,7,opt,name=precedence,proto3,enum=ziti.ctrl.pb.TerminatorPrecedence" json:"precedence,omitempty"` Identity string `protobuf:"bytes,8,opt,name=identity,proto3" json:"identity,omitempty"` IdentitySecret []byte `protobuf:"bytes,9,opt,name=identitySecret,proto3" json:"identitySecret,omitempty"` } func (x *CreateTerminatorRequest) Reset() { *x = CreateTerminatorRequest{} if protoimpl.UnsafeEnabled { mi := &file_ctrl_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateTerminatorRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateTerminatorRequest) ProtoMessage() {} func (x *CreateTerminatorRequest) ProtoReflect() protoreflect.Message { mi := &file_ctrl_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CreateTerminatorRequest.ProtoReflect.Descriptor instead. func (*CreateTerminatorRequest) Descriptor() ([]byte, []int) { return file_ctrl_proto_rawDescGZIP(), []int{2} } func (x *CreateTerminatorRequest) GetServiceId() string { if x != nil { return x.ServiceId } return "" } func (x *CreateTerminatorRequest) GetBinding() string { if x != nil { return x.Binding } return "" } func (x *CreateTerminatorRequest) GetAddress() string { if x != nil { return x.Address } return "" } func (x *CreateTerminatorRequest) GetPeerData() map[uint32][]byte { if x != nil { return x.PeerData } return nil } func (x *CreateTerminatorRequest) GetCost() uint32 { if x != nil { return x.Cost } return 0 } func (x *CreateTerminatorRequest) GetPrecedence() TerminatorPrecedence { if x != nil { return x.Precedence } return TerminatorPrecedence_Default } func (x *CreateTerminatorRequest) GetIdentity() string { if x != nil { return x.Identity } return "" } func (x *CreateTerminatorRequest) GetIdentitySecret() []byte { if x != nil { return x.IdentitySecret } return nil } type RemoveTerminatorRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TerminatorId string `protobuf:"bytes,1,opt,name=terminatorId,proto3" json:"terminatorId,omitempty"` } func (x *RemoveTerminatorRequest) Reset() { *x = RemoveTerminatorRequest{} if protoimpl.UnsafeEnabled { mi := &file_ctrl_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RemoveTerminatorRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RemoveTerminatorRequest) ProtoMessage() {} func (x *RemoveTerminatorRequest) ProtoReflect() protoreflect.Message { mi := &file_ctrl_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RemoveTerminatorRequest.ProtoReflect.Descriptor instead. func (*RemoveTerminatorRequest) Descriptor() ([]byte, []int) { return file_ctrl_proto_rawDescGZIP(), []int{3} } func (x *RemoveTerminatorRequest) GetTerminatorId() string { if x != nil { return x.TerminatorId } return "" } type Terminator struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Binding string `protobuf:"bytes,2,opt,name=binding,proto3" json:"binding,omitempty"` Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` } func (x *Terminator) Reset() { *x = Terminator{} if protoimpl.UnsafeEnabled { mi := &file_ctrl_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Terminator) String() string { return protoimpl.X.MessageStringOf(x) } func (*Terminator) ProtoMessage() {} func (x *Terminator) ProtoReflect() protoreflect.Message { mi := &file_ctrl_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Terminator.ProtoReflect.Descriptor instead. func (*Terminator) Descriptor() ([]byte, []int) { return file_ctrl_proto_rawDescGZIP(), []int{4} } func (x *Terminator) GetId() string { if x != nil { return x.Id } return "" } func (x *Terminator) GetBinding() string { if x != nil { return x.Binding } return "" } func (x *Terminator) GetAddress() string { if x != nil { return x.Address } return "" } type ValidateTerminatorsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Terminators []*Terminator `protobuf:"bytes,1,rep,name=terminators,proto3" json:"terminators,omitempty"` } func (x *ValidateTerminatorsRequest) Reset() { *x = ValidateTerminatorsRequest{} if protoimpl.UnsafeEnabled { mi := &file_ctrl_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ValidateTerminatorsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ValidateTerminatorsRequest) ProtoMessage() {} func (x *ValidateTerminatorsRequest) ProtoReflect() protoreflect.Message { mi := &file_ctrl_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ValidateTerminatorsRequest.ProtoReflect.Descriptor instead. func (*ValidateTerminatorsRequest) Descriptor() ([]byte, []int) { return file_ctrl_proto_rawDescGZIP(), []int{5} } func (x *ValidateTerminatorsRequest) GetTerminators() []*Terminator { if x != nil { return x.Terminators } return nil } type UpdateTerminatorRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TerminatorId string `protobuf:"bytes,1,opt,name=terminatorId,proto3" json:"terminatorId,omitempty"` UpdatePrecedence bool `protobuf:"varint,2,opt,name=updatePrecedence,proto3" json:"updatePrecedence,omitempty"` UpdateCost bool `protobuf:"varint,3,opt,name=updateCost,proto3" json:"updateCost,omitempty"` Precedence TerminatorPrecedence `protobuf:"varint,4,opt,name=precedence,proto3,enum=ziti.ctrl.pb.TerminatorPrecedence" json:"precedence,omitempty"` Cost uint32 `protobuf:"varint,5,opt,name=cost,proto3" json:"cost,omitempty"` } func (x *UpdateTerminatorRequest) Reset() { *x = UpdateTerminatorRequest{} if protoimpl.UnsafeEnabled { mi := &file_ctrl_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateTerminatorRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateTerminatorRequest) ProtoMessage() {} func (x *UpdateTerminatorRequest) ProtoReflect() protoreflect.Message { mi := &file_ctrl_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpdateTerminatorRequest.ProtoReflect.Descriptor instead. func (*UpdateTerminatorRequest) Descriptor() ([]byte, []int) { return file_ctrl_proto_rawDescGZIP(), []int{6} } func (x *UpdateTerminatorRequest) GetTerminatorId() string { if x != nil { return x.TerminatorId } return "" } func (x *UpdateTerminatorRequest) GetUpdatePrecedence() bool { if x != nil { return x.UpdatePrecedence } return false } func (x *UpdateTerminatorRequest) GetUpdateCost() bool { if x != nil { return x.UpdateCost } return false } func (x *UpdateTerminatorRequest) GetPrecedence() TerminatorPrecedence { if x != nil { return x.Precedence } return TerminatorPrecedence_Default } func (x *UpdateTerminatorRequest) GetCost() uint32 { if x != nil { return x.Cost } return 0 } type Dial struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields LinkId string `protobuf:"bytes,1,opt,name=linkId,proto3" json:"linkId,omitempty"` Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` RouterId string `protobuf:"bytes,3,opt,name=routerId,proto3" json:"routerId,omitempty"` } func (x *Dial) Reset() { *x = Dial{} if protoimpl.UnsafeEnabled { mi := &file_ctrl_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Dial) String() string { return protoimpl.X.MessageStringOf(x) } func (*Dial) ProtoMessage() {} func (x *Dial) ProtoReflect() protoreflect.Message { mi := &file_ctrl_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Dial.ProtoReflect.Descriptor instead. func (*Dial) Descriptor() ([]byte, []int) { return file_ctrl_proto_rawDescGZIP(), []int{7} } func (x *Dial) GetLinkId() string { if x != nil { return x.LinkId } return "" } func (x *Dial) GetAddress() string { if x != nil { return x.Address } return "" } func (x *Dial) GetRouterId() string { if x != nil { return x.RouterId } return "" } type Link struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } func (x *Link) Reset() { *x = Link{} if protoimpl.UnsafeEnabled { mi := &file_ctrl_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Link) String() string { return protoimpl.X.MessageStringOf(x) } func (*Link) ProtoMessage() {} func (x *Link) ProtoReflect() protoreflect.Message { mi := &file_ctrl_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Link.ProtoReflect.Descriptor instead. func (*Link) Descriptor() ([]byte, []int) { return file_ctrl_proto_rawDescGZIP(), []int{8} } func (x *Link) GetId() string { if x != nil { return x.Id } return "" } type Fault struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Subject FaultSubject `protobuf:"varint,1,opt,name=subject,proto3,enum=ziti.ctrl.pb.FaultSubject" json:"subject,omitempty"` Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` } func (x *Fault) Reset() { *x = Fault{} if protoimpl.UnsafeEnabled { mi := &file_ctrl_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Fault) String() string { return protoimpl.X.MessageStringOf(x) } func (*Fault) ProtoMessage() {} func (x *Fault) ProtoReflect() protoreflect.Message { mi := &file_ctrl_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Fault.ProtoReflect.Descriptor instead. func (*Fault) Descriptor() ([]byte, []int) { return file_ctrl_proto_rawDescGZIP(), []int{9} } func (x *Fault) GetSubject() FaultSubject { if x != nil { return x.Subject } return FaultSubject_IngressFault } func (x *Fault) GetId() string { if x != nil { return x.Id } return "" } type Context struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Fields map[string]string `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` ChannelMask uint32 `protobuf:"varint,2,opt,name=channelMask,proto3" json:"channelMask,omitempty"` } func (x *Context) Reset() { *x = Context{} if protoimpl.UnsafeEnabled { mi := &file_ctrl_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Context) String() string { return protoimpl.X.MessageStringOf(x) } func (*Context) ProtoMessage() {} func (x *Context) ProtoReflect() protoreflect.Message { mi := &file_ctrl_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Context.ProtoReflect.Descriptor instead. func (*Context) Descriptor() ([]byte, []int) { return file_ctrl_proto_rawDescGZIP(), []int{10} } func (x *Context) GetFields() map[string]string { if x != nil { return x.Fields } return nil } func (x *Context) GetChannelMask() uint32 { if x != nil { return x.ChannelMask } return 0 } type Route struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CircuitId string `protobuf:"bytes,1,opt,name=circuitId,proto3" json:"circuitId,omitempty"` Attempt uint32 `protobuf:"varint,2,opt,name=attempt,proto3" json:"attempt,omitempty"` Egress *Route_Egress `protobuf:"bytes,3,opt,name=egress,proto3" json:"egress,omitempty"` Forwards []*Route_Forward `protobuf:"bytes,4,rep,name=forwards,proto3" json:"forwards,omitempty"` Context *Context `protobuf:"bytes,5,opt,name=context,proto3" json:"context,omitempty"` } func (x *Route) Reset() { *x = Route{} if protoimpl.UnsafeEnabled { mi := &file_ctrl_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Route) String() string { return protoimpl.X.MessageStringOf(x) } func (*Route) ProtoMessage() {} func (x *Route) ProtoReflect() protoreflect.Message { mi := &file_ctrl_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Route.ProtoReflect.Descriptor instead. func (*Route) Descriptor() ([]byte, []int) { return file_ctrl_proto_rawDescGZIP(), []int{11} } func (x *Route) GetCircuitId() string { if x != nil { return x.CircuitId } return "" } func (x *Route) GetAttempt() uint32 { if x != nil { return x.Attempt } return 0 } func (x *Route) GetEgress() *Route_Egress { if x != nil { return x.Egress } return nil } func (x *Route) GetForwards() []*Route_Forward { if x != nil { return x.Forwards } return nil } func (x *Route) GetContext() *Context { if x != nil { return x.Context } return nil } type Unroute struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CircuitId string `protobuf:"bytes,1,opt,name=circuitId,proto3" json:"circuitId,omitempty"` Now bool `protobuf:"varint,2,opt,name=now,proto3" json:"now,omitempty"` } func (x *Unroute) Reset() { *x = Unroute{} if protoimpl.UnsafeEnabled { mi := &file_ctrl_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Unroute) String() string { return protoimpl.X.MessageStringOf(x) } func (*Unroute) ProtoMessage() {} func (x *Unroute) ProtoReflect() protoreflect.Message { mi := &file_ctrl_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Unroute.ProtoReflect.Descriptor instead. func (*Unroute) Descriptor() ([]byte, []int) { return file_ctrl_proto_rawDescGZIP(), []int{12} } func (x *Unroute) GetCircuitId() string { if x != nil { return x.CircuitId } return "" } func (x *Unroute) GetNow() bool { if x != nil { return x.Now } return false } type InspectRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RequestedValues []string `protobuf:"bytes,1,rep,name=requestedValues,proto3" json:"requestedValues,omitempty"` } func (x *InspectRequest) Reset() { *x = InspectRequest{} if protoimpl.UnsafeEnabled { mi := &file_ctrl_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *InspectRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*InspectRequest) ProtoMessage() {} func (x *InspectRequest) ProtoReflect() protoreflect.Message { mi := &file_ctrl_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use InspectRequest.ProtoReflect.Descriptor instead. func (*InspectRequest) Descriptor() ([]byte, []int) { return file_ctrl_proto_rawDescGZIP(), []int{13} } func (x *InspectRequest) GetRequestedValues() []string { if x != nil { return x.RequestedValues } return nil } type InspectResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` Errors []string `protobuf:"bytes,2,rep,name=errors,proto3" json:"errors,omitempty"` Values []*InspectResponse_InspectValue `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` } func (x *InspectResponse) Reset() { *x = InspectResponse{} if protoimpl.UnsafeEnabled { mi := &file_ctrl_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *InspectResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*InspectResponse) ProtoMessage() {} func (x *InspectResponse) ProtoReflect() protoreflect.Message { mi := &file_ctrl_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use InspectResponse.ProtoReflect.Descriptor instead. func (*InspectResponse) Descriptor() ([]byte, []int) { return file_ctrl_proto_rawDescGZIP(), []int{14} } func (x *InspectResponse) GetSuccess() bool { if x != nil { return x.Success } return false } func (x *InspectResponse) GetErrors() []string { if x != nil { return x.Errors } return nil } func (x *InspectResponse) GetValues() []*InspectResponse_InspectValue { if x != nil { return x.Values } return nil } type VerifyLink struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields LinkId string `protobuf:"bytes,1,opt,name=linkId,proto3" json:"linkId,omitempty"` Fingerprints []string `protobuf:"bytes,2,rep,name=fingerprints,proto3" json:"fingerprints,omitempty"` } func (x *VerifyLink) Reset() { *x = VerifyLink{} if protoimpl.UnsafeEnabled { mi := &file_ctrl_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VerifyLink) String() string { return protoimpl.X.MessageStringOf(x) } func (*VerifyLink) ProtoMessage() {} func (x *VerifyLink) ProtoReflect() protoreflect.Message { mi := &file_ctrl_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use VerifyLink.ProtoReflect.Descriptor instead. func (*VerifyLink) Descriptor() ([]byte, []int) { return file_ctrl_proto_rawDescGZIP(), []int{15} } func (x *VerifyLink) GetLinkId() string { if x != nil { return x.LinkId } return "" } func (x *VerifyLink) GetFingerprints() []string { if x != nil { return x.Fingerprints } return nil } type Route_Egress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Binding string `protobuf:"bytes,1,opt,name=binding,proto3" json:"binding,omitempty"` Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` Destination string `protobuf:"bytes,3,opt,name=destination,proto3" json:"destination,omitempty"` PeerData map[uint32][]byte `protobuf:"bytes,4,rep,name=peerData,proto3" json:"peerData,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *Route_Egress) Reset() { *x = Route_Egress{} if protoimpl.UnsafeEnabled { mi := &file_ctrl_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Route_Egress) String() string { return protoimpl.X.MessageStringOf(x) } func (*Route_Egress) ProtoMessage() {} func (x *Route_Egress) ProtoReflect() protoreflect.Message { mi := &file_ctrl_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Route_Egress.ProtoReflect.Descriptor instead. func (*Route_Egress) Descriptor() ([]byte, []int) { return file_ctrl_proto_rawDescGZIP(), []int{11, 0} } func (x *Route_Egress) GetBinding() string { if x != nil { return x.Binding } return "" } func (x *Route_Egress) GetAddress() string { if x != nil { return x.Address } return "" } func (x *Route_Egress) GetDestination() string { if x != nil { return x.Destination } return "" } func (x *Route_Egress) GetPeerData() map[uint32][]byte { if x != nil { return x.PeerData } return nil } type Route_Forward struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SrcAddress string `protobuf:"bytes,1,opt,name=srcAddress,proto3" json:"srcAddress,omitempty"` DstAddress string `protobuf:"bytes,2,opt,name=dstAddress,proto3" json:"dstAddress,omitempty"` } func (x *Route_Forward) Reset() { *x = Route_Forward{} if protoimpl.UnsafeEnabled { mi := &file_ctrl_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Route_Forward) String() string { return protoimpl.X.MessageStringOf(x) } func (*Route_Forward) ProtoMessage() {} func (x *Route_Forward) ProtoReflect() protoreflect.Message { mi := &file_ctrl_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Route_Forward.ProtoReflect.Descriptor instead. func (*Route_Forward) Descriptor() ([]byte, []int) { return file_ctrl_proto_rawDescGZIP(), []int{11, 1} } func (x *Route_Forward) GetSrcAddress() string { if x != nil { return x.SrcAddress } return "" } func (x *Route_Forward) GetDstAddress() string { if x != nil { return x.DstAddress } return "" } type InspectResponse_InspectValue struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } func (x *InspectResponse_InspectValue) Reset() { *x = InspectResponse_InspectValue{} if protoimpl.UnsafeEnabled { mi := &file_ctrl_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *InspectResponse_InspectValue) String() string { return protoimpl.X.MessageStringOf(x) } func (*InspectResponse_InspectValue) ProtoMessage() {} func (x *InspectResponse_InspectValue) ProtoReflect() protoreflect.Message { mi := &file_ctrl_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use InspectResponse_InspectValue.ProtoReflect.Descriptor instead. func (*InspectResponse_InspectValue) Descriptor() ([]byte, []int) { return file_ctrl_proto_rawDescGZIP(), []int{14, 0} } func (x *InspectResponse_InspectValue) GetName() string { if x != nil { return x.Name } return "" } func (x *InspectResponse_InspectValue) GetValue() string { if x != nil { return x.Value } return "" } var File_ctrl_proto protoreflect.FileDescriptor var file_ctrl_proto_rawDesc = []byte{ 0x0a, 0x0a, 0x63, 0x74, 0x72, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x7a, 0x69, 0x74, 0x69, 0x2e, 0x63, 0x74, 0x72, 0x6c, 0x2e, 0x70, 0x62, 0x22, 0xd1, 0x01, 0x0a, 0x0e, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x08, 0x70, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x7a, 0x69, 0x74, 0x69, 0x2e, 0x63, 0x74, 0x72, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x70, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x35, 0x0a, 0x13, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x49, 0x64, 0x73, 0x22, 0x95, 0x03, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4f, 0x0a, 0x08, 0x70, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x7a, 0x69, 0x74, 0x69, 0x2e, 0x63, 0x74, 0x72, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x70, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x63, 0x65, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x7a, 0x69, 0x74, 0x69, 0x2e, 0x63, 0x74, 0x72, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x65, 0x63, 0x65, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x63, 0x65, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3d, 0x0a, 0x17, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x50, 0x0a, 0x0a, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x58, 0x0a, 0x1a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x0b, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x7a, 0x69, 0x74, 0x69, 0x2e, 0x63, 0x74, 0x72, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x0b, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x22, 0xe1, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x65, 0x63, 0x65, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x65, 0x63, 0x65, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x63, 0x65, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x7a, 0x69, 0x74, 0x69, 0x2e, 0x63, 0x74, 0x72, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x65, 0x63, 0x65, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x63, 0x65, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x22, 0x54, 0x0a, 0x04, 0x44, 0x69, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x69, 0x6e, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x69, 0x6e, 0x6b, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x16, 0x0a, 0x04, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x4d, 0x0a, 0x05, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x7a, 0x69, 0x74, 0x69, 0x2e, 0x63, 0x74, 0x72, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0xa1, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x39, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x7a, 0x69, 0x74, 0x69, 0x2e, 0x63, 0x74, 0x72, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x61, 0x73, 0x6b, 0x1a, 0x39, 0x0a, 0x0b, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8c, 0x04, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x32, 0x0a, 0x06, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x7a, 0x69, 0x74, 0x69, 0x2e, 0x63, 0x74, 0x72, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x06, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x7a, 0x69, 0x74, 0x69, 0x2e, 0x63, 0x74, 0x72, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x52, 0x08, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x2f, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x7a, 0x69, 0x74, 0x69, 0x2e, 0x63, 0x74, 0x72, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x1a, 0xe1, 0x01, 0x0a, 0x06, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x08, 0x70, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x7a, 0x69, 0x74, 0x69, 0x2e, 0x63, 0x74, 0x72, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x70, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x49, 0x0a, 0x07, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x72, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x72, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x39, 0x0a, 0x07, 0x55, 0x6e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6e, 0x6f, 0x77, 0x22, 0x3a, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0xc1, 0x01, 0x0a, 0x0f, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x42, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x7a, 0x69, 0x74, 0x69, 0x2e, 0x63, 0x74, 0x72, 0x6c, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x38, 0x0a, 0x0c, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x48, 0x0a, 0x0a, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x69, 0x6e, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x69, 0x6e, 0x6b, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x2a, 0x9c, 0x03, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x5a, 0x65, 0x72, 0x6f, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x12, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x10, 0xe8, 0x07, 0x12, 0x0d, 0x0a, 0x08, 0x44, 0x69, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x10, 0xea, 0x07, 0x12, 0x0d, 0x0a, 0x08, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x10, 0xeb, 0x07, 0x12, 0x0e, 0x0a, 0x09, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x79, 0x70, 0x65, 0x10, 0xec, 0x07, 0x12, 0x0e, 0x0a, 0x09, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x10, 0xed, 0x07, 0x12, 0x10, 0x0a, 0x0b, 0x55, 0x6e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x10, 0xee, 0x07, 0x12, 0x10, 0x0a, 0x0b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x54, 0x79, 0x70, 0x65, 0x10, 0xef, 0x07, 0x12, 0x20, 0x0a, 0x1b, 0x54, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x10, 0xf0, 0x07, 0x12, 0x13, 0x0a, 0x0e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x10, 0xf2, 0x07, 0x12, 0x20, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x10, 0xf3, 0x07, 0x12, 0x20, 0x0a, 0x1b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x10, 0xf4, 0x07, 0x12, 0x17, 0x0a, 0x12, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x10, 0xf5, 0x07, 0x12, 0x18, 0x0a, 0x13, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x10, 0xf6, 0x07, 0x12, 0x23, 0x0a, 0x1e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x10, 0xf9, 0x07, 0x12, 0x20, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x10, 0xfa, 0x07, 0x12, 0x13, 0x0a, 0x0e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x10, 0xfb, 0x07, 0x2a, 0x3d, 0x0a, 0x14, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x65, 0x63, 0x65, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x02, 0x2a, 0x52, 0x0a, 0x0c, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x69, 0x6e, 0x6b, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x10, 0x03, 0x42, 0x27, 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x7a, 0x69, 0x74, 0x69, 0x2f, 0x66, 0x61, 0x62, 0x72, 0x69, 0x63, 0x2f, 0x70, 0x62, 0x2f, 0x63, 0x74, 0x72, 0x6c, 0x5f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_ctrl_proto_rawDescOnce sync.Once file_ctrl_proto_rawDescData = file_ctrl_proto_rawDesc ) func file_ctrl_proto_rawDescGZIP() []byte { file_ctrl_proto_rawDescOnce.Do(func() { file_ctrl_proto_rawDescData = protoimpl.X.CompressGZIP(file_ctrl_proto_rawDescData) }) return file_ctrl_proto_rawDescData } var file_ctrl_proto_enumTypes = make([]protoimpl.EnumInfo, 3) var file_ctrl_proto_msgTypes = make([]protoimpl.MessageInfo, 23) var file_ctrl_proto_goTypes = []interface{}{ (ContentType)(0), // 0: ziti.ctrl.pb.ContentType (TerminatorPrecedence)(0), // 1: ziti.ctrl.pb.TerminatorPrecedence (FaultSubject)(0), // 2: ziti.ctrl.pb.FaultSubject (*CircuitRequest)(nil), // 3: ziti.ctrl.pb.CircuitRequest (*CircuitConfirmation)(nil), // 4: ziti.ctrl.pb.CircuitConfirmation (*CreateTerminatorRequest)(nil), // 5: ziti.ctrl.pb.CreateTerminatorRequest (*RemoveTerminatorRequest)(nil), // 6: ziti.ctrl.pb.RemoveTerminatorRequest (*Terminator)(nil), // 7: ziti.ctrl.pb.Terminator (*ValidateTerminatorsRequest)(nil), // 8: ziti.ctrl.pb.ValidateTerminatorsRequest (*UpdateTerminatorRequest)(nil), // 9: ziti.ctrl.pb.UpdateTerminatorRequest (*Dial)(nil), // 10: ziti.ctrl.pb.Dial (*Link)(nil), // 11: ziti.ctrl.pb.Link (*Fault)(nil), // 12: ziti.ctrl.pb.Fault (*Context)(nil), // 13: ziti.ctrl.pb.Context (*Route)(nil), // 14: ziti.ctrl.pb.Route (*Unroute)(nil), // 15: ziti.ctrl.pb.Unroute (*InspectRequest)(nil), // 16: ziti.ctrl.pb.InspectRequest (*InspectResponse)(nil), // 17: ziti.ctrl.pb.InspectResponse (*VerifyLink)(nil), // 18: ziti.ctrl.pb.VerifyLink nil, // 19: ziti.ctrl.pb.CircuitRequest.PeerDataEntry nil, // 20: ziti.ctrl.pb.CreateTerminatorRequest.PeerDataEntry nil, // 21: ziti.ctrl.pb.Context.FieldsEntry (*Route_Egress)(nil), // 22: ziti.ctrl.pb.Route.Egress (*Route_Forward)(nil), // 23: ziti.ctrl.pb.Route.Forward nil, // 24: ziti.ctrl.pb.Route.Egress.PeerDataEntry (*InspectResponse_InspectValue)(nil), // 25: ziti.ctrl.pb.InspectResponse.InspectValue } var file_ctrl_proto_depIdxs = []int32{ 19, // 0: ziti.ctrl.pb.CircuitRequest.peerData:type_name -> ziti.ctrl.pb.CircuitRequest.PeerDataEntry 20, // 1: ziti.ctrl.pb.CreateTerminatorRequest.peerData:type_name -> ziti.ctrl.pb.CreateTerminatorRequest.PeerDataEntry 1, // 2: ziti.ctrl.pb.CreateTerminatorRequest.precedence:type_name -> ziti.ctrl.pb.TerminatorPrecedence 7, // 3: ziti.ctrl.pb.ValidateTerminatorsRequest.terminators:type_name -> ziti.ctrl.pb.Terminator 1, // 4: ziti.ctrl.pb.UpdateTerminatorRequest.precedence:type_name -> ziti.ctrl.pb.TerminatorPrecedence 2, // 5: ziti.ctrl.pb.Fault.subject:type_name -> ziti.ctrl.pb.FaultSubject 21, // 6: ziti.ctrl.pb.Context.fields:type_name -> ziti.ctrl.pb.Context.FieldsEntry 22, // 7: ziti.ctrl.pb.Route.egress:type_name -> ziti.ctrl.pb.Route.Egress 23, // 8: ziti.ctrl.pb.Route.forwards:type_name -> ziti.ctrl.pb.Route.Forward 13, // 9: ziti.ctrl.pb.Route.context:type_name -> ziti.ctrl.pb.Context 25, // 10: ziti.ctrl.pb.InspectResponse.values:type_name -> ziti.ctrl.pb.InspectResponse.InspectValue 24, // 11: ziti.ctrl.pb.Route.Egress.peerData:type_name -> ziti.ctrl.pb.Route.Egress.PeerDataEntry 12, // [12:12] is the sub-list for method output_type 12, // [12:12] is the sub-list for method input_type 12, // [12:12] is the sub-list for extension type_name 12, // [12:12] is the sub-list for extension extendee 0, // [0:12] is the sub-list for field type_name } func init() { file_ctrl_proto_init() } func file_ctrl_proto_init() { if File_ctrl_proto != nil { return } if !protoimpl.UnsafeEnabled { file_ctrl_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CircuitRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_ctrl_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CircuitConfirmation); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_ctrl_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateTerminatorRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_ctrl_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveTerminatorRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_ctrl_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Terminator); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_ctrl_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidateTerminatorsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_ctrl_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateTerminatorRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_ctrl_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Dial); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_ctrl_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Link); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_ctrl_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Fault); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_ctrl_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Context); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_ctrl_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Route); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_ctrl_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Unroute); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_ctrl_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InspectRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_ctrl_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InspectResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_ctrl_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VerifyLink); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_ctrl_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Route_Egress); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_ctrl_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Route_Forward); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_ctrl_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InspectResponse_InspectValue); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_ctrl_proto_rawDesc, NumEnums: 3, NumMessages: 23, NumExtensions: 0, NumServices: 0, }, GoTypes: file_ctrl_proto_goTypes, DependencyIndexes: file_ctrl_proto_depIdxs, EnumInfos: file_ctrl_proto_enumTypes, MessageInfos: file_ctrl_proto_msgTypes, }.Build() File_ctrl_proto = out.File file_ctrl_proto_rawDesc = nil file_ctrl_proto_goTypes = nil file_ctrl_proto_depIdxs = nil }