// Code generated by protoc-gen-go. DO NOT EDIT.
// source: federation.proto

package federation

import (
	fmt "fmt"
	proto "github.com/golang/protobuf/proto"
	_ "github.com/golang/protobuf/ptypes/empty"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	math "math"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package

type Status int32

const (
	Status_STATUS_UNSPECIFIED Status = 0
	Status_STATUS_ALIVE       Status = 1
	Status_STATUS_LEAVING     Status = 2
	Status_STATUS_LEFT        Status = 3
	Status_STATUS_FAILED      Status = 4
)

var Status_name = map[int32]string{
	0: "STATUS_UNSPECIFIED",
	1: "STATUS_ALIVE",
	2: "STATUS_LEAVING",
	3: "STATUS_LEFT",
	4: "STATUS_FAILED",
}

var Status_value = map[string]int32{
	"STATUS_UNSPECIFIED": 0,
	"STATUS_ALIVE":       1,
	"STATUS_LEAVING":     2,
	"STATUS_LEFT":        3,
	"STATUS_FAILED":      4,
}

func (x Status) String() string {
	return proto.EnumName(Status_name, int32(x))
}

func (Status) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_7217fe47f5d68a8f, []int{0}
}

type Event struct {
	Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// Types that are valid to be assigned to Event:
	//	*Event_Subscribe
	//	*Event_Message
	//	*Event_Unsubscribe
	Event                isEvent_Event `protobuf_oneof:"Event"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func (m *Event) Reset()         { *m = Event{} }
func (m *Event) String() string { return proto.CompactTextString(m) }
func (*Event) ProtoMessage()    {}
func (*Event) Descriptor() ([]byte, []int) {
	return fileDescriptor_7217fe47f5d68a8f, []int{0}
}

func (m *Event) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Event.Unmarshal(m, b)
}
func (m *Event) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Event.Marshal(b, m, deterministic)
}
func (m *Event) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Event.Merge(m, src)
}
func (m *Event) XXX_Size() int {
	return xxx_messageInfo_Event.Size(m)
}
func (m *Event) XXX_DiscardUnknown() {
	xxx_messageInfo_Event.DiscardUnknown(m)
}

var xxx_messageInfo_Event proto.InternalMessageInfo

func (m *Event) GetId() uint64 {
	if m != nil {
		return m.Id
	}
	return 0
}

type isEvent_Event interface {
	isEvent_Event()
}

type Event_Subscribe struct {
	Subscribe *Subscribe `protobuf:"bytes,2,opt,name=Subscribe,proto3,oneof"`
}

type Event_Message struct {
	Message *Message `protobuf:"bytes,3,opt,name=message,proto3,oneof"`
}

type Event_Unsubscribe struct {
	Unsubscribe *Unsubscribe `protobuf:"bytes,4,opt,name=unsubscribe,proto3,oneof"`
}

func (*Event_Subscribe) isEvent_Event() {}

func (*Event_Message) isEvent_Event() {}

func (*Event_Unsubscribe) isEvent_Event() {}

func (m *Event) GetEvent() isEvent_Event {
	if m != nil {
		return m.Event
	}
	return nil
}

func (m *Event) GetSubscribe() *Subscribe {
	if x, ok := m.GetEvent().(*Event_Subscribe); ok {
		return x.Subscribe
	}
	return nil
}

func (m *Event) GetMessage() *Message {
	if x, ok := m.GetEvent().(*Event_Message); ok {
		return x.Message
	}
	return nil
}

func (m *Event) GetUnsubscribe() *Unsubscribe {
	if x, ok := m.GetEvent().(*Event_Unsubscribe); ok {
		return x.Unsubscribe
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*Event) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*Event_Subscribe)(nil),
		(*Event_Message)(nil),
		(*Event_Unsubscribe)(nil),
	}
}

// Subscribe represents the subscription for a node, it is used to route message among nodes,
// so only shared_name and topic_filter is required.
type Subscribe struct {
	ShareName            string   `protobuf:"bytes,1,opt,name=share_name,json=shareName,proto3" json:"share_name,omitempty"`
	TopicFilter          string   `protobuf:"bytes,2,opt,name=topic_filter,json=topicFilter,proto3" json:"topic_filter,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Subscribe) Reset()         { *m = Subscribe{} }
func (m *Subscribe) String() string { return proto.CompactTextString(m) }
func (*Subscribe) ProtoMessage()    {}
func (*Subscribe) Descriptor() ([]byte, []int) {
	return fileDescriptor_7217fe47f5d68a8f, []int{1}
}

func (m *Subscribe) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Subscribe.Unmarshal(m, b)
}
func (m *Subscribe) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Subscribe.Marshal(b, m, deterministic)
}
func (m *Subscribe) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Subscribe.Merge(m, src)
}
func (m *Subscribe) XXX_Size() int {
	return xxx_messageInfo_Subscribe.Size(m)
}
func (m *Subscribe) XXX_DiscardUnknown() {
	xxx_messageInfo_Subscribe.DiscardUnknown(m)
}

var xxx_messageInfo_Subscribe proto.InternalMessageInfo

func (m *Subscribe) GetShareName() string {
	if m != nil {
		return m.ShareName
	}
	return ""
}

func (m *Subscribe) GetTopicFilter() string {
	if m != nil {
		return m.TopicFilter
	}
	return ""
}

type Message struct {
	TopicName string `protobuf:"bytes,1,opt,name=topic_name,json=topicName,proto3" json:"topic_name,omitempty"`
	Payload   []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Qos       uint32 `protobuf:"varint,3,opt,name=qos,proto3" json:"qos,omitempty"`
	Retained  bool   `protobuf:"varint,4,opt,name=retained,proto3" json:"retained,omitempty"`
	// the following fields are using in v5 client.
	ContentType          string          `protobuf:"bytes,5,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"`
	CorrelationData      string          `protobuf:"bytes,6,opt,name=correlation_data,json=correlationData,proto3" json:"correlation_data,omitempty"`
	MessageExpiry        uint32          `protobuf:"varint,7,opt,name=message_expiry,json=messageExpiry,proto3" json:"message_expiry,omitempty"`
	PayloadFormat        uint32          `protobuf:"varint,8,opt,name=payload_format,json=payloadFormat,proto3" json:"payload_format,omitempty"`
	ResponseTopic        string          `protobuf:"bytes,9,opt,name=response_topic,json=responseTopic,proto3" json:"response_topic,omitempty"`
	UserProperties       []*UserProperty `protobuf:"bytes,10,rep,name=user_properties,json=userProperties,proto3" json:"user_properties,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *Message) Reset()         { *m = Message{} }
func (m *Message) String() string { return proto.CompactTextString(m) }
func (*Message) ProtoMessage()    {}
func (*Message) Descriptor() ([]byte, []int) {
	return fileDescriptor_7217fe47f5d68a8f, []int{2}
}

func (m *Message) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Message.Unmarshal(m, b)
}
func (m *Message) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Message.Marshal(b, m, deterministic)
}
func (m *Message) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Message.Merge(m, src)
}
func (m *Message) XXX_Size() int {
	return xxx_messageInfo_Message.Size(m)
}
func (m *Message) XXX_DiscardUnknown() {
	xxx_messageInfo_Message.DiscardUnknown(m)
}

var xxx_messageInfo_Message proto.InternalMessageInfo

func (m *Message) GetTopicName() string {
	if m != nil {
		return m.TopicName
	}
	return ""
}

func (m *Message) GetPayload() []byte {
	if m != nil {
		return m.Payload
	}
	return nil
}

func (m *Message) GetQos() uint32 {
	if m != nil {
		return m.Qos
	}
	return 0
}

func (m *Message) GetRetained() bool {
	if m != nil {
		return m.Retained
	}
	return false
}

func (m *Message) GetContentType() string {
	if m != nil {
		return m.ContentType
	}
	return ""
}

func (m *Message) GetCorrelationData() string {
	if m != nil {
		return m.CorrelationData
	}
	return ""
}

func (m *Message) GetMessageExpiry() uint32 {
	if m != nil {
		return m.MessageExpiry
	}
	return 0
}

func (m *Message) GetPayloadFormat() uint32 {
	if m != nil {
		return m.PayloadFormat
	}
	return 0
}

func (m *Message) GetResponseTopic() string {
	if m != nil {
		return m.ResponseTopic
	}
	return ""
}

func (m *Message) GetUserProperties() []*UserProperty {
	if m != nil {
		return m.UserProperties
	}
	return nil
}

type UserProperty struct {
	K                    []byte   `protobuf:"bytes,1,opt,name=K,proto3" json:"K,omitempty"`
	V                    []byte   `protobuf:"bytes,2,opt,name=V,proto3" json:"V,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UserProperty) Reset()         { *m = UserProperty{} }
func (m *UserProperty) String() string { return proto.CompactTextString(m) }
func (*UserProperty) ProtoMessage()    {}
func (*UserProperty) Descriptor() ([]byte, []int) {
	return fileDescriptor_7217fe47f5d68a8f, []int{3}
}

func (m *UserProperty) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UserProperty.Unmarshal(m, b)
}
func (m *UserProperty) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UserProperty.Marshal(b, m, deterministic)
}
func (m *UserProperty) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UserProperty.Merge(m, src)
}
func (m *UserProperty) XXX_Size() int {
	return xxx_messageInfo_UserProperty.Size(m)
}
func (m *UserProperty) XXX_DiscardUnknown() {
	xxx_messageInfo_UserProperty.DiscardUnknown(m)
}

var xxx_messageInfo_UserProperty proto.InternalMessageInfo

func (m *UserProperty) GetK() []byte {
	if m != nil {
		return m.K
	}
	return nil
}

func (m *UserProperty) GetV() []byte {
	if m != nil {
		return m.V
	}
	return nil
}

type Unsubscribe struct {
	TopicName            string   `protobuf:"bytes,1,opt,name=topic_name,json=topicName,proto3" json:"topic_name,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Unsubscribe) Reset()         { *m = Unsubscribe{} }
func (m *Unsubscribe) String() string { return proto.CompactTextString(m) }
func (*Unsubscribe) ProtoMessage()    {}
func (*Unsubscribe) Descriptor() ([]byte, []int) {
	return fileDescriptor_7217fe47f5d68a8f, []int{4}
}

func (m *Unsubscribe) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Unsubscribe.Unmarshal(m, b)
}
func (m *Unsubscribe) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Unsubscribe.Marshal(b, m, deterministic)
}
func (m *Unsubscribe) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Unsubscribe.Merge(m, src)
}
func (m *Unsubscribe) XXX_Size() int {
	return xxx_messageInfo_Unsubscribe.Size(m)
}
func (m *Unsubscribe) XXX_DiscardUnknown() {
	xxx_messageInfo_Unsubscribe.DiscardUnknown(m)
}

var xxx_messageInfo_Unsubscribe proto.InternalMessageInfo

func (m *Unsubscribe) GetTopicName() string {
	if m != nil {
		return m.TopicName
	}
	return ""
}

type Ack struct {
	EventId              uint64   `protobuf:"varint,1,opt,name=event_id,json=eventId,proto3" json:"event_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Ack) Reset()         { *m = Ack{} }
func (m *Ack) String() string { return proto.CompactTextString(m) }
func (*Ack) ProtoMessage()    {}
func (*Ack) Descriptor() ([]byte, []int) {
	return fileDescriptor_7217fe47f5d68a8f, []int{5}
}

func (m *Ack) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Ack.Unmarshal(m, b)
}
func (m *Ack) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Ack.Marshal(b, m, deterministic)
}
func (m *Ack) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Ack.Merge(m, src)
}
func (m *Ack) XXX_Size() int {
	return xxx_messageInfo_Ack.Size(m)
}
func (m *Ack) XXX_DiscardUnknown() {
	xxx_messageInfo_Ack.DiscardUnknown(m)
}

var xxx_messageInfo_Ack proto.InternalMessageInfo

func (m *Ack) GetEventId() uint64 {
	if m != nil {
		return m.EventId
	}
	return 0
}

// ClientHello is the request message in handshake process.
type ClientHello struct {
	SessionId            string   `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ClientHello) Reset()         { *m = ClientHello{} }
func (m *ClientHello) String() string { return proto.CompactTextString(m) }
func (*ClientHello) ProtoMessage()    {}
func (*ClientHello) Descriptor() ([]byte, []int) {
	return fileDescriptor_7217fe47f5d68a8f, []int{6}
}

func (m *ClientHello) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ClientHello.Unmarshal(m, b)
}
func (m *ClientHello) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ClientHello.Marshal(b, m, deterministic)
}
func (m *ClientHello) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ClientHello.Merge(m, src)
}
func (m *ClientHello) XXX_Size() int {
	return xxx_messageInfo_ClientHello.Size(m)
}
func (m *ClientHello) XXX_DiscardUnknown() {
	xxx_messageInfo_ClientHello.DiscardUnknown(m)
}

var xxx_messageInfo_ClientHello proto.InternalMessageInfo

func (m *ClientHello) GetSessionId() string {
	if m != nil {
		return m.SessionId
	}
	return ""
}

// ServerHello is the response message in handshake process.
type ServerHello struct {
	CleanStart           bool     `protobuf:"varint,1,opt,name=clean_start,json=cleanStart,proto3" json:"clean_start,omitempty"`
	NextEventId          uint64   `protobuf:"varint,2,opt,name=next_event_id,json=nextEventId,proto3" json:"next_event_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ServerHello) Reset()         { *m = ServerHello{} }
func (m *ServerHello) String() string { return proto.CompactTextString(m) }
func (*ServerHello) ProtoMessage()    {}
func (*ServerHello) Descriptor() ([]byte, []int) {
	return fileDescriptor_7217fe47f5d68a8f, []int{7}
}

func (m *ServerHello) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ServerHello.Unmarshal(m, b)
}
func (m *ServerHello) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ServerHello.Marshal(b, m, deterministic)
}
func (m *ServerHello) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ServerHello.Merge(m, src)
}
func (m *ServerHello) XXX_Size() int {
	return xxx_messageInfo_ServerHello.Size(m)
}
func (m *ServerHello) XXX_DiscardUnknown() {
	xxx_messageInfo_ServerHello.DiscardUnknown(m)
}

var xxx_messageInfo_ServerHello proto.InternalMessageInfo

func (m *ServerHello) GetCleanStart() bool {
	if m != nil {
		return m.CleanStart
	}
	return false
}

func (m *ServerHello) GetNextEventId() uint64 {
	if m != nil {
		return m.NextEventId
	}
	return 0
}

type JoinRequest struct {
	Hosts                []string `protobuf:"bytes,1,rep,name=hosts,proto3" json:"hosts,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *JoinRequest) Reset()         { *m = JoinRequest{} }
func (m *JoinRequest) String() string { return proto.CompactTextString(m) }
func (*JoinRequest) ProtoMessage()    {}
func (*JoinRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_7217fe47f5d68a8f, []int{8}
}

func (m *JoinRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_JoinRequest.Unmarshal(m, b)
}
func (m *JoinRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_JoinRequest.Marshal(b, m, deterministic)
}
func (m *JoinRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_JoinRequest.Merge(m, src)
}
func (m *JoinRequest) XXX_Size() int {
	return xxx_messageInfo_JoinRequest.Size(m)
}
func (m *JoinRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_JoinRequest.DiscardUnknown(m)
}

var xxx_messageInfo_JoinRequest proto.InternalMessageInfo

func (m *JoinRequest) GetHosts() []string {
	if m != nil {
		return m.Hosts
	}
	return nil
}

type Member struct {
	Name                 string            `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Addr                 string            `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"`
	Tags                 map[string]string `protobuf:"bytes,3,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	Status               Status            `protobuf:"varint,4,opt,name=status,proto3,enum=gmqtt.federation.api.Status" json:"status,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *Member) Reset()         { *m = Member{} }
func (m *Member) String() string { return proto.CompactTextString(m) }
func (*Member) ProtoMessage()    {}
func (*Member) Descriptor() ([]byte, []int) {
	return fileDescriptor_7217fe47f5d68a8f, []int{9}
}

func (m *Member) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Member.Unmarshal(m, b)
}
func (m *Member) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Member.Marshal(b, m, deterministic)
}
func (m *Member) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Member.Merge(m, src)
}
func (m *Member) XXX_Size() int {
	return xxx_messageInfo_Member.Size(m)
}
func (m *Member) XXX_DiscardUnknown() {
	xxx_messageInfo_Member.DiscardUnknown(m)
}

var xxx_messageInfo_Member proto.InternalMessageInfo

func (m *Member) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *Member) GetAddr() string {
	if m != nil {
		return m.Addr
	}
	return ""
}

func (m *Member) GetTags() map[string]string {
	if m != nil {
		return m.Tags
	}
	return nil
}

func (m *Member) GetStatus() Status {
	if m != nil {
		return m.Status
	}
	return Status_STATUS_UNSPECIFIED
}

type ListMembersResponse struct {
	Members              []*Member `protobuf:"bytes,1,rep,name=members,proto3" json:"members,omitempty"`
	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
	XXX_unrecognized     []byte    `json:"-"`
	XXX_sizecache        int32     `json:"-"`
}

func (m *ListMembersResponse) Reset()         { *m = ListMembersResponse{} }
func (m *ListMembersResponse) String() string { return proto.CompactTextString(m) }
func (*ListMembersResponse) ProtoMessage()    {}
func (*ListMembersResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_7217fe47f5d68a8f, []int{10}
}

func (m *ListMembersResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ListMembersResponse.Unmarshal(m, b)
}
func (m *ListMembersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ListMembersResponse.Marshal(b, m, deterministic)
}
func (m *ListMembersResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ListMembersResponse.Merge(m, src)
}
func (m *ListMembersResponse) XXX_Size() int {
	return xxx_messageInfo_ListMembersResponse.Size(m)
}
func (m *ListMembersResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_ListMembersResponse.DiscardUnknown(m)
}

var xxx_messageInfo_ListMembersResponse proto.InternalMessageInfo

func (m *ListMembersResponse) GetMembers() []*Member {
	if m != nil {
		return m.Members
	}
	return nil
}

type ForceLeaveRequest struct {
	NodeName             string   `protobuf:"bytes,1,opt,name=node_name,json=nodeName,proto3" json:"node_name,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ForceLeaveRequest) Reset()         { *m = ForceLeaveRequest{} }
func (m *ForceLeaveRequest) String() string { return proto.CompactTextString(m) }
func (*ForceLeaveRequest) ProtoMessage()    {}
func (*ForceLeaveRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_7217fe47f5d68a8f, []int{11}
}

func (m *ForceLeaveRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ForceLeaveRequest.Unmarshal(m, b)
}
func (m *ForceLeaveRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ForceLeaveRequest.Marshal(b, m, deterministic)
}
func (m *ForceLeaveRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ForceLeaveRequest.Merge(m, src)
}
func (m *ForceLeaveRequest) XXX_Size() int {
	return xxx_messageInfo_ForceLeaveRequest.Size(m)
}
func (m *ForceLeaveRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_ForceLeaveRequest.DiscardUnknown(m)
}

var xxx_messageInfo_ForceLeaveRequest proto.InternalMessageInfo

func (m *ForceLeaveRequest) GetNodeName() string {
	if m != nil {
		return m.NodeName
	}
	return ""
}

func init() {
	proto.RegisterEnum("gmqtt.federation.api.Status", Status_name, Status_value)
	proto.RegisterType((*Event)(nil), "gmqtt.federation.api.Event")
	proto.RegisterType((*Subscribe)(nil), "gmqtt.federation.api.Subscribe")
	proto.RegisterType((*Message)(nil), "gmqtt.federation.api.Message")
	proto.RegisterType((*UserProperty)(nil), "gmqtt.federation.api.UserProperty")
	proto.RegisterType((*Unsubscribe)(nil), "gmqtt.federation.api.Unsubscribe")
	proto.RegisterType((*Ack)(nil), "gmqtt.federation.api.Ack")
	proto.RegisterType((*ClientHello)(nil), "gmqtt.federation.api.ClientHello")
	proto.RegisterType((*ServerHello)(nil), "gmqtt.federation.api.ServerHello")
	proto.RegisterType((*JoinRequest)(nil), "gmqtt.federation.api.JoinRequest")
	proto.RegisterType((*Member)(nil), "gmqtt.federation.api.Member")
	proto.RegisterMapType((map[string]string)(nil), "gmqtt.federation.api.Member.TagsEntry")
	proto.RegisterType((*ListMembersResponse)(nil), "gmqtt.federation.api.ListMembersResponse")
	proto.RegisterType((*ForceLeaveRequest)(nil), "gmqtt.federation.api.ForceLeaveRequest")
}

func init() { proto.RegisterFile("federation.proto", fileDescriptor_7217fe47f5d68a8f) }

var fileDescriptor_7217fe47f5d68a8f = []byte{
	// 1008 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x54, 0xdd, 0x6e, 0xe3, 0x44,
	0x14, 0x8e, 0x93, 0xb4, 0x49, 0x8e, 0xd3, 0x6c, 0x76, 0xb6, 0xaa, 0xdc, 0x74, 0x97, 0x76, 0x8d,
	0x16, 0xba, 0x15, 0x4a, 0x96, 0x82, 0xf8, 0x29, 0x17, 0x28, 0xbb, 0x75, 0x68, 0xe8, 0x0f, 0x2b,
	0x27, 0xad, 0x10, 0x37, 0xd6, 0x34, 0x3e, 0x4d, 0xbd, 0x4d, 0x6c, 0x77, 0x66, 0x12, 0x6d, 0xee,
	0x10, 0xaf, 0xc0, 0x5b, 0x70, 0xc7, 0xb3, 0x70, 0xc9, 0x25, 0x3c, 0x08, 0x9a, 0xf1, 0x24, 0x31,
	0x25, 0x16, 0x77, 0x73, 0xbe, 0xf9, 0xce, 0x77, 0x7e, 0xe6, 0xcc, 0x81, 0xfa, 0x0d, 0xfa, 0xc8,
	0xa8, 0x08, 0xa2, 0xb0, 0x19, 0xb3, 0x48, 0x44, 0x64, 0x73, 0x38, 0xbe, 0x17, 0xa2, 0x99, 0xc2,
	0x69, 0x1c, 0x34, 0x9e, 0x0e, 0xa3, 0x68, 0x38, 0xc2, 0x16, 0x8d, 0x83, 0x16, 0x0d, 0xc3, 0x48,
	0xa8, 0x2b, 0x9e, 0xf8, 0x34, 0x76, 0xf4, 0xad, 0xb2, 0xae, 0x27, 0x37, 0x2d, 0x1c, 0xc7, 0x62,
	0x96, 0x5c, 0xda, 0x7f, 0x19, 0xb0, 0xe6, 0x4c, 0x31, 0x14, 0xa4, 0x06, 0xf9, 0xc0, 0xb7, 0x8c,
	0x3d, 0x63, 0xbf, 0xe8, 0xe6, 0x03, 0x9f, 0x7c, 0x0b, 0x95, 0xde, 0xe4, 0x9a, 0x0f, 0x58, 0x70,
	0x8d, 0x56, 0x7e, 0xcf, 0xd8, 0x37, 0x0f, 0x77, 0x9b, 0xab, 0xc2, 0x37, 0x17, 0xb4, 0x93, 0x9c,
	0xbb, 0xf4, 0x21, 0x5f, 0x43, 0x69, 0x8c, 0x9c, 0xd3, 0x21, 0x5a, 0x05, 0xe5, 0xfe, 0x6c, 0xb5,
	0xfb, 0x79, 0x42, 0x3a, 0xc9, 0xb9, 0x73, 0x3e, 0x71, 0xc0, 0x9c, 0x84, 0x7c, 0x11, 0xbd, 0xa8,
	0xdc, 0x9f, 0xaf, 0x76, 0xbf, 0x5c, 0x12, 0x4f, 0x72, 0x6e, 0xda, 0xef, 0x75, 0x49, 0xd7, 0x66,
	0x9f, 0xa7, 0x6a, 0x21, 0xcf, 0x00, 0xf8, 0x2d, 0x65, 0xe8, 0x85, 0x74, 0x8c, 0xaa, 0xe0, 0x8a,
	0x5b, 0x51, 0xc8, 0x05, 0x1d, 0x23, 0x79, 0x0e, 0x55, 0x11, 0xc5, 0xc1, 0xc0, 0xbb, 0x09, 0x46,
	0x02, 0x99, 0x2a, 0xbd, 0xe2, 0x9a, 0x0a, 0xeb, 0x28, 0xc8, 0xfe, 0xb9, 0x00, 0x25, 0x9d, 0xb5,
	0x54, 0x4b, 0xe8, 0x69, 0x35, 0x85, 0x28, 0x35, 0x0b, 0x4a, 0x31, 0x9d, 0x8d, 0x22, 0xea, 0x2b,
	0xa1, 0xaa, 0x3b, 0x37, 0x49, 0x1d, 0x0a, 0xf7, 0x11, 0x57, 0xad, 0xd9, 0x70, 0xe5, 0x91, 0x34,
	0xa0, 0xcc, 0x50, 0xd0, 0x20, 0x44, 0x5f, 0x95, 0x5c, 0x76, 0x17, 0xb6, 0xcc, 0x6a, 0x10, 0x85,
	0x02, 0x43, 0xe1, 0x89, 0x59, 0x8c, 0xd6, 0x5a, 0x92, 0x95, 0xc6, 0xfa, 0xb3, 0x18, 0xc9, 0x4b,
	0xa8, 0x0f, 0x22, 0xc6, 0x70, 0xa4, 0x7a, 0xe3, 0xf9, 0x54, 0x50, 0x6b, 0x5d, 0xd1, 0x1e, 0xa5,
	0xf0, 0x63, 0x2a, 0x28, 0x79, 0x01, 0x35, 0xdd, 0x6a, 0x0f, 0xdf, 0xc7, 0x01, 0x9b, 0x59, 0x25,
	0x95, 0xc6, 0x86, 0x46, 0x1d, 0x05, 0x4a, 0x9a, 0xce, 0xd6, 0xbb, 0x89, 0xd8, 0x98, 0x0a, 0xab,
	0x9c, 0xd0, 0x34, 0xda, 0x51, 0xa0, 0xa4, 0x31, 0xe4, 0x71, 0x14, 0x72, 0xf4, 0x54, 0xe5, 0x56,
	0x45, 0x85, 0xdd, 0x98, 0xa3, 0x7d, 0x09, 0x92, 0x53, 0x78, 0x34, 0xe1, 0xc8, 0xbc, 0x98, 0x45,
	0x31, 0x32, 0x11, 0x20, 0xb7, 0x60, 0xaf, 0xb0, 0x6f, 0x1e, 0xda, 0x19, 0x0f, 0xcb, 0x91, 0xbd,
	0x4d, 0xb8, 0x33, 0xb7, 0x36, 0x59, 0x5a, 0x01, 0x72, 0xfb, 0x00, 0xaa, 0xe9, 0x7b, 0x52, 0x05,
	0xe3, 0x54, 0x75, 0xbf, 0xea, 0x1a, 0xa7, 0xd2, 0xba, 0xd2, 0xfd, 0x36, 0xae, 0xec, 0x4f, 0xc0,
	0x4c, 0x0d, 0xc9, 0xff, 0xbc, 0x98, 0xbd, 0x07, 0x85, 0xf6, 0xe0, 0x8e, 0x6c, 0x43, 0x19, 0xe5,
	0xec, 0x78, 0x8b, 0x4f, 0x51, 0x52, 0x76, 0xd7, 0x97, 0x7a, 0x6f, 0x46, 0x01, 0x86, 0xe2, 0x04,
	0x47, 0xa3, 0x48, 0xcd, 0x13, 0x72, 0x2e, 0x7b, 0xae, 0xb9, 0x72, 0x9e, 0x12, 0xa4, 0xeb, 0xdb,
	0x2e, 0x98, 0x3d, 0x64, 0x53, 0x64, 0x09, 0x7b, 0x17, 0xcc, 0xc1, 0x08, 0x69, 0xe8, 0x71, 0x41,
	0x99, 0x50, 0xf4, 0xb2, 0x0b, 0x0a, 0xea, 0x49, 0x84, 0xd8, 0xb0, 0x11, 0xe2, 0x7b, 0xe1, 0x2d,
	0xa2, 0xe7, 0x55, 0x74, 0x53, 0x82, 0x8e, 0xce, 0xe0, 0x43, 0x30, 0xbf, 0x8f, 0x82, 0xd0, 0xc5,
	0xfb, 0x09, 0x72, 0x41, 0x36, 0x61, 0xed, 0x36, 0xe2, 0x82, 0x5b, 0xc6, 0x5e, 0x61, 0xbf, 0xe2,
	0x26, 0x86, 0xfd, 0xa7, 0x01, 0xeb, 0xe7, 0x38, 0xbe, 0x46, 0x46, 0x08, 0x14, 0x53, 0xc5, 0xaa,
	0xb3, 0xc4, 0xa8, 0xef, 0xcf, 0xe7, 0x5b, 0x9d, 0xc9, 0x11, 0x14, 0x05, 0x1d, 0xca, 0xa1, 0x94,
	0xef, 0xf2, 0x51, 0xd6, 0x7f, 0x95, 0x9a, 0xcd, 0x3e, 0x1d, 0x72, 0x27, 0x14, 0x6c, 0xe6, 0x2a,
	0x1f, 0xf2, 0x39, 0xac, 0x73, 0x41, 0xc5, 0x84, 0xab, 0xd9, 0xad, 0x1d, 0x3e, 0xcd, 0x58, 0x16,
	0x8a, 0xe3, 0x6a, 0x6e, 0xe3, 0x4b, 0xa8, 0x2c, 0x84, 0xe4, 0x97, 0xb8, 0xc3, 0x99, 0xce, 0x52,
	0x1e, 0x65, 0x65, 0x53, 0x3a, 0x9a, 0xa0, 0xce, 0x32, 0x31, 0x8e, 0xf2, 0x5f, 0x19, 0xf6, 0x39,
	0x3c, 0x39, 0x0b, 0xb8, 0x48, 0x92, 0xe1, 0xae, 0x9e, 0x34, 0xf2, 0x85, 0x5c, 0x3a, 0x0a, 0x52,
	0xcd, 0x30, 0xb3, 0xd2, 0x48, 0xfc, 0xdc, 0x39, 0xd9, 0x7e, 0x05, 0x8f, 0x3b, 0x11, 0x1b, 0xe0,
	0x19, 0xd2, 0x29, 0xce, 0xfb, 0xba, 0x03, 0x95, 0x30, 0xf2, 0xff, 0xb5, 0x28, 0xca, 0x12, 0x90,
	0x73, 0x72, 0xf0, 0x0e, 0xd6, 0x93, 0x5a, 0xc8, 0x16, 0x90, 0x5e, 0xbf, 0xdd, 0xbf, 0xec, 0x79,
	0x97, 0x17, 0xbd, 0xb7, 0xce, 0x9b, 0x6e, 0xa7, 0xeb, 0x1c, 0xd7, 0x73, 0xa4, 0x0e, 0x55, 0x8d,
	0xb7, 0xcf, 0xba, 0x57, 0x4e, 0xdd, 0x20, 0x04, 0x6a, 0x1a, 0x39, 0x73, 0xda, 0x57, 0xdd, 0x8b,
	0xef, 0xea, 0x79, 0xf2, 0x08, 0xcc, 0x05, 0xd6, 0xe9, 0xd7, 0x0b, 0xe4, 0x31, 0x6c, 0x68, 0xa0,
	0xd3, 0xee, 0x9e, 0x39, 0xc7, 0xf5, 0xe2, 0xe1, 0xef, 0x05, 0x00, 0x5d, 0xe9, 0x6d, 0x10, 0x13,
	0x0a, 0x45, 0xf9, 0xfc, 0x24, 0x63, 0x23, 0xa6, 0x46, 0xa3, 0xb1, 0xd5, 0x4c, 0xb6, 0x7f, 0x73,
	0xbe, 0xfd, 0x9b, 0x8e, 0xdc, 0xfe, 0xf6, 0x07, 0xbf, 0xfc, 0xf1, 0xf7, 0xaf, 0x79, 0xcb, 0x7e,
	0xd2, 0x9a, 0x7e, 0xda, 0x5a, 0xfa, 0xb7, 0xde, 0x45, 0x41, 0x78, 0x64, 0x1c, 0x90, 0x1f, 0x61,
	0x4d, 0xb5, 0x82, 0x64, 0x08, 0x64, 0x0a, 0xef, 0x2a, 0xe1, 0x6d, 0x7b, 0xf3, 0x81, 0xf0, 0x48,
	0xaa, 0x49, 0x65, 0x01, 0xb0, 0xec, 0x34, 0xf9, 0x78, 0x75, 0x09, 0xff, 0x79, 0x8b, 0xcc, 0x78,
	0x2f, 0x54, 0xbc, 0x5d, 0xbb, 0xf1, 0x20, 0xde, 0x8d, 0x54, 0xf0, 0x16, 0x51, 0x63, 0x30, 0x53,
	0xe3, 0x92, 0x59, 0xd5, 0xcb, 0xd5, 0xe9, 0xac, 0x98, 0xb4, 0x79, 0x07, 0xc9, 0xd6, 0x83, 0xc0,
	0x7a, 0xa2, 0x0e, 0x7f, 0x33, 0x00, 0x3a, 0x0b, 0x98, 0xfc, 0x00, 0x6b, 0xc9, 0x02, 0xc8, 0x78,
	0xb4, 0xd4, 0x46, 0x69, 0x64, 0x50, 0x52, 0x6b, 0xc4, 0xce, 0x91, 0x53, 0x30, 0xd5, 0x3a, 0xe8,
	0x09, 0x86, 0x74, 0x4c, 0x76, 0x56, 0xfb, 0x28, 0x4a, 0x63, 0x7b, 0xf5, 0x65, 0x7b, 0x70, 0x67,
	0xe7, 0xf6, 0x8d, 0x57, 0xc6, 0xeb, 0xda, 0x4f, 0xd5, 0xe6, 0x37, 0xcb, 0xdb, 0xeb, 0x75, 0xd5,
	0x97, 0xcf, 0xfe, 0x09, 0x00, 0x00, 0xff, 0xff, 0x31, 0x1c, 0xfe, 0x7a, 0x82, 0x08, 0x00, 0x00,
}
