// Code generated by protoc-gen-gogo. DO NOT EDIT.
// source: trace.proto

package pubsub_pb

import (
	fmt 
	io 
	math 
	math_bits 

	proto 
)

// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package

type TraceEvent_Type int32

const (
	TraceEvent_PUBLISH_MESSAGE   TraceEvent_Type = 0
	TraceEvent_REJECT_MESSAGE    TraceEvent_Type = 1
	TraceEvent_DUPLICATE_MESSAGE TraceEvent_Type = 2
	TraceEvent_DELIVER_MESSAGE   TraceEvent_Type = 3
	TraceEvent_ADD_PEER          TraceEvent_Type = 4
	TraceEvent_REMOVE_PEER       TraceEvent_Type = 5
	TraceEvent_RECV_RPC          TraceEvent_Type = 6
	TraceEvent_SEND_RPC          TraceEvent_Type = 7
	TraceEvent_DROP_RPC          TraceEvent_Type = 8
	TraceEvent_JOIN              TraceEvent_Type = 9
	TraceEvent_LEAVE             TraceEvent_Type = 10
	TraceEvent_GRAFT             TraceEvent_Type = 11
	TraceEvent_PRUNE             TraceEvent_Type = 12
)

var TraceEvent_Type_name = map[int32]string{
	0:  "PUBLISH_MESSAGE",
	1:  "REJECT_MESSAGE",
	2:  "DUPLICATE_MESSAGE",
	3:  "DELIVER_MESSAGE",
	4:  "ADD_PEER",
	5:  "REMOVE_PEER",
	6:  "RECV_RPC",
	7:  "SEND_RPC",
	8:  "DROP_RPC",
	9:  "JOIN",
	10: "LEAVE",
	11: "GRAFT",
	12: "PRUNE",
}

var TraceEvent_Type_value = map[string]int32{
	"PUBLISH_MESSAGE":   0,
	"REJECT_MESSAGE":    1,
	"DUPLICATE_MESSAGE": 2,
	"DELIVER_MESSAGE":   3,
	"ADD_PEER":          4,
	"REMOVE_PEER":       5,
	"RECV_RPC":          6,
	"SEND_RPC":          7,
	"DROP_RPC":          8,
	"JOIN":              9,
	"LEAVE":             10,
	"GRAFT":             11,
	"PRUNE":             12,
}

func ( TraceEvent_Type) () *TraceEvent_Type {
	 := new(TraceEvent_Type)
	* = 
	return 
}

func ( TraceEvent_Type) () string {
	return proto.EnumName(TraceEvent_Type_name, int32())
}

func ( *TraceEvent_Type) ( []byte) error {
	,  := proto.UnmarshalJSONEnum(TraceEvent_Type_value, , "TraceEvent_Type")
	if  != nil {
		return 
	}
	* = TraceEvent_Type()
	return nil
}

func (TraceEvent_Type) () ([]byte, []int) {
	return fileDescriptor_0571941a1d628a80, []int{0, 0}
}

type TraceEvent struct {
	Type                 *TraceEvent_Type             `protobuf:"varint,1,opt,name=type,enum=pubsub.pb.TraceEvent_Type" json:"type,omitempty"`
	PeerID               []byte                       `protobuf:"bytes,2,opt,name=peerID" json:"peerID,omitempty"`
	Timestamp            *int64                       `protobuf:"varint,3,opt,name=timestamp" json:"timestamp,omitempty"`
	PublishMessage       *TraceEvent_PublishMessage   `protobuf:"bytes,4,opt,name=publishMessage" json:"publishMessage,omitempty"`
	RejectMessage        *TraceEvent_RejectMessage    `protobuf:"bytes,5,opt,name=rejectMessage" json:"rejectMessage,omitempty"`
	DuplicateMessage     *TraceEvent_DuplicateMessage `protobuf:"bytes,6,opt,name=duplicateMessage" json:"duplicateMessage,omitempty"`
	DeliverMessage       *TraceEvent_DeliverMessage   `protobuf:"bytes,7,opt,name=deliverMessage" json:"deliverMessage,omitempty"`
	AddPeer              *TraceEvent_AddPeer          `protobuf:"bytes,8,opt,name=addPeer" json:"addPeer,omitempty"`
	RemovePeer           *TraceEvent_RemovePeer       `protobuf:"bytes,9,opt,name=removePeer" json:"removePeer,omitempty"`
	RecvRPC              *TraceEvent_RecvRPC          `protobuf:"bytes,10,opt,name=recvRPC" json:"recvRPC,omitempty"`
	SendRPC              *TraceEvent_SendRPC          `protobuf:"bytes,11,opt,name=sendRPC" json:"sendRPC,omitempty"`
	DropRPC              *TraceEvent_DropRPC          `protobuf:"bytes,12,opt,name=dropRPC" json:"dropRPC,omitempty"`
	Join                 *TraceEvent_Join             `protobuf:"bytes,13,opt,name=join" json:"join,omitempty"`
	Leave                *TraceEvent_Leave            `protobuf:"bytes,14,opt,name=leave" json:"leave,omitempty"`
	Graft                *TraceEvent_Graft            `protobuf:"bytes,15,opt,name=graft" json:"graft,omitempty"`
	Prune                *TraceEvent_Prune            `protobuf:"bytes,16,opt,name=prune" json:"prune,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                     `json:"-"`
	XXX_unrecognized     []byte                       `json:"-"`
	XXX_sizecache        int32                        `json:"-"`
}

func ( *TraceEvent) ()         { * = TraceEvent{} }
func ( *TraceEvent) () string { return proto.CompactTextString() }
func (*TraceEvent) ()    {}
func (*TraceEvent) () ([]byte, []int) {
	return fileDescriptor_0571941a1d628a80, []int{0}
}
func ( *TraceEvent) ( []byte) error {
	return .Unmarshal()
}
func ( *TraceEvent) ( []byte,  bool) ([]byte, error) {
	if  {
		return xxx_messageInfo_TraceEvent.Marshal(, , )
	} else {
		 = [:cap()]
		,  := .MarshalToSizedBuffer()
		if  != nil {
			return nil, 
		}
		return [:], nil
	}
}
func ( *TraceEvent) ( proto.Message) {
	xxx_messageInfo_TraceEvent.Merge(, )
}
func ( *TraceEvent) () int {
	return .Size()
}
func ( *TraceEvent) () {
	xxx_messageInfo_TraceEvent.DiscardUnknown()
}

var xxx_messageInfo_TraceEvent proto.InternalMessageInfo

func ( *TraceEvent) () TraceEvent_Type {
	if  != nil && .Type != nil {
		return *.Type
	}
	return TraceEvent_PUBLISH_MESSAGE
}

func ( *TraceEvent) () []byte {
	if  != nil {
		return .PeerID
	}
	return nil
}

func ( *TraceEvent) () int64 {
	if  != nil && .Timestamp != nil {
		return *.Timestamp
	}
	return 0
}

func ( *TraceEvent) () *TraceEvent_PublishMessage {
	if  != nil {
		return .PublishMessage
	}
	return nil
}

func ( *TraceEvent) () *TraceEvent_RejectMessage {
	if  != nil {
		return .RejectMessage
	}
	return nil
}

func ( *TraceEvent) () *TraceEvent_DuplicateMessage {
	if  != nil {
		return .DuplicateMessage
	}
	return nil
}

func ( *TraceEvent) () *TraceEvent_DeliverMessage {
	if  != nil {
		return .DeliverMessage
	}
	return nil
}

func ( *TraceEvent) () *TraceEvent_AddPeer {
	if  != nil {
		return .AddPeer
	}
	return nil
}

func ( *TraceEvent) () *TraceEvent_RemovePeer {
	if  != nil {
		return .RemovePeer
	}
	return nil
}

func ( *TraceEvent) () *TraceEvent_RecvRPC {
	if  != nil {
		return .RecvRPC
	}
	return nil
}

func ( *TraceEvent) () *TraceEvent_SendRPC {
	if  != nil {
		return .SendRPC
	}
	return nil
}

func ( *TraceEvent) () *TraceEvent_DropRPC {
	if  != nil {
		return .DropRPC
	}
	return nil
}

func ( *TraceEvent) () *TraceEvent_Join {
	if  != nil {
		return .Join
	}
	return nil
}

func ( *TraceEvent) () *TraceEvent_Leave {
	if  != nil {
		return .Leave
	}
	return nil
}

func ( *TraceEvent) () *TraceEvent_Graft {
	if  != nil {
		return .Graft
	}
	return nil
}

func ( *TraceEvent) () *TraceEvent_Prune {
	if  != nil {
		return .Prune
	}
	return nil
}

type TraceEvent_PublishMessage struct {
	MessageID            []byte   `protobuf:"bytes,1,opt,name=messageID" json:"messageID,omitempty"`
	Topic                *string  `protobuf:"bytes,2,opt,name=topic" json:"topic,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func ( *TraceEvent_PublishMessage) ()         { * = TraceEvent_PublishMessage{} }
func ( *TraceEvent_PublishMessage) () string { return proto.CompactTextString() }
func (*TraceEvent_PublishMessage) ()    {}
func (*TraceEvent_PublishMessage) () ([]byte, []int) {
	return fileDescriptor_0571941a1d628a80, []int{0, 0}
}
func ( *TraceEvent_PublishMessage) ( []byte) error {
	return .Unmarshal()
}
func ( *TraceEvent_PublishMessage) ( []byte,  bool) ([]byte, error) {
	if  {
		return xxx_messageInfo_TraceEvent_PublishMessage.Marshal(, , )
	} else {
		 = [:cap()]
		,  := .MarshalToSizedBuffer()
		if  != nil {
			return nil, 
		}
		return [:], nil
	}
}
func ( *TraceEvent_PublishMessage) ( proto.Message) {
	xxx_messageInfo_TraceEvent_PublishMessage.Merge(, )
}
func ( *TraceEvent_PublishMessage) () int {
	return .Size()
}
func ( *TraceEvent_PublishMessage) () {
	xxx_messageInfo_TraceEvent_PublishMessage.DiscardUnknown()
}

var xxx_messageInfo_TraceEvent_PublishMessage proto.InternalMessageInfo

func ( *TraceEvent_PublishMessage) () []byte {
	if  != nil {
		return .MessageID
	}
	return nil
}

func ( *TraceEvent_PublishMessage) () string {
	if  != nil && .Topic != nil {
		return *.Topic
	}
	return ""
}

type TraceEvent_RejectMessage struct {
	MessageID            []byte   `protobuf:"bytes,1,opt,name=messageID" json:"messageID,omitempty"`
	ReceivedFrom         []byte   `protobuf:"bytes,2,opt,name=receivedFrom" json:"receivedFrom,omitempty"`
	Reason               *string  `protobuf:"bytes,3,opt,name=reason" json:"reason,omitempty"`
	Topic                *string  `protobuf:"bytes,4,opt,name=topic" json:"topic,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func ( *TraceEvent_RejectMessage) ()         { * = TraceEvent_RejectMessage{} }
func ( *TraceEvent_RejectMessage) () string { return proto.CompactTextString() }
func (*TraceEvent_RejectMessage) ()    {}
func (*TraceEvent_RejectMessage) () ([]byte, []int) {
	return fileDescriptor_0571941a1d628a80, []int{0, 1}
}
func ( *TraceEvent_RejectMessage) ( []byte) error {
	return .Unmarshal()
}
func ( *TraceEvent_RejectMessage) ( []byte,  bool) ([]byte, error) {
	if  {
		return xxx_messageInfo_TraceEvent_RejectMessage.Marshal(, , )
	} else {
		 = [:cap()]
		,  := .MarshalToSizedBuffer()
		if  != nil {
			return nil, 
		}
		return [:], nil
	}
}
func ( *TraceEvent_RejectMessage) ( proto.Message) {
	xxx_messageInfo_TraceEvent_RejectMessage.Merge(, )
}
func ( *TraceEvent_RejectMessage) () int {
	return .Size()
}
func ( *TraceEvent_RejectMessage) () {
	xxx_messageInfo_TraceEvent_RejectMessage.DiscardUnknown()
}

var xxx_messageInfo_TraceEvent_RejectMessage proto.InternalMessageInfo

func ( *TraceEvent_RejectMessage) () []byte {
	if  != nil {
		return .MessageID
	}
	return nil
}

func ( *TraceEvent_RejectMessage) () []byte {
	if  != nil {
		return .ReceivedFrom
	}
	return nil
}

func ( *TraceEvent_RejectMessage) () string {
	if  != nil && .Reason != nil {
		return *.Reason
	}
	return ""
}

func ( *TraceEvent_RejectMessage) () string {
	if  != nil && .Topic != nil {
		return *.Topic
	}
	return ""
}

type TraceEvent_DuplicateMessage struct {
	MessageID            []byte   `protobuf:"bytes,1,opt,name=messageID" json:"messageID,omitempty"`
	ReceivedFrom         []byte   `protobuf:"bytes,2,opt,name=receivedFrom" json:"receivedFrom,omitempty"`
	Topic                *string  `protobuf:"bytes,3,opt,name=topic" json:"topic,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func ( *TraceEvent_DuplicateMessage) ()         { * = TraceEvent_DuplicateMessage{} }
func ( *TraceEvent_DuplicateMessage) () string { return proto.CompactTextString() }
func (*TraceEvent_DuplicateMessage) ()    {}
func (*TraceEvent_DuplicateMessage) () ([]byte, []int) {
	return fileDescriptor_0571941a1d628a80, []int{0, 2}
}
func ( *TraceEvent_DuplicateMessage) ( []byte) error {
	return .Unmarshal()
}
func ( *TraceEvent_DuplicateMessage) ( []byte,  bool) ([]byte, error) {
	if  {
		return xxx_messageInfo_TraceEvent_DuplicateMessage.Marshal(, , )
	} else {
		 = [:cap()]
		,  := .MarshalToSizedBuffer()
		if  != nil {
			return nil, 
		}
		return [:], nil
	}
}
func ( *TraceEvent_DuplicateMessage) ( proto.Message) {
	xxx_messageInfo_TraceEvent_DuplicateMessage.Merge(, )
}
func ( *TraceEvent_DuplicateMessage) () int {
	return .Size()
}
func ( *TraceEvent_DuplicateMessage) () {
	xxx_messageInfo_TraceEvent_DuplicateMessage.DiscardUnknown()
}

var xxx_messageInfo_TraceEvent_DuplicateMessage proto.InternalMessageInfo

func ( *TraceEvent_DuplicateMessage) () []byte {
	if  != nil {
		return .MessageID
	}
	return nil
}

func ( *TraceEvent_DuplicateMessage) () []byte {
	if  != nil {
		return .ReceivedFrom
	}
	return nil
}

func ( *TraceEvent_DuplicateMessage) () string {
	if  != nil && .Topic != nil {
		return *.Topic
	}
	return ""
}

type TraceEvent_DeliverMessage struct {
	MessageID            []byte   `protobuf:"bytes,1,opt,name=messageID" json:"messageID,omitempty"`
	Topic                *string  `protobuf:"bytes,2,opt,name=topic" json:"topic,omitempty"`
	ReceivedFrom         []byte   `protobuf:"bytes,3,opt,name=receivedFrom" json:"receivedFrom,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func ( *TraceEvent_DeliverMessage) ()         { * = TraceEvent_DeliverMessage{} }
func ( *TraceEvent_DeliverMessage) () string { return proto.CompactTextString() }
func (*TraceEvent_DeliverMessage) ()    {}
func (*TraceEvent_DeliverMessage) () ([]byte, []int) {
	return fileDescriptor_0571941a1d628a80, []int{0, 3}
}
func ( *TraceEvent_DeliverMessage) ( []byte) error {
	return .Unmarshal()
}
func ( *TraceEvent_DeliverMessage) ( []byte,  bool) ([]byte, error) {
	if  {
		return xxx_messageInfo_TraceEvent_DeliverMessage.Marshal(, , )
	} else {
		 = [:cap()]
		,  := .MarshalToSizedBuffer()
		if  != nil {
			return nil, 
		}
		return [:], nil
	}
}
func ( *TraceEvent_DeliverMessage) ( proto.Message) {
	xxx_messageInfo_TraceEvent_DeliverMessage.Merge(, )
}
func ( *TraceEvent_DeliverMessage) () int {
	return .Size()
}
func ( *TraceEvent_DeliverMessage) () {
	xxx_messageInfo_TraceEvent_DeliverMessage.DiscardUnknown()
}

var xxx_messageInfo_TraceEvent_DeliverMessage proto.InternalMessageInfo

func ( *TraceEvent_DeliverMessage) () []byte {
	if  != nil {
		return .MessageID
	}
	return nil
}

func ( *TraceEvent_DeliverMessage) () string {
	if  != nil && .Topic != nil {
		return *.Topic
	}
	return ""
}

func ( *TraceEvent_DeliverMessage) () []byte {
	if  != nil {
		return .ReceivedFrom
	}
	return nil
}

type TraceEvent_AddPeer struct {
	PeerID               []byte   `protobuf:"bytes,1,opt,name=peerID" json:"peerID,omitempty"`
	Proto                *string  `protobuf:"bytes,2,opt,name=proto" json:"proto,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func ( *TraceEvent_AddPeer) ()         { * = TraceEvent_AddPeer{} }
func ( *TraceEvent_AddPeer) () string { return proto.CompactTextString() }
func (*TraceEvent_AddPeer) ()    {}
func (*TraceEvent_AddPeer) () ([]byte, []int) {
	return fileDescriptor_0571941a1d628a80, []int{0, 4}
}
func ( *TraceEvent_AddPeer) ( []byte) error {
	return .Unmarshal()
}
func ( *TraceEvent_AddPeer) ( []byte,  bool) ([]byte, error) {
	if  {
		return xxx_messageInfo_TraceEvent_AddPeer.Marshal(, , )
	} else {
		 = [:cap()]
		,  := .MarshalToSizedBuffer()
		if  != nil {
			return nil, 
		}
		return [:], nil
	}
}
func ( *TraceEvent_AddPeer) ( proto.Message) {
	xxx_messageInfo_TraceEvent_AddPeer.Merge(, )
}
func ( *TraceEvent_AddPeer) () int {
	return .Size()
}
func ( *TraceEvent_AddPeer) () {
	xxx_messageInfo_TraceEvent_AddPeer.DiscardUnknown()
}

var xxx_messageInfo_TraceEvent_AddPeer proto.InternalMessageInfo

func ( *TraceEvent_AddPeer) () []byte {
	if  != nil {
		return .PeerID
	}
	return nil
}

func ( *TraceEvent_AddPeer) () string {
	if  != nil && .Proto != nil {
		return *.Proto
	}
	return ""
}

type TraceEvent_RemovePeer struct {
	PeerID               []byte   `protobuf:"bytes,1,opt,name=peerID" json:"peerID,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func ( *TraceEvent_RemovePeer) ()         { * = TraceEvent_RemovePeer{} }
func ( *TraceEvent_RemovePeer) () string { return proto.CompactTextString() }
func (*TraceEvent_RemovePeer) ()    {}
func (*TraceEvent_RemovePeer) () ([]byte, []int) {
	return fileDescriptor_0571941a1d628a80, []int{0, 5}
}
func ( *TraceEvent_RemovePeer) ( []byte) error {
	return .Unmarshal()
}
func ( *TraceEvent_RemovePeer) ( []byte,  bool) ([]byte, error) {
	if  {
		return xxx_messageInfo_TraceEvent_RemovePeer.Marshal(, , )
	} else {
		 = [:cap()]
		,  := .MarshalToSizedBuffer()
		if  != nil {
			return nil, 
		}
		return [:], nil
	}
}
func ( *TraceEvent_RemovePeer) ( proto.Message) {
	xxx_messageInfo_TraceEvent_RemovePeer.Merge(, )
}
func ( *TraceEvent_RemovePeer) () int {
	return .Size()
}
func ( *TraceEvent_RemovePeer) () {
	xxx_messageInfo_TraceEvent_RemovePeer.DiscardUnknown()
}

var xxx_messageInfo_TraceEvent_RemovePeer proto.InternalMessageInfo

func ( *TraceEvent_RemovePeer) () []byte {
	if  != nil {
		return .PeerID
	}
	return nil
}

type TraceEvent_RecvRPC struct {
	ReceivedFrom         []byte              `protobuf:"bytes,1,opt,name=receivedFrom" json:"receivedFrom,omitempty"`
	Meta                 *TraceEvent_RPCMeta `protobuf:"bytes,2,opt,name=meta" json:"meta,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func ( *TraceEvent_RecvRPC) ()         { * = TraceEvent_RecvRPC{} }
func ( *TraceEvent_RecvRPC) () string { return proto.CompactTextString() }
func (*TraceEvent_RecvRPC) ()    {}
func (*TraceEvent_RecvRPC) () ([]byte, []int) {
	return fileDescriptor_0571941a1d628a80, []int{0, 6}
}
func ( *TraceEvent_RecvRPC) ( []byte) error {
	return .Unmarshal()
}
func ( *TraceEvent_RecvRPC) ( []byte,  bool) ([]byte, error) {
	if  {
		return xxx_messageInfo_TraceEvent_RecvRPC.Marshal(, , )
	} else {
		 = [:cap()]
		,  := .MarshalToSizedBuffer()
		if  != nil {
			return nil, 
		}
		return [:], nil
	}
}
func ( *TraceEvent_RecvRPC) ( proto.Message) {
	xxx_messageInfo_TraceEvent_RecvRPC.Merge(, )
}
func ( *TraceEvent_RecvRPC) () int {
	return .Size()
}
func ( *TraceEvent_RecvRPC) () {
	xxx_messageInfo_TraceEvent_RecvRPC.DiscardUnknown()
}

var xxx_messageInfo_TraceEvent_RecvRPC proto.InternalMessageInfo

func ( *TraceEvent_RecvRPC) () []byte {
	if  != nil {
		return .ReceivedFrom
	}
	return nil
}

func ( *TraceEvent_RecvRPC) () *TraceEvent_RPCMeta {
	if  != nil {
		return .Meta
	}
	return nil
}

type TraceEvent_SendRPC struct {
	SendTo               []byte              `protobuf:"bytes,1,opt,name=sendTo" json:"sendTo,omitempty"`
	Meta                 *TraceEvent_RPCMeta `protobuf:"bytes,2,opt,name=meta" json:"meta,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func ( *TraceEvent_SendRPC) ()         { * = TraceEvent_SendRPC{} }
func ( *TraceEvent_SendRPC) () string { return proto.CompactTextString() }
func (*TraceEvent_SendRPC) ()    {}
func (*TraceEvent_SendRPC) () ([]byte, []int) {
	return fileDescriptor_0571941a1d628a80, []int{0, 7}
}
func ( *TraceEvent_SendRPC) ( []byte) error {
	return .Unmarshal()
}
func ( *TraceEvent_SendRPC) ( []byte,  bool) ([]byte, error) {
	if  {
		return xxx_messageInfo_TraceEvent_SendRPC.Marshal(, , )
	} else {
		 = [:cap()]
		,  := .MarshalToSizedBuffer()
		if  != nil {
			return nil, 
		}
		return [:], nil
	}
}
func ( *TraceEvent_SendRPC) ( proto.Message) {
	xxx_messageInfo_TraceEvent_SendRPC.Merge(, )
}
func ( *TraceEvent_SendRPC) () int {
	return .Size()
}
func ( *TraceEvent_SendRPC) () {
	xxx_messageInfo_TraceEvent_SendRPC.DiscardUnknown()
}

var xxx_messageInfo_TraceEvent_SendRPC proto.InternalMessageInfo

func ( *TraceEvent_SendRPC) () []byte {
	if  != nil {
		return .SendTo
	}
	return nil
}

func ( *TraceEvent_SendRPC) () *TraceEvent_RPCMeta {
	if  != nil {
		return .Meta
	}
	return nil
}

type TraceEvent_DropRPC struct {
	SendTo               []byte              `protobuf:"bytes,1,opt,name=sendTo" json:"sendTo,omitempty"`
	Meta                 *TraceEvent_RPCMeta `protobuf:"bytes,2,opt,name=meta" json:"meta,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func ( *TraceEvent_DropRPC) ()         { * = TraceEvent_DropRPC{} }
func ( *TraceEvent_DropRPC) () string { return proto.CompactTextString() }
func (*TraceEvent_DropRPC) ()    {}
func (*TraceEvent_DropRPC) () ([]byte, []int) {
	return fileDescriptor_0571941a1d628a80, []int{0, 8}
}
func ( *TraceEvent_DropRPC) ( []byte) error {
	return .Unmarshal()
}
func ( *TraceEvent_DropRPC) ( []byte,  bool) ([]byte, error) {
	if  {
		return xxx_messageInfo_TraceEvent_DropRPC.Marshal(, , )
	} else {
		 = [:cap()]
		,  := .MarshalToSizedBuffer()
		if  != nil {
			return nil, 
		}
		return [:], nil
	}
}
func ( *TraceEvent_DropRPC) ( proto.Message) {
	xxx_messageInfo_TraceEvent_DropRPC.Merge(, )
}
func ( *TraceEvent_DropRPC) () int {
	return .Size()
}
func ( *TraceEvent_DropRPC) () {
	xxx_messageInfo_TraceEvent_DropRPC.DiscardUnknown()
}

var xxx_messageInfo_TraceEvent_DropRPC proto.InternalMessageInfo

func ( *TraceEvent_DropRPC) () []byte {
	if  != nil {
		return .SendTo
	}
	return nil
}

func ( *TraceEvent_DropRPC) () *TraceEvent_RPCMeta {
	if  != nil {
		return .Meta
	}
	return nil
}

type TraceEvent_Join struct {
	Topic                *string  `protobuf:"bytes,1,opt,name=topic" json:"topic,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func ( *TraceEvent_Join) ()         { * = TraceEvent_Join{} }
func ( *TraceEvent_Join) () string { return proto.CompactTextString() }
func (*TraceEvent_Join) ()    {}
func (*TraceEvent_Join) () ([]byte, []int) {
	return fileDescriptor_0571941a1d628a80, []int{0, 9}
}
func ( *TraceEvent_Join) ( []byte) error {
	return .Unmarshal()
}
func ( *TraceEvent_Join) ( []byte,  bool) ([]byte, error) {
	if  {
		return xxx_messageInfo_TraceEvent_Join.Marshal(, , )
	} else {
		 = [:cap()]
		,  := .MarshalToSizedBuffer()
		if  != nil {
			return nil, 
		}
		return [:], nil
	}
}
func ( *TraceEvent_Join) ( proto.Message) {
	xxx_messageInfo_TraceEvent_Join.Merge(, )
}
func ( *TraceEvent_Join) () int {
	return .Size()
}
func ( *TraceEvent_Join) () {
	xxx_messageInfo_TraceEvent_Join.DiscardUnknown()
}

var xxx_messageInfo_TraceEvent_Join proto.InternalMessageInfo

func ( *TraceEvent_Join) () string {
	if  != nil && .Topic != nil {
		return *.Topic
	}
	return ""
}

type TraceEvent_Leave struct {
	Topic                *string  `protobuf:"bytes,2,opt,name=topic" json:"topic,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func ( *TraceEvent_Leave) ()         { * = TraceEvent_Leave{} }
func ( *TraceEvent_Leave) () string { return proto.CompactTextString() }
func (*TraceEvent_Leave) ()    {}
func (*TraceEvent_Leave) () ([]byte, []int) {
	return fileDescriptor_0571941a1d628a80, []int{0, 10}
}
func ( *TraceEvent_Leave) ( []byte) error {
	return .Unmarshal()
}
func ( *TraceEvent_Leave) ( []byte,  bool) ([]byte, error) {
	if  {
		return xxx_messageInfo_TraceEvent_Leave.Marshal(, , )
	} else {
		 = [:cap()]
		,  := .MarshalToSizedBuffer()
		if  != nil {
			return nil, 
		}
		return [:], nil
	}
}
func ( *TraceEvent_Leave) ( proto.Message) {
	xxx_messageInfo_TraceEvent_Leave.Merge(, )
}
func ( *TraceEvent_Leave) () int {
	return .Size()
}
func ( *TraceEvent_Leave) () {
	xxx_messageInfo_TraceEvent_Leave.DiscardUnknown()
}

var xxx_messageInfo_TraceEvent_Leave proto.InternalMessageInfo

func ( *TraceEvent_Leave) () string {
	if  != nil && .Topic != nil {
		return *.Topic
	}
	return ""
}

type TraceEvent_Graft struct {
	PeerID               []byte   `protobuf:"bytes,1,opt,name=peerID" json:"peerID,omitempty"`
	Topic                *string  `protobuf:"bytes,2,opt,name=topic" json:"topic,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func ( *TraceEvent_Graft) ()         { * = TraceEvent_Graft{} }
func ( *TraceEvent_Graft) () string { return proto.CompactTextString() }
func (*TraceEvent_Graft) ()    {}
func (*TraceEvent_Graft) () ([]byte, []int) {
	return fileDescriptor_0571941a1d628a80, []int{0, 11}
}
func ( *TraceEvent_Graft) ( []byte) error {
	return .Unmarshal()
}
func ( *TraceEvent_Graft) ( []byte,  bool) ([]byte, error) {
	if  {
		return xxx_messageInfo_TraceEvent_Graft.Marshal(, , )
	} else {
		 = [:cap()]
		,  := .MarshalToSizedBuffer()
		if  != nil {
			return nil, 
		}
		return [:], nil
	}
}
func ( *TraceEvent_Graft) ( proto.Message) {
	xxx_messageInfo_TraceEvent_Graft.Merge(, )
}
func ( *TraceEvent_Graft) () int {
	return .Size()
}
func ( *TraceEvent_Graft) () {
	xxx_messageInfo_TraceEvent_Graft.DiscardUnknown()
}

var xxx_messageInfo_TraceEvent_Graft proto.InternalMessageInfo

func ( *TraceEvent_Graft) () []byte {
	if  != nil {
		return .PeerID
	}
	return nil
}

func ( *TraceEvent_Graft) () string {
	if  != nil && .Topic != nil {
		return *.Topic
	}
	return ""
}

type TraceEvent_Prune struct {
	PeerID               []byte   `protobuf:"bytes,1,opt,name=peerID" json:"peerID,omitempty"`
	Topic                *string  `protobuf:"bytes,2,opt,name=topic" json:"topic,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func ( *TraceEvent_Prune) ()         { * = TraceEvent_Prune{} }
func ( *TraceEvent_Prune) () string { return proto.CompactTextString() }
func (*TraceEvent_Prune) ()    {}
func (*TraceEvent_Prune) () ([]byte, []int) {
	return fileDescriptor_0571941a1d628a80, []int{0, 12}
}
func ( *TraceEvent_Prune) ( []byte) error {
	return .Unmarshal()
}
func ( *TraceEvent_Prune) ( []byte,  bool) ([]byte, error) {
	if  {
		return xxx_messageInfo_TraceEvent_Prune.Marshal(, , )
	} else {
		 = [:cap()]
		,  := .MarshalToSizedBuffer()
		if  != nil {
			return nil, 
		}
		return [:], nil
	}
}
func ( *TraceEvent_Prune) ( proto.Message) {
	xxx_messageInfo_TraceEvent_Prune.Merge(, )
}
func ( *TraceEvent_Prune) () int {
	return .Size()
}
func ( *TraceEvent_Prune) () {
	xxx_messageInfo_TraceEvent_Prune.DiscardUnknown()
}

var xxx_messageInfo_TraceEvent_Prune proto.InternalMessageInfo

func ( *TraceEvent_Prune) () []byte {
	if  != nil {
		return .PeerID
	}
	return nil
}

func ( *TraceEvent_Prune) () string {
	if  != nil && .Topic != nil {
		return *.Topic
	}
	return ""
}

type TraceEvent_RPCMeta struct {
	Messages             []*TraceEvent_MessageMeta `protobuf:"bytes,1,rep,name=messages" json:"messages,omitempty"`
	Subscription         []*TraceEvent_SubMeta     `protobuf:"bytes,2,rep,name=subscription" json:"subscription,omitempty"`
	Control              *TraceEvent_ControlMeta   `protobuf:"bytes,3,opt,name=control" json:"control,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                  `json:"-"`
	XXX_unrecognized     []byte                    `json:"-"`
	XXX_sizecache        int32                     `json:"-"`
}

func ( *TraceEvent_RPCMeta) ()         { * = TraceEvent_RPCMeta{} }
func ( *TraceEvent_RPCMeta) () string { return proto.CompactTextString() }
func (*TraceEvent_RPCMeta) ()    {}
func (*TraceEvent_RPCMeta) () ([]byte, []int) {
	return fileDescriptor_0571941a1d628a80, []int{0, 13}
}
func ( *TraceEvent_RPCMeta) ( []byte) error {
	return .Unmarshal()
}
func ( *TraceEvent_RPCMeta) ( []byte,  bool) ([]byte, error) {
	if  {
		return xxx_messageInfo_TraceEvent_RPCMeta.Marshal(, , )
	} else {
		 = [:cap()]
		,  := .MarshalToSizedBuffer()
		if  != nil {
			return nil, 
		}
		return [:], nil
	}
}
func ( *TraceEvent_RPCMeta) ( proto.Message) {
	xxx_messageInfo_TraceEvent_RPCMeta.Merge(, )
}
func ( *TraceEvent_RPCMeta) () int {
	return .Size()
}
func ( *TraceEvent_RPCMeta) () {
	xxx_messageInfo_TraceEvent_RPCMeta.DiscardUnknown()
}

var xxx_messageInfo_TraceEvent_RPCMeta proto.InternalMessageInfo

func ( *TraceEvent_RPCMeta) () []*TraceEvent_MessageMeta {
	if  != nil {
		return .Messages
	}
	return nil
}

func ( *TraceEvent_RPCMeta) () []*TraceEvent_SubMeta {
	if  != nil {
		return .Subscription
	}
	return nil
}

func ( *TraceEvent_RPCMeta) () *TraceEvent_ControlMeta {
	if  != nil {
		return .Control
	}
	return nil
}

type TraceEvent_MessageMeta struct {
	MessageID            []byte   `protobuf:"bytes,1,opt,name=messageID" json:"messageID,omitempty"`
	Topic                *string  `protobuf:"bytes,2,opt,name=topic" json:"topic,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func ( *TraceEvent_MessageMeta) ()         { * = TraceEvent_MessageMeta{} }
func ( *TraceEvent_MessageMeta) () string { return proto.CompactTextString() }
func (*TraceEvent_MessageMeta) ()    {}
func (*TraceEvent_MessageMeta) () ([]byte, []int) {
	return fileDescriptor_0571941a1d628a80, []int{0, 14}
}
func ( *TraceEvent_MessageMeta) ( []byte) error {
	return .Unmarshal()
}
func ( *TraceEvent_MessageMeta) ( []byte,  bool) ([]byte, error) {
	if  {
		return xxx_messageInfo_TraceEvent_MessageMeta.Marshal(, , )
	} else {
		 = [:cap()]
		,  := .MarshalToSizedBuffer()
		if  != nil {
			return nil, 
		}
		return [:], nil
	}
}
func ( *TraceEvent_MessageMeta) ( proto.Message) {
	xxx_messageInfo_TraceEvent_MessageMeta.Merge(, )
}
func ( *TraceEvent_MessageMeta) () int {
	return .Size()
}
func ( *TraceEvent_MessageMeta) () {
	xxx_messageInfo_TraceEvent_MessageMeta.DiscardUnknown()
}

var xxx_messageInfo_TraceEvent_MessageMeta proto.InternalMessageInfo

func ( *TraceEvent_MessageMeta) () []byte {
	if  != nil {
		return .MessageID
	}
	return nil
}

func ( *TraceEvent_MessageMeta) () string {
	if  != nil && .Topic != nil {
		return *.Topic
	}
	return ""
}

type TraceEvent_SubMeta struct {
	Subscribe            *bool    `protobuf:"varint,1,opt,name=subscribe" json:"subscribe,omitempty"`
	Topic                *string  `protobuf:"bytes,2,opt,name=topic" json:"topic,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func ( *TraceEvent_SubMeta) ()         { * = TraceEvent_SubMeta{} }
func ( *TraceEvent_SubMeta) () string { return proto.CompactTextString() }
func (*TraceEvent_SubMeta) ()    {}
func (*TraceEvent_SubMeta) () ([]byte, []int) {
	return fileDescriptor_0571941a1d628a80, []int{0, 15}
}
func ( *TraceEvent_SubMeta) ( []byte) error {
	return .Unmarshal()
}
func ( *TraceEvent_SubMeta) ( []byte,  bool) ([]byte, error) {
	if  {
		return xxx_messageInfo_TraceEvent_SubMeta.Marshal(, , )
	} else {
		 = [:cap()]
		,  := .MarshalToSizedBuffer()
		if  != nil {
			return nil, 
		}
		return [:], nil
	}
}
func ( *TraceEvent_SubMeta) ( proto.Message) {
	xxx_messageInfo_TraceEvent_SubMeta.Merge(, )
}
func ( *TraceEvent_SubMeta) () int {
	return .Size()
}
func ( *TraceEvent_SubMeta) () {
	xxx_messageInfo_TraceEvent_SubMeta.DiscardUnknown()
}

var xxx_messageInfo_TraceEvent_SubMeta proto.InternalMessageInfo

func ( *TraceEvent_SubMeta) () bool {
	if  != nil && .Subscribe != nil {
		return *.Subscribe
	}
	return false
}

func ( *TraceEvent_SubMeta) () string {
	if  != nil && .Topic != nil {
		return *.Topic
	}
	return ""
}

type TraceEvent_ControlMeta struct {
	Ihave                []*TraceEvent_ControlIHaveMeta     `protobuf:"bytes,1,rep,name=ihave" json:"ihave,omitempty"`
	Iwant                []*TraceEvent_ControlIWantMeta     `protobuf:"bytes,2,rep,name=iwant" json:"iwant,omitempty"`
	Graft                []*TraceEvent_ControlGraftMeta     `protobuf:"bytes,3,rep,name=graft" json:"graft,omitempty"`
	Prune                []*TraceEvent_ControlPruneMeta     `protobuf:"bytes,4,rep,name=prune" json:"prune,omitempty"`
	Idontwant            []*TraceEvent_ControlIDontWantMeta `protobuf:"bytes,5,rep,name=idontwant" json:"idontwant,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                           `json:"-"`
	XXX_unrecognized     []byte                             `json:"-"`
	XXX_sizecache        int32                              `json:"-"`
}

func ( *TraceEvent_ControlMeta) ()         { * = TraceEvent_ControlMeta{} }
func ( *TraceEvent_ControlMeta) () string { return proto.CompactTextString() }
func (*TraceEvent_ControlMeta) ()    {}
func (*TraceEvent_ControlMeta) () ([]byte, []int) {
	return fileDescriptor_0571941a1d628a80, []int{0, 16}
}
func ( *TraceEvent_ControlMeta) ( []byte) error {
	return .Unmarshal()
}
func ( *TraceEvent_ControlMeta) ( []byte,  bool) ([]byte, error) {
	if  {
		return xxx_messageInfo_TraceEvent_ControlMeta.Marshal(, , )
	} else {
		 = [:cap()]
		,  := .MarshalToSizedBuffer()
		if  != nil {
			return nil, 
		}
		return [:], nil
	}
}
func ( *TraceEvent_ControlMeta) ( proto.Message) {
	xxx_messageInfo_TraceEvent_ControlMeta.Merge(, )
}
func ( *TraceEvent_ControlMeta) () int {
	return .Size()
}
func ( *TraceEvent_ControlMeta) () {
	xxx_messageInfo_TraceEvent_ControlMeta.DiscardUnknown()
}

var xxx_messageInfo_TraceEvent_ControlMeta proto.InternalMessageInfo

func ( *TraceEvent_ControlMeta) () []*TraceEvent_ControlIHaveMeta {
	if  != nil {
		return .Ihave
	}
	return nil
}

func ( *TraceEvent_ControlMeta) () []*TraceEvent_ControlIWantMeta {
	if  != nil {
		return .Iwant
	}
	return nil
}

func ( *TraceEvent_ControlMeta) () []*TraceEvent_ControlGraftMeta {
	if  != nil {
		return .Graft
	}
	return nil
}

func ( *TraceEvent_ControlMeta) () []*TraceEvent_ControlPruneMeta {
	if  != nil {
		return .Prune
	}
	return nil
}

func ( *TraceEvent_ControlMeta) () []*TraceEvent_ControlIDontWantMeta {
	if  != nil {
		return .Idontwant
	}
	return nil
}

type TraceEvent_ControlIHaveMeta struct {
	Topic                *string  `protobuf:"bytes,1,opt,name=topic" json:"topic,omitempty"`
	MessageIDs           [][]byte `protobuf:"bytes,2,rep,name=messageIDs" json:"messageIDs,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func ( *TraceEvent_ControlIHaveMeta) ()         { * = TraceEvent_ControlIHaveMeta{} }
func ( *TraceEvent_ControlIHaveMeta) () string { return proto.CompactTextString() }
func (*TraceEvent_ControlIHaveMeta) ()    {}
func (*TraceEvent_ControlIHaveMeta) () ([]byte, []int) {
	return fileDescriptor_0571941a1d628a80, []int{0, 17}
}
func ( *TraceEvent_ControlIHaveMeta) ( []byte) error {
	return .Unmarshal()
}
func ( *TraceEvent_ControlIHaveMeta) ( []byte,  bool) ([]byte, error) {
	if  {
		return xxx_messageInfo_TraceEvent_ControlIHaveMeta.Marshal(, , )
	} else {
		 = [:cap()]
		,  := .MarshalToSizedBuffer()
		if  != nil {
			return nil, 
		}
		return [:], nil
	}
}
func ( *TraceEvent_ControlIHaveMeta) ( proto.Message) {
	xxx_messageInfo_TraceEvent_ControlIHaveMeta.Merge(, )
}
func ( *TraceEvent_ControlIHaveMeta) () int {
	return .Size()
}
func ( *TraceEvent_ControlIHaveMeta) () {
	xxx_messageInfo_TraceEvent_ControlIHaveMeta.DiscardUnknown()
}

var xxx_messageInfo_TraceEvent_ControlIHaveMeta proto.InternalMessageInfo

func ( *TraceEvent_ControlIHaveMeta) () string {
	if  != nil && .Topic != nil {
		return *.Topic
	}
	return ""
}

func ( *TraceEvent_ControlIHaveMeta) () [][]byte {
	if  != nil {
		return .MessageIDs
	}
	return nil
}

type TraceEvent_ControlIWantMeta struct {
	MessageIDs           [][]byte `protobuf:"bytes,1,rep,name=messageIDs" json:"messageIDs,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func ( *TraceEvent_ControlIWantMeta) ()         { * = TraceEvent_ControlIWantMeta{} }
func ( *TraceEvent_ControlIWantMeta) () string { return proto.CompactTextString() }
func (*TraceEvent_ControlIWantMeta) ()    {}
func (*TraceEvent_ControlIWantMeta) () ([]byte, []int) {
	return fileDescriptor_0571941a1d628a80, []int{0, 18}
}
func ( *TraceEvent_ControlIWantMeta) ( []byte) error {
	return .Unmarshal()
}
func ( *TraceEvent_ControlIWantMeta) ( []byte,  bool) ([]byte, error) {
	if  {
		return xxx_messageInfo_TraceEvent_ControlIWantMeta.Marshal(, , )
	} else {
		 = [:cap()]
		,  := .MarshalToSizedBuffer()
		if  != nil {
			return nil, 
		}
		return [:], nil
	}
}
func ( *TraceEvent_ControlIWantMeta) ( proto.Message) {
	xxx_messageInfo_TraceEvent_ControlIWantMeta.Merge(, )
}
func ( *TraceEvent_ControlIWantMeta) () int {
	return .Size()
}
func ( *TraceEvent_ControlIWantMeta) () {
	xxx_messageInfo_TraceEvent_ControlIWantMeta.DiscardUnknown()
}

var xxx_messageInfo_TraceEvent_ControlIWantMeta proto.InternalMessageInfo

func ( *TraceEvent_ControlIWantMeta) () [][]byte {
	if  != nil {
		return .MessageIDs
	}
	return nil
}

type TraceEvent_ControlGraftMeta struct {
	Topic                *string  `protobuf:"bytes,1,opt,name=topic" json:"topic,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func ( *TraceEvent_ControlGraftMeta) ()         { * = TraceEvent_ControlGraftMeta{} }
func ( *TraceEvent_ControlGraftMeta) () string { return proto.CompactTextString() }
func (*TraceEvent_ControlGraftMeta) ()    {}
func (*TraceEvent_ControlGraftMeta) () ([]byte, []int) {
	return fileDescriptor_0571941a1d628a80, []int{0, 19}
}
func ( *TraceEvent_ControlGraftMeta) ( []byte) error {
	return .Unmarshal()
}
func ( *TraceEvent_ControlGraftMeta) ( []byte,  bool) ([]byte, error) {
	if  {
		return xxx_messageInfo_TraceEvent_ControlGraftMeta.Marshal(, , )
	} else {
		 = [:cap()]
		,  := .MarshalToSizedBuffer()
		if  != nil {
			return nil, 
		}
		return [:], nil
	}
}
func ( *TraceEvent_ControlGraftMeta) ( proto.Message) {
	xxx_messageInfo_TraceEvent_ControlGraftMeta.Merge(, )
}
func ( *TraceEvent_ControlGraftMeta) () int {
	return .Size()
}
func ( *TraceEvent_ControlGraftMeta) () {
	xxx_messageInfo_TraceEvent_ControlGraftMeta.DiscardUnknown()
}

var xxx_messageInfo_TraceEvent_ControlGraftMeta proto.InternalMessageInfo

func ( *TraceEvent_ControlGraftMeta) () string {
	if  != nil && .Topic != nil {
		return *.Topic
	}
	return ""
}

type TraceEvent_ControlPruneMeta struct {
	Topic                *string  `protobuf:"bytes,1,opt,name=topic" json:"topic,omitempty"`
	Peers                [][]byte `protobuf:"bytes,2,rep,name=peers" json:"peers,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func ( *TraceEvent_ControlPruneMeta) ()         { * = TraceEvent_ControlPruneMeta{} }
func ( *TraceEvent_ControlPruneMeta) () string { return proto.CompactTextString() }
func (*TraceEvent_ControlPruneMeta) ()    {}
func (*TraceEvent_ControlPruneMeta) () ([]byte, []int) {
	return fileDescriptor_0571941a1d628a80, []int{0, 20}
}
func ( *TraceEvent_ControlPruneMeta) ( []byte) error {
	return .Unmarshal()
}
func ( *TraceEvent_ControlPruneMeta) ( []byte,  bool) ([]byte, error) {
	if  {
		return xxx_messageInfo_TraceEvent_ControlPruneMeta.Marshal(, , )
	} else {
		 = [:cap()]
		,  := .MarshalToSizedBuffer()
		if  != nil {
			return nil, 
		}
		return [:], nil
	}
}
func ( *TraceEvent_ControlPruneMeta) ( proto.Message) {
	xxx_messageInfo_TraceEvent_ControlPruneMeta.Merge(, )
}
func ( *TraceEvent_ControlPruneMeta) () int {
	return .Size()
}
func ( *TraceEvent_ControlPruneMeta) () {
	xxx_messageInfo_TraceEvent_ControlPruneMeta.DiscardUnknown()
}

var xxx_messageInfo_TraceEvent_ControlPruneMeta proto.InternalMessageInfo

func ( *TraceEvent_ControlPruneMeta) () string {
	if  != nil && .Topic != nil {
		return *.Topic
	}
	return ""
}

func ( *TraceEvent_ControlPruneMeta) () [][]byte {
	if  != nil {
		return .Peers
	}
	return nil
}

type TraceEvent_ControlIDontWantMeta struct {
	MessageIDs           [][]byte `protobuf:"bytes,1,rep,name=messageIDs" json:"messageIDs,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func ( *TraceEvent_ControlIDontWantMeta) ()         { * = TraceEvent_ControlIDontWantMeta{} }
func ( *TraceEvent_ControlIDontWantMeta) () string { return proto.CompactTextString() }
func (*TraceEvent_ControlIDontWantMeta) ()    {}
func (*TraceEvent_ControlIDontWantMeta) () ([]byte, []int) {
	return fileDescriptor_0571941a1d628a80, []int{0, 21}
}
func ( *TraceEvent_ControlIDontWantMeta) ( []byte) error {
	return .Unmarshal()
}
func ( *TraceEvent_ControlIDontWantMeta) ( []byte,  bool) ([]byte, error) {
	if  {
		return xxx_messageInfo_TraceEvent_ControlIDontWantMeta.Marshal(, , )
	} else {
		 = [:cap()]
		,  := .MarshalToSizedBuffer()
		if  != nil {
			return nil, 
		}
		return [:], nil
	}
}
func ( *TraceEvent_ControlIDontWantMeta) ( proto.Message) {
	xxx_messageInfo_TraceEvent_ControlIDontWantMeta.Merge(, )
}
func ( *TraceEvent_ControlIDontWantMeta) () int {
	return .Size()
}
func ( *TraceEvent_ControlIDontWantMeta) () {
	xxx_messageInfo_TraceEvent_ControlIDontWantMeta.DiscardUnknown()
}

var xxx_messageInfo_TraceEvent_ControlIDontWantMeta proto.InternalMessageInfo

func ( *TraceEvent_ControlIDontWantMeta) () [][]byte {
	if  != nil {
		return .MessageIDs
	}
	return nil
}

type TraceEventBatch struct {
	Batch                []*TraceEvent `protobuf:"bytes,1,rep,name=batch" json:"batch,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func ( *TraceEventBatch) ()         { * = TraceEventBatch{} }
func ( *TraceEventBatch) () string { return proto.CompactTextString() }
func (*TraceEventBatch) ()    {}
func (*TraceEventBatch) () ([]byte, []int) {
	return fileDescriptor_0571941a1d628a80, []int{1}
}
func ( *TraceEventBatch) ( []byte) error {
	return .Unmarshal()
}
func ( *TraceEventBatch) ( []byte,  bool) ([]byte, error) {
	if  {
		return xxx_messageInfo_TraceEventBatch.Marshal(, , )
	} else {
		 = [:cap()]
		,  := .MarshalToSizedBuffer()
		if  != nil {
			return nil, 
		}
		return [:], nil
	}
}
func ( *TraceEventBatch) ( proto.Message) {
	xxx_messageInfo_TraceEventBatch.Merge(, )
}
func ( *TraceEventBatch) () int {
	return .Size()
}
func ( *TraceEventBatch) () {
	xxx_messageInfo_TraceEventBatch.DiscardUnknown()
}

var xxx_messageInfo_TraceEventBatch proto.InternalMessageInfo

func ( *TraceEventBatch) () []*TraceEvent {
	if  != nil {
		return .Batch
	}
	return nil
}

func init() {
	proto.RegisterEnum("pubsub.pb.TraceEvent_Type", TraceEvent_Type_name, TraceEvent_Type_value)
	proto.RegisterType((*TraceEvent)(nil), "pubsub.pb.TraceEvent")
	proto.RegisterType((*TraceEvent_PublishMessage)(nil), "pubsub.pb.TraceEvent.PublishMessage")
	proto.RegisterType((*TraceEvent_RejectMessage)(nil), "pubsub.pb.TraceEvent.RejectMessage")
	proto.RegisterType((*TraceEvent_DuplicateMessage)(nil), "pubsub.pb.TraceEvent.DuplicateMessage")
	proto.RegisterType((*TraceEvent_DeliverMessage)(nil), "pubsub.pb.TraceEvent.DeliverMessage")
	proto.RegisterType((*TraceEvent_AddPeer)(nil), "pubsub.pb.TraceEvent.AddPeer")
	proto.RegisterType((*TraceEvent_RemovePeer)(nil), "pubsub.pb.TraceEvent.RemovePeer")
	proto.RegisterType((*TraceEvent_RecvRPC)(nil), "pubsub.pb.TraceEvent.RecvRPC")
	proto.RegisterType((*TraceEvent_SendRPC)(nil), "pubsub.pb.TraceEvent.SendRPC")
	proto.RegisterType((*TraceEvent_DropRPC)(nil), "pubsub.pb.TraceEvent.DropRPC")
	proto.RegisterType((*TraceEvent_Join)(nil), "pubsub.pb.TraceEvent.Join")
	proto.RegisterType((*TraceEvent_Leave)(nil), "pubsub.pb.TraceEvent.Leave")
	proto.RegisterType((*TraceEvent_Graft)(nil), "pubsub.pb.TraceEvent.Graft")
	proto.RegisterType((*TraceEvent_Prune)(nil), "pubsub.pb.TraceEvent.Prune")
	proto.RegisterType((*TraceEvent_RPCMeta)(nil), "pubsub.pb.TraceEvent.RPCMeta")
	proto.RegisterType((*TraceEvent_MessageMeta)(nil), "pubsub.pb.TraceEvent.MessageMeta")
	proto.RegisterType((*TraceEvent_SubMeta)(nil), "pubsub.pb.TraceEvent.SubMeta")
	proto.RegisterType((*TraceEvent_ControlMeta)(nil), "pubsub.pb.TraceEvent.ControlMeta")
	proto.RegisterType((*TraceEvent_ControlIHaveMeta)(nil), "pubsub.pb.TraceEvent.ControlIHaveMeta")
	proto.RegisterType((*TraceEvent_ControlIWantMeta)(nil), "pubsub.pb.TraceEvent.ControlIWantMeta")
	proto.RegisterType((*TraceEvent_ControlGraftMeta)(nil), "pubsub.pb.TraceEvent.ControlGraftMeta")
	proto.RegisterType((*TraceEvent_ControlPruneMeta)(nil), "pubsub.pb.TraceEvent.ControlPruneMeta")
	proto.RegisterType((*TraceEvent_ControlIDontWantMeta)(nil), "pubsub.pb.TraceEvent.ControlIDontWantMeta")
	proto.RegisterType((*TraceEventBatch)(nil), "pubsub.pb.TraceEventBatch")
}

func init() { proto.RegisterFile("trace.proto", fileDescriptor_0571941a1d628a80) }

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

func ( *TraceEvent) () ( []byte,  error) {
	 := .Size()
	 = make([]byte, )
	,  := .MarshalToSizedBuffer([:])
	if  != nil {
		return nil, 
	}
	return [:], nil
}

func ( *TraceEvent) ( []byte) (int, error) {
	 := .Size()
	return .MarshalToSizedBuffer([:])
}

func ( *TraceEvent) ( []byte) (int, error) {
	 := len()
	_ = 
	var  int
	_ = 
	if .XXX_unrecognized != nil {
		 -= len(.XXX_unrecognized)
		copy([:], .XXX_unrecognized)
	}
	if .Prune != nil {
		{
			,  := .Prune.MarshalToSizedBuffer([:])
			if  != nil {
				return 0, 
			}
			 -= 
			 = encodeVarintTrace(, , uint64())
		}
		--
		[] = 0x1
		--
		[] = 0x82
	}
	if .Graft != nil {
		{
			,  := .Graft.MarshalToSizedBuffer([:])
			if  != nil {
				return 0, 
			}
			 -= 
			 = encodeVarintTrace(, , uint64())
		}
		--
		[] = 0x7a
	}
	if .Leave != nil {
		{
			,  := .Leave.MarshalToSizedBuffer([:])
			if  != nil {
				return 0, 
			}
			 -= 
			 = encodeVarintTrace(, , uint64())
		}
		--
		[] = 0x72
	}
	if .Join != nil {
		{
			,  := .Join.MarshalToSizedBuffer([:])
			if  != nil {
				return 0, 
			}
			 -= 
			 = encodeVarintTrace(, , uint64())
		}
		--
		[] = 0x6a
	}
	if .DropRPC != nil {
		{
			,  := .DropRPC.MarshalToSizedBuffer([:])
			if  != nil {
				return 0, 
			}
			 -= 
			 = encodeVarintTrace(, , uint64())
		}
		--
		[] = 0x62
	}
	if .SendRPC != nil {
		{
			,  := .SendRPC.MarshalToSizedBuffer([:])
			if  != nil {
				return 0, 
			}
			 -= 
			 = encodeVarintTrace(, , uint64())
		}
		--
		[] = 0x5a
	}
	if .RecvRPC != nil {
		{
			,  := .RecvRPC.MarshalToSizedBuffer([:])
			if  != nil {
				return 0, 
			}
			 -= 
			 = encodeVarintTrace(, , uint64())
		}
		--
		[] = 0x52
	}
	if .RemovePeer != nil {
		{
			,  := .RemovePeer.MarshalToSizedBuffer([:])
			if  != nil {
				return 0, 
			}
			 -= 
			 = encodeVarintTrace(, , uint64())
		}
		--
		[] = 0x4a
	}
	if .AddPeer != nil {
		{
			,  := .AddPeer.MarshalToSizedBuffer([:])
			if  != nil {
				return 0, 
			}
			 -= 
			 = encodeVarintTrace(, , uint64())
		}
		--
		[] = 0x42
	}
	if .DeliverMessage != nil {
		{
			,  := .DeliverMessage.MarshalToSizedBuffer([:])
			if  != nil {
				return 0, 
			}
			 -= 
			 = encodeVarintTrace(, , uint64())
		}
		--
		[] = 0x3a
	}
	if .DuplicateMessage != nil {
		{
			,  := .DuplicateMessage.MarshalToSizedBuffer([:])
			if  != nil {
				return 0, 
			}
			 -= 
			 = encodeVarintTrace(, , uint64())
		}
		--
		[] = 0x32
	}
	if .RejectMessage != nil {
		{
			,  := .RejectMessage.MarshalToSizedBuffer([:])
			if  != nil {
				return 0, 
			}
			 -= 
			 = encodeVarintTrace(, , uint64())
		}
		--
		[] = 0x2a
	}
	if .PublishMessage != nil {
		{
			,  := .PublishMessage.MarshalToSizedBuffer([:])
			if  != nil {
				return 0, 
			}
			 -= 
			 = encodeVarintTrace(, , uint64())
		}
		--
		[] = 0x22
	}
	if .Timestamp != nil {
		 = encodeVarintTrace(, , uint64(*.Timestamp))
		--
		[] = 0x18
	}
	if .PeerID != nil {
		 -= len(.PeerID)
		copy([:], .PeerID)
		 = encodeVarintTrace(, , uint64(len(.PeerID)))
		--
		[] = 0x12
	}
	if .Type != nil {
		 = encodeVarintTrace(, , uint64(*.Type))
		--
		[] = 0x8
	}
	return len() - , nil
}

func ( *TraceEvent_PublishMessage) () ( []byte,  error) {
	 := .Size()
	 = make([]byte, )
	,  := .MarshalToSizedBuffer([:])
	if  != nil {
		return nil, 
	}
	return [:], nil
}

func ( *TraceEvent_PublishMessage) ( []byte) (int, error) {
	 := .Size()
	return .MarshalToSizedBuffer([:])
}

func ( *TraceEvent_PublishMessage) ( []byte) (int, error) {
	 := len()
	_ = 
	var  int
	_ = 
	if .XXX_unrecognized != nil {
		 -= len(.XXX_unrecognized)
		copy([:], .XXX_unrecognized)
	}
	if .Topic != nil {
		 -= len(*.Topic)
		copy([:], *.Topic)
		 = encodeVarintTrace(, , uint64(len(*.Topic)))
		--
		[] = 0x12
	}
	if .MessageID != nil {
		 -= len(.MessageID)
		copy([:], .MessageID)
		 = encodeVarintTrace(, , uint64(len(.MessageID)))
		--
		[] = 0xa
	}
	return len() - , nil
}

func ( *TraceEvent_RejectMessage) () ( []byte,  error) {
	 := .Size()
	 = make([]byte, )
	,  := .MarshalToSizedBuffer([:])
	if  != nil {
		return nil, 
	}
	return [:], nil
}

func ( *TraceEvent_RejectMessage) ( []byte) (int, error) {
	 := .Size()
	return .MarshalToSizedBuffer([:])
}

func ( *TraceEvent_RejectMessage) ( []byte) (int, error) {
	 := len()
	_ = 
	var  int
	_ = 
	if .XXX_unrecognized != nil {
		 -= len(.XXX_unrecognized)
		copy([:], .XXX_unrecognized)
	}
	if .Topic != nil {
		 -= len(*.Topic)
		copy([:], *.Topic)
		 = encodeVarintTrace(, , uint64(len(*.Topic)))
		--
		[] = 0x22
	}
	if .Reason != nil {
		 -= len(*.Reason)
		copy([:], *.Reason)
		 = encodeVarintTrace(, , uint64(len(*.Reason)))
		--
		[] = 0x1a
	}
	if .ReceivedFrom != nil {
		 -= len(.ReceivedFrom)
		copy([:], .ReceivedFrom)
		 = encodeVarintTrace(, , uint64(len(.ReceivedFrom)))
		--
		[] = 0x12
	}
	if .MessageID != nil {
		 -= len(.MessageID)
		copy([:], .MessageID)
		 = encodeVarintTrace(, , uint64(len(.MessageID)))
		--
		[] = 0xa
	}
	return len() - , nil
}

func ( *TraceEvent_DuplicateMessage) () ( []byte,  error) {
	 := .Size()
	 = make([]byte, )
	,  := .MarshalToSizedBuffer([:])
	if  != nil {
		return nil, 
	}
	return [:], nil
}

func ( *TraceEvent_DuplicateMessage) ( []byte) (int, error) {
	 := .Size()
	return .MarshalToSizedBuffer([:])
}

func ( *TraceEvent_DuplicateMessage) ( []byte) (int, error) {
	 := len()
	_ = 
	var  int
	_ = 
	if .XXX_unrecognized != nil {
		 -= len(.XXX_unrecognized)
		copy([:], .XXX_unrecognized)
	}
	if .Topic != nil {
		 -= len(*.Topic)
		copy([:], *.Topic)
		 = encodeVarintTrace(, , uint64(len(*.Topic)))
		--
		[] = 0x1a
	}
	if .ReceivedFrom != nil {
		 -= len(.ReceivedFrom)
		copy([:], .ReceivedFrom)
		 = encodeVarintTrace(, , uint64(len(.ReceivedFrom)))
		--
		[] = 0x12
	}
	if .MessageID != nil {
		 -= len(.MessageID)
		copy([:], .MessageID)
		 = encodeVarintTrace(, , uint64(len(.MessageID)))
		--
		[] = 0xa
	}
	return len() - , nil
}

func ( *TraceEvent_DeliverMessage) () ( []byte,  error) {
	 := .Size()
	 = make([]byte, )
	,  := .MarshalToSizedBuffer([:])
	if  != nil {
		return nil, 
	}
	return [:], nil
}

func ( *TraceEvent_DeliverMessage) ( []byte) (int, error) {
	 := .Size()
	return .MarshalToSizedBuffer([:])
}

func ( *TraceEvent_DeliverMessage) ( []byte) (int, error) {
	 := len()
	_ = 
	var  int
	_ = 
	if .XXX_unrecognized != nil {
		 -= len(.XXX_unrecognized)
		copy([:], .XXX_unrecognized)
	}
	if .ReceivedFrom != nil {
		 -= len(.ReceivedFrom)
		copy([:], .ReceivedFrom)
		 = encodeVarintTrace(, , uint64(len(.ReceivedFrom)))
		--
		[] = 0x1a
	}
	if .Topic != nil {
		 -= len(*.Topic)
		copy([:], *.Topic)
		 = encodeVarintTrace(, , uint64(len(*.Topic)))
		--
		[] = 0x12
	}
	if .MessageID != nil {
		 -= len(.MessageID)
		copy([:], .MessageID)
		 = encodeVarintTrace(, , uint64(len(.MessageID)))
		--
		[] = 0xa
	}
	return len() - , nil
}

func ( *TraceEvent_AddPeer) () ( []byte,  error) {
	 := .Size()
	 = make([]byte, )
	,  := .MarshalToSizedBuffer([:])
	if  != nil {
		return nil, 
	}
	return [:], nil
}

func ( *TraceEvent_AddPeer) ( []byte) (int, error) {
	 := .Size()
	return .MarshalToSizedBuffer([:])
}

func ( *TraceEvent_AddPeer) ( []byte) (int, error) {
	 := len()
	_ = 
	var  int
	_ = 
	if .XXX_unrecognized != nil {
		 -= len(.XXX_unrecognized)
		copy([:], .XXX_unrecognized)
	}
	if .Proto != nil {
		 -= len(*.Proto)
		copy([:], *.Proto)
		 = encodeVarintTrace(, , uint64(len(*.Proto)))
		--
		[] = 0x12
	}
	if .PeerID != nil {
		 -= len(.PeerID)
		copy([:], .PeerID)
		 = encodeVarintTrace(, , uint64(len(.PeerID)))
		--
		[] = 0xa
	}
	return len() - , nil
}

func ( *TraceEvent_RemovePeer) () ( []byte,  error) {
	 := .Size()
	 = make([]byte, )
	,  := .MarshalToSizedBuffer([:])
	if  != nil {
		return nil, 
	}
	return [:], nil
}

func ( *TraceEvent_RemovePeer) ( []byte) (int, error) {
	 := .Size()
	return .MarshalToSizedBuffer([:])
}

func ( *TraceEvent_RemovePeer) ( []byte) (int, error) {
	 := len()
	_ = 
	var  int
	_ = 
	if .XXX_unrecognized != nil {
		 -= len(.XXX_unrecognized)
		copy([:], .XXX_unrecognized)
	}
	if .PeerID != nil {
		 -= len(.PeerID)
		copy([:], .PeerID)
		 = encodeVarintTrace(, , uint64(len(.PeerID)))
		--
		[] = 0xa
	}
	return len() - , nil
}

func ( *TraceEvent_RecvRPC) () ( []byte,  error) {
	 := .Size()
	 = make([]byte, )
	,  := .MarshalToSizedBuffer([:])
	if  != nil {
		return nil, 
	}
	return [:], nil
}

func ( *TraceEvent_RecvRPC) ( []byte) (int, error) {
	 := .Size()
	return .MarshalToSizedBuffer([:])
}

func ( *TraceEvent_RecvRPC) ( []byte) (int, error) {
	 := len()
	_ = 
	var  int
	_ = 
	if .XXX_unrecognized != nil {
		 -= len(.XXX_unrecognized)
		copy([:], .XXX_unrecognized)
	}
	if .Meta != nil {
		{
			,  := .Meta.MarshalToSizedBuffer([:])
			if  != nil {
				return 0, 
			}
			 -= 
			 = encodeVarintTrace(, , uint64())
		}
		--
		[] = 0x12
	}
	if .ReceivedFrom != nil {
		 -= len(.ReceivedFrom)
		copy([:], .ReceivedFrom)
		 = encodeVarintTrace(, , uint64(len(.ReceivedFrom)))
		--
		[] = 0xa
	}
	return len() - , nil
}

func ( *TraceEvent_SendRPC) () ( []byte,  error) {
	 := .Size()
	 = make([]byte, )
	,  := .MarshalToSizedBuffer([:])
	if  != nil {
		return nil, 
	}
	return [:], nil
}

func ( *TraceEvent_SendRPC) ( []byte) (int, error) {
	 := .Size()
	return .MarshalToSizedBuffer([:])
}

func ( *TraceEvent_SendRPC) ( []byte) (int, error) {
	 := len()
	_ = 
	var  int
	_ = 
	if .XXX_unrecognized != nil {
		 -= len(.XXX_unrecognized)
		copy([:], .XXX_unrecognized)
	}
	if .Meta != nil {
		{
			,  := .Meta.MarshalToSizedBuffer([:])
			if  != nil {
				return 0, 
			}
			 -= 
			 = encodeVarintTrace(, , uint64())
		}
		--
		[] = 0x12
	}
	if .SendTo != nil {
		 -= len(.SendTo)
		copy([:], .SendTo)
		 = encodeVarintTrace(, , uint64(len(.SendTo)))
		--
		[] = 0xa
	}
	return len() - , nil
}

func ( *TraceEvent_DropRPC) () ( []byte,  error) {
	 := .Size()
	 = make([]byte, )
	,  := .MarshalToSizedBuffer([:])
	if  != nil {
		return nil, 
	}
	return [:], nil
}

func ( *TraceEvent_DropRPC) ( []byte) (int, error) {
	 := .Size()
	return .MarshalToSizedBuffer([:])
}

func ( *TraceEvent_DropRPC) ( []byte) (int, error) {
	 := len()
	_ = 
	var  int
	_ = 
	if .XXX_unrecognized != nil {
		 -= len(.XXX_unrecognized)
		copy([:], .XXX_unrecognized)
	}
	if .Meta != nil {
		{
			,  := .Meta.MarshalToSizedBuffer([:])
			if  != nil {
				return 0, 
			}
			 -= 
			 = encodeVarintTrace(, , uint64())
		}
		--
		[] = 0x12
	}
	if .SendTo != nil {
		 -= len(.SendTo)
		copy([:], .SendTo)
		 = encodeVarintTrace(, , uint64(len(.SendTo)))
		--
		[] = 0xa
	}
	return len() - , nil
}

func ( *TraceEvent_Join) () ( []byte,  error) {
	 := .Size()
	 = make([]byte, )
	,  := .MarshalToSizedBuffer([:])
	if  != nil {
		return nil, 
	}
	return [:], nil
}

func ( *TraceEvent_Join) ( []byte) (int, error) {
	 := .Size()
	return .MarshalToSizedBuffer([:])
}

func ( *TraceEvent_Join) ( []byte) (int, error) {
	 := len()
	_ = 
	var  int
	_ = 
	if .XXX_unrecognized != nil {
		 -= len(.XXX_unrecognized)
		copy([:], .XXX_unrecognized)
	}
	if .Topic != nil {
		 -= len(*.Topic)
		copy([:], *.Topic)
		 = encodeVarintTrace(, , uint64(len(*.Topic)))
		--
		[] = 0xa
	}
	return len() - , nil
}

func ( *TraceEvent_Leave) () ( []byte,  error) {
	 := .Size()
	 = make([]byte, )
	,  := .MarshalToSizedBuffer([:])
	if  != nil {
		return nil, 
	}
	return [:], nil
}

func ( *TraceEvent_Leave) ( []byte) (int, error) {
	 := .Size()
	return .MarshalToSizedBuffer([:])
}

func ( *TraceEvent_Leave) ( []byte) (int, error) {
	 := len()
	_ = 
	var  int
	_ = 
	if .XXX_unrecognized != nil {
		 -= len(.XXX_unrecognized)
		copy([:], .XXX_unrecognized)
	}
	if .Topic != nil {
		 -= len(*.Topic)
		copy([:], *.Topic)
		 = encodeVarintTrace(, , uint64(len(*.Topic)))
		--
		[] = 0x12
	}
	return len() - , nil
}

func ( *TraceEvent_Graft) () ( []byte,  error) {
	 := .Size()
	 = make([]byte, )
	,  := .MarshalToSizedBuffer([:])
	if  != nil {
		return nil, 
	}
	return [:], nil
}

func ( *TraceEvent_Graft) ( []byte) (int, error) {
	 := .Size()
	return .MarshalToSizedBuffer([:])
}

func ( *TraceEvent_Graft) ( []byte) (int, error) {
	 := len()
	_ = 
	var  int
	_ = 
	if .XXX_unrecognized != nil {
		 -= len(.XXX_unrecognized)
		copy([:], .XXX_unrecognized)
	}
	if .Topic != nil {
		 -= len(*.Topic)
		copy([:], *.Topic)
		 = encodeVarintTrace(, , uint64(len(*.Topic)))
		--
		[] = 0x12
	}
	if .PeerID != nil {
		 -= len(.PeerID)
		copy([:], .PeerID)
		 = encodeVarintTrace(, , uint64(len(.PeerID)))
		--
		[] = 0xa
	}
	return len() - , nil
}

func ( *TraceEvent_Prune) () ( []byte,  error) {
	 := .Size()
	 = make([]byte, )
	,  := .MarshalToSizedBuffer([:])
	if  != nil {
		return nil, 
	}
	return [:], nil
}

func ( *TraceEvent_Prune) ( []byte) (int, error) {
	 := .Size()
	return .MarshalToSizedBuffer([:])
}

func ( *TraceEvent_Prune) ( []byte) (int, error) {
	 := len()
	_ = 
	var  int
	_ = 
	if .XXX_unrecognized != nil {
		 -= len(.XXX_unrecognized)
		copy([:], .XXX_unrecognized)
	}
	if .Topic != nil {
		 -= len(*.Topic)
		copy([:], *.Topic)
		 = encodeVarintTrace(, , uint64(len(*.Topic)))
		--
		[] = 0x12
	}
	if .PeerID != nil {
		 -= len(.PeerID)
		copy([:], .PeerID)
		 = encodeVarintTrace(, , uint64(len(.PeerID)))
		--
		[] = 0xa
	}
	return len() - , nil
}

func ( *TraceEvent_RPCMeta) () ( []byte,  error) {
	 := .Size()
	 = make([]byte, )
	,  := .MarshalToSizedBuffer([:])
	if  != nil {
		return nil, 
	}
	return [:], nil
}

func ( *TraceEvent_RPCMeta) ( []byte) (int, error) {
	 := .Size()
	return .MarshalToSizedBuffer([:])
}

func ( *TraceEvent_RPCMeta) ( []byte) (int, error) {
	 := len()
	_ = 
	var  int
	_ = 
	if .XXX_unrecognized != nil {
		 -= len(.XXX_unrecognized)
		copy([:], .XXX_unrecognized)
	}
	if .Control != nil {
		{
			,  := .Control.MarshalToSizedBuffer([:])
			if  != nil {
				return 0, 
			}
			 -= 
			 = encodeVarintTrace(, , uint64())
		}
		--
		[] = 0x1a
	}
	if len(.Subscription) > 0 {
		for  := len(.Subscription) - 1;  >= 0; -- {
			{
				,  := .Subscription[].MarshalToSizedBuffer([:])
				if  != nil {
					return 0, 
				}
				 -= 
				 = encodeVarintTrace(, , uint64())
			}
			--
			[] = 0x12
		}
	}
	if len(.Messages) > 0 {
		for  := len(.Messages) - 1;  >= 0; -- {
			{
				,  := .Messages[].MarshalToSizedBuffer([:])
				if  != nil {
					return 0, 
				}
				 -= 
				 = encodeVarintTrace(, , uint64())
			}
			--
			[] = 0xa
		}
	}
	return len() - , nil
}

func ( *TraceEvent_MessageMeta) () ( []byte,  error) {
	 := .Size()
	 = make([]byte, )
	,  := .MarshalToSizedBuffer([:])
	if  != nil {
		return nil, 
	}
	return [:], nil
}

func ( *TraceEvent_MessageMeta) ( []byte) (int, error) {
	 := .Size()
	return .MarshalToSizedBuffer([:])
}

func ( *TraceEvent_MessageMeta) ( []byte) (int, error) {
	 := len()
	_ = 
	var  int
	_ = 
	if .XXX_unrecognized != nil {
		 -= len(.XXX_unrecognized)
		copy([:], .XXX_unrecognized)
	}
	if .Topic != nil {
		 -= len(*.Topic)
		copy([:], *.Topic)
		 = encodeVarintTrace(, , uint64(len(*.Topic)))
		--
		[] = 0x12
	}
	if .MessageID != nil {
		 -= len(.MessageID)
		copy([:], .MessageID)
		 = encodeVarintTrace(, , uint64(len(.MessageID)))
		--
		[] = 0xa
	}
	return len() - , nil
}

func ( *TraceEvent_SubMeta) () ( []byte,  error) {
	 := .Size()
	 = make([]byte, )
	,  := .MarshalToSizedBuffer([:])
	if  != nil {
		return nil, 
	}
	return [:], nil
}

func ( *TraceEvent_SubMeta) ( []byte) (int, error) {
	 := .Size()
	return .MarshalToSizedBuffer([:])
}

func ( *TraceEvent_SubMeta) ( []byte) (int, error) {
	 := len()
	_ = 
	var  int
	_ = 
	if .XXX_unrecognized != nil {
		 -= len(.XXX_unrecognized)
		copy([:], .XXX_unrecognized)
	}
	if .Topic != nil {
		 -= len(*.Topic)
		copy([:], *.Topic)
		 = encodeVarintTrace(, , uint64(len(*.Topic)))
		--
		[] = 0x12
	}
	if .Subscribe != nil {
		--
		if *.Subscribe {
			[] = 1
		} else {
			[] = 0
		}
		--
		[] = 0x8
	}
	return len() - , nil
}

func ( *TraceEvent_ControlMeta) () ( []byte,  error) {
	 := .Size()
	 = make([]byte, )
	,  := .MarshalToSizedBuffer([:])
	if  != nil {
		return nil, 
	}
	return [:], nil
}

func ( *TraceEvent_ControlMeta) ( []byte) (int, error) {
	 := .Size()
	return .MarshalToSizedBuffer([:])
}

func ( *TraceEvent_ControlMeta) ( []byte) (int, error) {
	 := len()
	_ = 
	var  int
	_ = 
	if .XXX_unrecognized != nil {
		 -= len(.XXX_unrecognized)
		copy([:], .XXX_unrecognized)
	}
	if len(.Idontwant) > 0 {
		for  := len(.Idontwant) - 1;  >= 0; -- {
			{
				,  := .Idontwant[].MarshalToSizedBuffer([:])
				if  != nil {
					return 0, 
				}
				 -= 
				 = encodeVarintTrace(, , uint64())
			}
			--
			[] = 0x2a
		}
	}
	if len(.Prune) > 0 {
		for  := len(.Prune) - 1;  >= 0; -- {
			{
				,  := .Prune[].MarshalToSizedBuffer([:])
				if  != nil {
					return 0, 
				}
				 -= 
				 = encodeVarintTrace(, , uint64())
			}
			--
			[] = 0x22
		}
	}
	if len(.Graft) > 0 {
		for  := len(.Graft) - 1;  >= 0; -- {
			{
				,  := .Graft[].MarshalToSizedBuffer([:])
				if  != nil {
					return 0, 
				}
				 -= 
				 = encodeVarintTrace(, , uint64())
			}
			--
			[] = 0x1a
		}
	}
	if len(.Iwant) > 0 {
		for  := len(.Iwant) - 1;  >= 0; -- {
			{
				,  := .Iwant[].MarshalToSizedBuffer([:])
				if  != nil {
					return 0, 
				}
				 -= 
				 = encodeVarintTrace(, , uint64())
			}
			--
			[] = 0x12
		}
	}
	if len(.Ihave) > 0 {
		for  := len(.Ihave) - 1;  >= 0; -- {
			{
				,  := .Ihave[].MarshalToSizedBuffer([:])
				if  != nil {
					return 0, 
				}
				 -= 
				 = encodeVarintTrace(, , uint64())
			}
			--
			[] = 0xa
		}
	}
	return len() - , nil
}

func ( *TraceEvent_ControlIHaveMeta) () ( []byte,  error) {
	 := .Size()
	 = make([]byte, )
	,  := .MarshalToSizedBuffer([:])
	if  != nil {
		return nil, 
	}
	return [:], nil
}

func ( *TraceEvent_ControlIHaveMeta) ( []byte) (int, error) {
	 := .Size()
	return .MarshalToSizedBuffer([:])
}

func ( *TraceEvent_ControlIHaveMeta) ( []byte) (int, error) {
	 := len()
	_ = 
	var  int
	_ = 
	if .XXX_unrecognized != nil {
		 -= len(.XXX_unrecognized)
		copy([:], .XXX_unrecognized)
	}
	if len(.MessageIDs) > 0 {
		for  := len(.MessageIDs) - 1;  >= 0; -- {
			 -= len(.MessageIDs[])
			copy([:], .MessageIDs[])
			 = encodeVarintTrace(, , uint64(len(.MessageIDs[])))
			--
			[] = 0x12
		}
	}
	if .Topic != nil {
		 -= len(*.Topic)
		copy([:], *.Topic)
		 = encodeVarintTrace(, , uint64(len(*.Topic)))
		--
		[] = 0xa
	}
	return len() - , nil
}

func ( *TraceEvent_ControlIWantMeta) () ( []byte,  error) {
	 := .Size()
	 = make([]byte, )
	,  := .MarshalToSizedBuffer([:])
	if  != nil {
		return nil, 
	}
	return [:], nil
}

func ( *TraceEvent_ControlIWantMeta) ( []byte) (int, error) {
	 := .Size()
	return .MarshalToSizedBuffer([:])
}

func ( *TraceEvent_ControlIWantMeta) ( []byte) (int, error) {
	 := len()
	_ = 
	var  int
	_ = 
	if .XXX_unrecognized != nil {
		 -= len(.XXX_unrecognized)
		copy([:], .XXX_unrecognized)
	}
	if len(.MessageIDs) > 0 {
		for  := len(.MessageIDs) - 1;  >= 0; -- {
			 -= len(.MessageIDs[])
			copy([:], .MessageIDs[])
			 = encodeVarintTrace(, , uint64(len(.MessageIDs[])))
			--
			[] = 0xa
		}
	}
	return len() - , nil
}

func ( *TraceEvent_ControlGraftMeta) () ( []byte,  error) {
	 := .Size()
	 = make([]byte, )
	,  := .MarshalToSizedBuffer([:])
	if  != nil {
		return nil, 
	}
	return [:], nil
}

func ( *TraceEvent_ControlGraftMeta) ( []byte) (int, error) {
	 := .Size()
	return .MarshalToSizedBuffer([:])
}

func ( *TraceEvent_ControlGraftMeta) ( []byte) (int, error) {
	 := len()
	_ = 
	var  int
	_ = 
	if .XXX_unrecognized != nil {
		 -= len(.XXX_unrecognized)
		copy([:], .XXX_unrecognized)
	}
	if .Topic != nil {
		 -= len(*.Topic)
		copy([:], *.Topic)
		 = encodeVarintTrace(, , uint64(len(*.Topic)))
		--
		[] = 0xa
	}
	return len() - , nil
}

func ( *TraceEvent_ControlPruneMeta) () ( []byte,  error) {
	 := .Size()
	 = make([]byte, )
	,  := .MarshalToSizedBuffer([:])
	if  != nil {
		return nil, 
	}
	return [:], nil
}

func ( *TraceEvent_ControlPruneMeta) ( []byte) (int, error) {
	 := .Size()
	return .MarshalToSizedBuffer([:])
}

func ( *TraceEvent_ControlPruneMeta) ( []byte) (int, error) {
	 := len()
	_ = 
	var  int
	_ = 
	if .XXX_unrecognized != nil {
		 -= len(.XXX_unrecognized)
		copy([:], .XXX_unrecognized)
	}
	if len(.Peers) > 0 {
		for  := len(.Peers) - 1;  >= 0; -- {
			 -= len(.Peers[])
			copy([:], .Peers[])
			 = encodeVarintTrace(, , uint64(len(.Peers[])))
			--
			[] = 0x12
		}
	}
	if .Topic != nil {
		 -= len(*.Topic)
		copy([:], *.Topic)
		 = encodeVarintTrace(, , uint64(len(*.Topic)))
		--
		[] = 0xa
	}
	return len() - , nil
}

func ( *TraceEvent_ControlIDontWantMeta) () ( []byte,  error) {
	 := .Size()
	 = make([]byte, )
	,  := .MarshalToSizedBuffer([:])
	if  != nil {
		return nil, 
	}
	return [:], nil
}

func ( *TraceEvent_ControlIDontWantMeta) ( []byte) (int, error) {
	 := .Size()
	return .MarshalToSizedBuffer([:])
}

func ( *TraceEvent_ControlIDontWantMeta) ( []byte) (int, error) {
	 := len()
	_ = 
	var  int
	_ = 
	if .XXX_unrecognized != nil {
		 -= len(.XXX_unrecognized)
		copy([:], .XXX_unrecognized)
	}
	if len(.MessageIDs) > 0 {
		for  := len(.MessageIDs) - 1;  >= 0; -- {
			 -= len(.MessageIDs[])
			copy([:], .MessageIDs[])
			 = encodeVarintTrace(, , uint64(len(.MessageIDs[])))
			--
			[] = 0xa
		}
	}
	return len() - , nil
}

func ( *TraceEventBatch) () ( []byte,  error) {
	 := .Size()
	 = make([]byte, )
	,  := .MarshalToSizedBuffer([:])
	if  != nil {
		return nil, 
	}
	return [:], nil
}

func ( *TraceEventBatch) ( []byte) (int, error) {
	 := .Size()
	return .MarshalToSizedBuffer([:])
}

func ( *TraceEventBatch) ( []byte) (int, error) {
	 := len()
	_ = 
	var  int
	_ = 
	if .XXX_unrecognized != nil {
		 -= len(.XXX_unrecognized)
		copy([:], .XXX_unrecognized)
	}
	if len(.Batch) > 0 {
		for  := len(.Batch) - 1;  >= 0; -- {
			{
				,  := .Batch[].MarshalToSizedBuffer([:])
				if  != nil {
					return 0, 
				}
				 -= 
				 = encodeVarintTrace(, , uint64())
			}
			--
			[] = 0xa
		}
	}
	return len() - , nil
}

func encodeVarintTrace( []byte,  int,  uint64) int {
	 -= sovTrace()
	 := 
	for  >= 1<<7 {
		[] = uint8(&0x7f | 0x80)
		 >>= 7
		++
	}
	[] = uint8()
	return 
}
func ( *TraceEvent) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	if .Type != nil {
		 += 1 + sovTrace(uint64(*.Type))
	}
	if .PeerID != nil {
		 = len(.PeerID)
		 += 1 +  + sovTrace(uint64())
	}
	if .Timestamp != nil {
		 += 1 + sovTrace(uint64(*.Timestamp))
	}
	if .PublishMessage != nil {
		 = .PublishMessage.Size()
		 += 1 +  + sovTrace(uint64())
	}
	if .RejectMessage != nil {
		 = .RejectMessage.Size()
		 += 1 +  + sovTrace(uint64())
	}
	if .DuplicateMessage != nil {
		 = .DuplicateMessage.Size()
		 += 1 +  + sovTrace(uint64())
	}
	if .DeliverMessage != nil {
		 = .DeliverMessage.Size()
		 += 1 +  + sovTrace(uint64())
	}
	if .AddPeer != nil {
		 = .AddPeer.Size()
		 += 1 +  + sovTrace(uint64())
	}
	if .RemovePeer != nil {
		 = .RemovePeer.Size()
		 += 1 +  + sovTrace(uint64())
	}
	if .RecvRPC != nil {
		 = .RecvRPC.Size()
		 += 1 +  + sovTrace(uint64())
	}
	if .SendRPC != nil {
		 = .SendRPC.Size()
		 += 1 +  + sovTrace(uint64())
	}
	if .DropRPC != nil {
		 = .DropRPC.Size()
		 += 1 +  + sovTrace(uint64())
	}
	if .Join != nil {
		 = .Join.Size()
		 += 1 +  + sovTrace(uint64())
	}
	if .Leave != nil {
		 = .Leave.Size()
		 += 1 +  + sovTrace(uint64())
	}
	if .Graft != nil {
		 = .Graft.Size()
		 += 1 +  + sovTrace(uint64())
	}
	if .Prune != nil {
		 = .Prune.Size()
		 += 2 +  + sovTrace(uint64())
	}
	if .XXX_unrecognized != nil {
		 += len(.XXX_unrecognized)
	}
	return 
}

func ( *TraceEvent_PublishMessage) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	if .MessageID != nil {
		 = len(.MessageID)
		 += 1 +  + sovTrace(uint64())
	}
	if .Topic != nil {
		 = len(*.Topic)
		 += 1 +  + sovTrace(uint64())
	}
	if .XXX_unrecognized != nil {
		 += len(.XXX_unrecognized)
	}
	return 
}

func ( *TraceEvent_RejectMessage) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	if .MessageID != nil {
		 = len(.MessageID)
		 += 1 +  + sovTrace(uint64())
	}
	if .ReceivedFrom != nil {
		 = len(.ReceivedFrom)
		 += 1 +  + sovTrace(uint64())
	}
	if .Reason != nil {
		 = len(*.Reason)
		 += 1 +  + sovTrace(uint64())
	}
	if .Topic != nil {
		 = len(*.Topic)
		 += 1 +  + sovTrace(uint64())
	}
	if .XXX_unrecognized != nil {
		 += len(.XXX_unrecognized)
	}
	return 
}

func ( *TraceEvent_DuplicateMessage) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	if .MessageID != nil {
		 = len(.MessageID)
		 += 1 +  + sovTrace(uint64())
	}
	if .ReceivedFrom != nil {
		 = len(.ReceivedFrom)
		 += 1 +  + sovTrace(uint64())
	}
	if .Topic != nil {
		 = len(*.Topic)
		 += 1 +  + sovTrace(uint64())
	}
	if .XXX_unrecognized != nil {
		 += len(.XXX_unrecognized)
	}
	return 
}

func ( *TraceEvent_DeliverMessage) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	if .MessageID != nil {
		 = len(.MessageID)
		 += 1 +  + sovTrace(uint64())
	}
	if .Topic != nil {
		 = len(*.Topic)
		 += 1 +  + sovTrace(uint64())
	}
	if .ReceivedFrom != nil {
		 = len(.ReceivedFrom)
		 += 1 +  + sovTrace(uint64())
	}
	if .XXX_unrecognized != nil {
		 += len(.XXX_unrecognized)
	}
	return 
}

func ( *TraceEvent_AddPeer) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	if .PeerID != nil {
		 = len(.PeerID)
		 += 1 +  + sovTrace(uint64())
	}
	if .Proto != nil {
		 = len(*.Proto)
		 += 1 +  + sovTrace(uint64())
	}
	if .XXX_unrecognized != nil {
		 += len(.XXX_unrecognized)
	}
	return 
}

func ( *TraceEvent_RemovePeer) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	if .PeerID != nil {
		 = len(.PeerID)
		 += 1 +  + sovTrace(uint64())
	}
	if .XXX_unrecognized != nil {
		 += len(.XXX_unrecognized)
	}
	return 
}

func ( *TraceEvent_RecvRPC) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	if .ReceivedFrom != nil {
		 = len(.ReceivedFrom)
		 += 1 +  + sovTrace(uint64())
	}
	if .Meta != nil {
		 = .Meta.Size()
		 += 1 +  + sovTrace(uint64())
	}
	if .XXX_unrecognized != nil {
		 += len(.XXX_unrecognized)
	}
	return 
}

func ( *TraceEvent_SendRPC) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	if .SendTo != nil {
		 = len(.SendTo)
		 += 1 +  + sovTrace(uint64())
	}
	if .Meta != nil {
		 = .Meta.Size()
		 += 1 +  + sovTrace(uint64())
	}
	if .XXX_unrecognized != nil {
		 += len(.XXX_unrecognized)
	}
	return 
}

func ( *TraceEvent_DropRPC) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	if .SendTo != nil {
		 = len(.SendTo)
		 += 1 +  + sovTrace(uint64())
	}
	if .Meta != nil {
		 = .Meta.Size()
		 += 1 +  + sovTrace(uint64())
	}
	if .XXX_unrecognized != nil {
		 += len(.XXX_unrecognized)
	}
	return 
}

func ( *TraceEvent_Join) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	if .Topic != nil {
		 = len(*.Topic)
		 += 1 +  + sovTrace(uint64())
	}
	if .XXX_unrecognized != nil {
		 += len(.XXX_unrecognized)
	}
	return 
}

func ( *TraceEvent_Leave) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	if .Topic != nil {
		 = len(*.Topic)
		 += 1 +  + sovTrace(uint64())
	}
	if .XXX_unrecognized != nil {
		 += len(.XXX_unrecognized)
	}
	return 
}

func ( *TraceEvent_Graft) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	if .PeerID != nil {
		 = len(.PeerID)
		 += 1 +  + sovTrace(uint64())
	}
	if .Topic != nil {
		 = len(*.Topic)
		 += 1 +  + sovTrace(uint64())
	}
	if .XXX_unrecognized != nil {
		 += len(.XXX_unrecognized)
	}
	return 
}

func ( *TraceEvent_Prune) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	if .PeerID != nil {
		 = len(.PeerID)
		 += 1 +  + sovTrace(uint64())
	}
	if .Topic != nil {
		 = len(*.Topic)
		 += 1 +  + sovTrace(uint64())
	}
	if .XXX_unrecognized != nil {
		 += len(.XXX_unrecognized)
	}
	return 
}

func ( *TraceEvent_RPCMeta) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	if len(.Messages) > 0 {
		for ,  := range .Messages {
			 = .Size()
			 += 1 +  + sovTrace(uint64())
		}
	}
	if len(.Subscription) > 0 {
		for ,  := range .Subscription {
			 = .Size()
			 += 1 +  + sovTrace(uint64())
		}
	}
	if .Control != nil {
		 = .Control.Size()
		 += 1 +  + sovTrace(uint64())
	}
	if .XXX_unrecognized != nil {
		 += len(.XXX_unrecognized)
	}
	return 
}

func ( *TraceEvent_MessageMeta) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	if .MessageID != nil {
		 = len(.MessageID)
		 += 1 +  + sovTrace(uint64())
	}
	if .Topic != nil {
		 = len(*.Topic)
		 += 1 +  + sovTrace(uint64())
	}
	if .XXX_unrecognized != nil {
		 += len(.XXX_unrecognized)
	}
	return 
}

func ( *TraceEvent_SubMeta) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	if .Subscribe != nil {
		 += 2
	}
	if .Topic != nil {
		 = len(*.Topic)
		 += 1 +  + sovTrace(uint64())
	}
	if .XXX_unrecognized != nil {
		 += len(.XXX_unrecognized)
	}
	return 
}

func ( *TraceEvent_ControlMeta) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	if len(.Ihave) > 0 {
		for ,  := range .Ihave {
			 = .Size()
			 += 1 +  + sovTrace(uint64())
		}
	}
	if len(.Iwant) > 0 {
		for ,  := range .Iwant {
			 = .Size()
			 += 1 +  + sovTrace(uint64())
		}
	}
	if len(.Graft) > 0 {
		for ,  := range .Graft {
			 = .Size()
			 += 1 +  + sovTrace(uint64())
		}
	}
	if len(.Prune) > 0 {
		for ,  := range .Prune {
			 = .Size()
			 += 1 +  + sovTrace(uint64())
		}
	}
	if len(.Idontwant) > 0 {
		for ,  := range .Idontwant {
			 = .Size()
			 += 1 +  + sovTrace(uint64())
		}
	}
	if .XXX_unrecognized != nil {
		 += len(.XXX_unrecognized)
	}
	return 
}

func ( *TraceEvent_ControlIHaveMeta) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	if .Topic != nil {
		 = len(*.Topic)
		 += 1 +  + sovTrace(uint64())
	}
	if len(.MessageIDs) > 0 {
		for ,  := range .MessageIDs {
			 = len()
			 += 1 +  + sovTrace(uint64())
		}
	}
	if .XXX_unrecognized != nil {
		 += len(.XXX_unrecognized)
	}
	return 
}

func ( *TraceEvent_ControlIWantMeta) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	if len(.MessageIDs) > 0 {
		for ,  := range .MessageIDs {
			 = len()
			 += 1 +  + sovTrace(uint64())
		}
	}
	if .XXX_unrecognized != nil {
		 += len(.XXX_unrecognized)
	}
	return 
}

func ( *TraceEvent_ControlGraftMeta) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	if .Topic != nil {
		 = len(*.Topic)
		 += 1 +  + sovTrace(uint64())
	}
	if .XXX_unrecognized != nil {
		 += len(.XXX_unrecognized)
	}
	return 
}

func ( *TraceEvent_ControlPruneMeta) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	if .Topic != nil {
		 = len(*.Topic)
		 += 1 +  + sovTrace(uint64())
	}
	if len(.Peers) > 0 {
		for ,  := range .Peers {
			 = len()
			 += 1 +  + sovTrace(uint64())
		}
	}
	if .XXX_unrecognized != nil {
		 += len(.XXX_unrecognized)
	}
	return 
}

func ( *TraceEvent_ControlIDontWantMeta) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	if len(.MessageIDs) > 0 {
		for ,  := range .MessageIDs {
			 = len()
			 += 1 +  + sovTrace(uint64())
		}
	}
	if .XXX_unrecognized != nil {
		 += len(.XXX_unrecognized)
	}
	return 
}

func ( *TraceEventBatch) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	if len(.Batch) > 0 {
		for ,  := range .Batch {
			 = .Size()
			 += 1 +  + sovTrace(uint64())
		}
	}
	if .XXX_unrecognized != nil {
		 += len(.XXX_unrecognized)
	}
	return 
}

func sovTrace( uint64) ( int) {
	return (math_bits.Len64(|1) + 6) / 7
}
func sozTrace( uint64) ( int) {
	return sovTrace(uint64(( << 1) ^ uint64((int64() >> 63))))
}
func ( *TraceEvent) ( []byte) error {
	 := len()
	 := 0
	for  <  {
		 := 
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return ErrIntOverflowTrace
			}
			if  >=  {
				return io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= uint64(&0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int32( >> 3)
		 := int( & 0x7)
		if  == 4 {
			return fmt.Errorf("proto: TraceEvent: wiretype end group for non-group")
		}
		if  <= 0 {
			return fmt.Errorf("proto: TraceEvent: illegal tag %d (wire type %d)", , )
		}
		switch  {
		case 1:
			if  != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Type", )
			}
			var  TraceEvent_Type
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= TraceEvent_Type(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			.Type = &
		case 2:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field PeerID", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.PeerID = append(.PeerID[:0], [:]...)
			if .PeerID == nil {
				.PeerID = []byte{}
			}
			 = 
		case 3:
			if  != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", )
			}
			var  int64
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int64(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			.Timestamp = &
		case 4:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field PublishMessage", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			if .PublishMessage == nil {
				.PublishMessage = &TraceEvent_PublishMessage{}
			}
			if  := .PublishMessage.Unmarshal([:]);  != nil {
				return 
			}
			 = 
		case 5:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field RejectMessage", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			if .RejectMessage == nil {
				.RejectMessage = &TraceEvent_RejectMessage{}
			}
			if  := .RejectMessage.Unmarshal([:]);  != nil {
				return 
			}
			 = 
		case 6:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field DuplicateMessage", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			if .DuplicateMessage == nil {
				.DuplicateMessage = &TraceEvent_DuplicateMessage{}
			}
			if  := .DuplicateMessage.Unmarshal([:]);  != nil {
				return 
			}
			 = 
		case 7:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field DeliverMessage", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			if .DeliverMessage == nil {
				.DeliverMessage = &TraceEvent_DeliverMessage{}
			}
			if  := .DeliverMessage.Unmarshal([:]);  != nil {
				return 
			}
			 = 
		case 8:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field AddPeer", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			if .AddPeer == nil {
				.AddPeer = &TraceEvent_AddPeer{}
			}
			if  := .AddPeer.Unmarshal([:]);  != nil {
				return 
			}
			 = 
		case 9:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field RemovePeer", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			if .RemovePeer == nil {
				.RemovePeer = &TraceEvent_RemovePeer{}
			}
			if  := .RemovePeer.Unmarshal([:]);  != nil {
				return 
			}
			 = 
		case 10:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field RecvRPC", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			if .RecvRPC == nil {
				.RecvRPC = &TraceEvent_RecvRPC{}
			}
			if  := .RecvRPC.Unmarshal([:]);  != nil {
				return 
			}
			 = 
		case 11:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field SendRPC", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			if .SendRPC == nil {
				.SendRPC = &TraceEvent_SendRPC{}
			}
			if  := .SendRPC.Unmarshal([:]);  != nil {
				return 
			}
			 = 
		case 12:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field DropRPC", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			if .DropRPC == nil {
				.DropRPC = &TraceEvent_DropRPC{}
			}
			if  := .DropRPC.Unmarshal([:]);  != nil {
				return 
			}
			 = 
		case 13:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Join", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			if .Join == nil {
				.Join = &TraceEvent_Join{}
			}
			if  := .Join.Unmarshal([:]);  != nil {
				return 
			}
			 = 
		case 14:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Leave", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			if .Leave == nil {
				.Leave = &TraceEvent_Leave{}
			}
			if  := .Leave.Unmarshal([:]);  != nil {
				return 
			}
			 = 
		case 15:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Graft", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			if .Graft == nil {
				.Graft = &TraceEvent_Graft{}
			}
			if  := .Graft.Unmarshal([:]);  != nil {
				return 
			}
			 = 
		case 16:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Prune", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			if .Prune == nil {
				.Prune = &TraceEvent_Prune{}
			}
			if  := .Prune.Unmarshal([:]);  != nil {
				return 
			}
			 = 
		default:
			 = 
			,  := skipTrace([:])
			if  != nil {
				return 
			}
			if ( < 0) || (+) < 0 {
				return ErrInvalidLengthTrace
			}
			if ( + ) >  {
				return io.ErrUnexpectedEOF
			}
			.XXX_unrecognized = append(.XXX_unrecognized, [:+]...)
			 += 
		}
	}

	if  >  {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func ( *TraceEvent_PublishMessage) ( []byte) error {
	 := len()
	 := 0
	for  <  {
		 := 
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return ErrIntOverflowTrace
			}
			if  >=  {
				return io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= uint64(&0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int32( >> 3)
		 := int( & 0x7)
		if  == 4 {
			return fmt.Errorf("proto: PublishMessage: wiretype end group for non-group")
		}
		if  <= 0 {
			return fmt.Errorf("proto: PublishMessage: illegal tag %d (wire type %d)", , )
		}
		switch  {
		case 1:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field MessageID", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.MessageID = append(.MessageID[:0], [:]...)
			if .MessageID == nil {
				.MessageID = []byte{}
			}
			 = 
		case 2:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Topic", )
			}
			var  uint64
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= uint64(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			 := int()
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			 := string([:])
			.Topic = &
			 = 
		default:
			 = 
			,  := skipTrace([:])
			if  != nil {
				return 
			}
			if ( < 0) || (+) < 0 {
				return ErrInvalidLengthTrace
			}
			if ( + ) >  {
				return io.ErrUnexpectedEOF
			}
			.XXX_unrecognized = append(.XXX_unrecognized, [:+]...)
			 += 
		}
	}

	if  >  {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func ( *TraceEvent_RejectMessage) ( []byte) error {
	 := len()
	 := 0
	for  <  {
		 := 
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return ErrIntOverflowTrace
			}
			if  >=  {
				return io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= uint64(&0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int32( >> 3)
		 := int( & 0x7)
		if  == 4 {
			return fmt.Errorf("proto: RejectMessage: wiretype end group for non-group")
		}
		if  <= 0 {
			return fmt.Errorf("proto: RejectMessage: illegal tag %d (wire type %d)", , )
		}
		switch  {
		case 1:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field MessageID", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.MessageID = append(.MessageID[:0], [:]...)
			if .MessageID == nil {
				.MessageID = []byte{}
			}
			 = 
		case 2:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ReceivedFrom", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.ReceivedFrom = append(.ReceivedFrom[:0], [:]...)
			if .ReceivedFrom == nil {
				.ReceivedFrom = []byte{}
			}
			 = 
		case 3:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Reason", )
			}
			var  uint64
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= uint64(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			 := int()
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			 := string([:])
			.Reason = &
			 = 
		case 4:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Topic", )
			}
			var  uint64
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= uint64(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			 := int()
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			 := string([:])
			.Topic = &
			 = 
		default:
			 = 
			,  := skipTrace([:])
			if  != nil {
				return 
			}
			if ( < 0) || (+) < 0 {
				return ErrInvalidLengthTrace
			}
			if ( + ) >  {
				return io.ErrUnexpectedEOF
			}
			.XXX_unrecognized = append(.XXX_unrecognized, [:+]...)
			 += 
		}
	}

	if  >  {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func ( *TraceEvent_DuplicateMessage) ( []byte) error {
	 := len()
	 := 0
	for  <  {
		 := 
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return ErrIntOverflowTrace
			}
			if  >=  {
				return io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= uint64(&0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int32( >> 3)
		 := int( & 0x7)
		if  == 4 {
			return fmt.Errorf("proto: DuplicateMessage: wiretype end group for non-group")
		}
		if  <= 0 {
			return fmt.Errorf("proto: DuplicateMessage: illegal tag %d (wire type %d)", , )
		}
		switch  {
		case 1:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field MessageID", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.MessageID = append(.MessageID[:0], [:]...)
			if .MessageID == nil {
				.MessageID = []byte{}
			}
			 = 
		case 2:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ReceivedFrom", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.ReceivedFrom = append(.ReceivedFrom[:0], [:]...)
			if .ReceivedFrom == nil {
				.ReceivedFrom = []byte{}
			}
			 = 
		case 3:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Topic", )
			}
			var  uint64
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= uint64(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			 := int()
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			 := string([:])
			.Topic = &
			 = 
		default:
			 = 
			,  := skipTrace([:])
			if  != nil {
				return 
			}
			if ( < 0) || (+) < 0 {
				return ErrInvalidLengthTrace
			}
			if ( + ) >  {
				return io.ErrUnexpectedEOF
			}
			.XXX_unrecognized = append(.XXX_unrecognized, [:+]...)
			 += 
		}
	}

	if  >  {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func ( *TraceEvent_DeliverMessage) ( []byte) error {
	 := len()
	 := 0
	for  <  {
		 := 
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return ErrIntOverflowTrace
			}
			if  >=  {
				return io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= uint64(&0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int32( >> 3)
		 := int( & 0x7)
		if  == 4 {
			return fmt.Errorf("proto: DeliverMessage: wiretype end group for non-group")
		}
		if  <= 0 {
			return fmt.Errorf("proto: DeliverMessage: illegal tag %d (wire type %d)", , )
		}
		switch  {
		case 1:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field MessageID", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.MessageID = append(.MessageID[:0], [:]...)
			if .MessageID == nil {
				.MessageID = []byte{}
			}
			 = 
		case 2:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Topic", )
			}
			var  uint64
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= uint64(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			 := int()
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			 := string([:])
			.Topic = &
			 = 
		case 3:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ReceivedFrom", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.ReceivedFrom = append(.ReceivedFrom[:0], [:]...)
			if .ReceivedFrom == nil {
				.ReceivedFrom = []byte{}
			}
			 = 
		default:
			 = 
			,  := skipTrace([:])
			if  != nil {
				return 
			}
			if ( < 0) || (+) < 0 {
				return ErrInvalidLengthTrace
			}
			if ( + ) >  {
				return io.ErrUnexpectedEOF
			}
			.XXX_unrecognized = append(.XXX_unrecognized, [:+]...)
			 += 
		}
	}

	if  >  {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func ( *TraceEvent_AddPeer) ( []byte) error {
	 := len()
	 := 0
	for  <  {
		 := 
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return ErrIntOverflowTrace
			}
			if  >=  {
				return io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= uint64(&0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int32( >> 3)
		 := int( & 0x7)
		if  == 4 {
			return fmt.Errorf("proto: AddPeer: wiretype end group for non-group")
		}
		if  <= 0 {
			return fmt.Errorf("proto: AddPeer: illegal tag %d (wire type %d)", , )
		}
		switch  {
		case 1:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field PeerID", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.PeerID = append(.PeerID[:0], [:]...)
			if .PeerID == nil {
				.PeerID = []byte{}
			}
			 = 
		case 2:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Proto", )
			}
			var  uint64
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= uint64(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			 := int()
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			 := string([:])
			.Proto = &
			 = 
		default:
			 = 
			,  := skipTrace([:])
			if  != nil {
				return 
			}
			if ( < 0) || (+) < 0 {
				return ErrInvalidLengthTrace
			}
			if ( + ) >  {
				return io.ErrUnexpectedEOF
			}
			.XXX_unrecognized = append(.XXX_unrecognized, [:+]...)
			 += 
		}
	}

	if  >  {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func ( *TraceEvent_RemovePeer) ( []byte) error {
	 := len()
	 := 0
	for  <  {
		 := 
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return ErrIntOverflowTrace
			}
			if  >=  {
				return io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= uint64(&0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int32( >> 3)
		 := int( & 0x7)
		if  == 4 {
			return fmt.Errorf("proto: RemovePeer: wiretype end group for non-group")
		}
		if  <= 0 {
			return fmt.Errorf("proto: RemovePeer: illegal tag %d (wire type %d)", , )
		}
		switch  {
		case 1:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field PeerID", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.PeerID = append(.PeerID[:0], [:]...)
			if .PeerID == nil {
				.PeerID = []byte{}
			}
			 = 
		default:
			 = 
			,  := skipTrace([:])
			if  != nil {
				return 
			}
			if ( < 0) || (+) < 0 {
				return ErrInvalidLengthTrace
			}
			if ( + ) >  {
				return io.ErrUnexpectedEOF
			}
			.XXX_unrecognized = append(.XXX_unrecognized, [:+]...)
			 += 
		}
	}

	if  >  {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func ( *TraceEvent_RecvRPC) ( []byte) error {
	 := len()
	 := 0
	for  <  {
		 := 
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return ErrIntOverflowTrace
			}
			if  >=  {
				return io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= uint64(&0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int32( >> 3)
		 := int( & 0x7)
		if  == 4 {
			return fmt.Errorf("proto: RecvRPC: wiretype end group for non-group")
		}
		if  <= 0 {
			return fmt.Errorf("proto: RecvRPC: illegal tag %d (wire type %d)", , )
		}
		switch  {
		case 1:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ReceivedFrom", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.ReceivedFrom = append(.ReceivedFrom[:0], [:]...)
			if .ReceivedFrom == nil {
				.ReceivedFrom = []byte{}
			}
			 = 
		case 2:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Meta", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			if .Meta == nil {
				.Meta = &TraceEvent_RPCMeta{}
			}
			if  := .Meta.Unmarshal([:]);  != nil {
				return 
			}
			 = 
		default:
			 = 
			,  := skipTrace([:])
			if  != nil {
				return 
			}
			if ( < 0) || (+) < 0 {
				return ErrInvalidLengthTrace
			}
			if ( + ) >  {
				return io.ErrUnexpectedEOF
			}
			.XXX_unrecognized = append(.XXX_unrecognized, [:+]...)
			 += 
		}
	}

	if  >  {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func ( *TraceEvent_SendRPC) ( []byte) error {
	 := len()
	 := 0
	for  <  {
		 := 
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return ErrIntOverflowTrace
			}
			if  >=  {
				return io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= uint64(&0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int32( >> 3)
		 := int( & 0x7)
		if  == 4 {
			return fmt.Errorf("proto: SendRPC: wiretype end group for non-group")
		}
		if  <= 0 {
			return fmt.Errorf("proto: SendRPC: illegal tag %d (wire type %d)", , )
		}
		switch  {
		case 1:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field SendTo", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.SendTo = append(.SendTo[:0], [:]...)
			if .SendTo == nil {
				.SendTo = []byte{}
			}
			 = 
		case 2:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Meta", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			if .Meta == nil {
				.Meta = &TraceEvent_RPCMeta{}
			}
			if  := .Meta.Unmarshal([:]);  != nil {
				return 
			}
			 = 
		default:
			 = 
			,  := skipTrace([:])
			if  != nil {
				return 
			}
			if ( < 0) || (+) < 0 {
				return ErrInvalidLengthTrace
			}
			if ( + ) >  {
				return io.ErrUnexpectedEOF
			}
			.XXX_unrecognized = append(.XXX_unrecognized, [:+]...)
			 += 
		}
	}

	if  >  {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func ( *TraceEvent_DropRPC) ( []byte) error {
	 := len()
	 := 0
	for  <  {
		 := 
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return ErrIntOverflowTrace
			}
			if  >=  {
				return io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= uint64(&0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int32( >> 3)
		 := int( & 0x7)
		if  == 4 {
			return fmt.Errorf("proto: DropRPC: wiretype end group for non-group")
		}
		if  <= 0 {
			return fmt.Errorf("proto: DropRPC: illegal tag %d (wire type %d)", , )
		}
		switch  {
		case 1:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field SendTo", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.SendTo = append(.SendTo[:0], [:]...)
			if .SendTo == nil {
				.SendTo = []byte{}
			}
			 = 
		case 2:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Meta", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			if .Meta == nil {
				.Meta = &TraceEvent_RPCMeta{}
			}
			if  := .Meta.Unmarshal([:]);  != nil {
				return 
			}
			 = 
		default:
			 = 
			,  := skipTrace([:])
			if  != nil {
				return 
			}
			if ( < 0) || (+) < 0 {
				return ErrInvalidLengthTrace
			}
			if ( + ) >  {
				return io.ErrUnexpectedEOF
			}
			.XXX_unrecognized = append(.XXX_unrecognized, [:+]...)
			 += 
		}
	}

	if  >  {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func ( *TraceEvent_Join) ( []byte) error {
	 := len()
	 := 0
	for  <  {
		 := 
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return ErrIntOverflowTrace
			}
			if  >=  {
				return io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= uint64(&0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int32( >> 3)
		 := int( & 0x7)
		if  == 4 {
			return fmt.Errorf("proto: Join: wiretype end group for non-group")
		}
		if  <= 0 {
			return fmt.Errorf("proto: Join: illegal tag %d (wire type %d)", , )
		}
		switch  {
		case 1:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Topic", )
			}
			var  uint64
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= uint64(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			 := int()
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			 := string([:])
			.Topic = &
			 = 
		default:
			 = 
			,  := skipTrace([:])
			if  != nil {
				return 
			}
			if ( < 0) || (+) < 0 {
				return ErrInvalidLengthTrace
			}
			if ( + ) >  {
				return io.ErrUnexpectedEOF
			}
			.XXX_unrecognized = append(.XXX_unrecognized, [:+]...)
			 += 
		}
	}

	if  >  {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func ( *TraceEvent_Leave) ( []byte) error {
	 := len()
	 := 0
	for  <  {
		 := 
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return ErrIntOverflowTrace
			}
			if  >=  {
				return io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= uint64(&0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int32( >> 3)
		 := int( & 0x7)
		if  == 4 {
			return fmt.Errorf("proto: Leave: wiretype end group for non-group")
		}
		if  <= 0 {
			return fmt.Errorf("proto: Leave: illegal tag %d (wire type %d)", , )
		}
		switch  {
		case 2:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Topic", )
			}
			var  uint64
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= uint64(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			 := int()
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			 := string([:])
			.Topic = &
			 = 
		default:
			 = 
			,  := skipTrace([:])
			if  != nil {
				return 
			}
			if ( < 0) || (+) < 0 {
				return ErrInvalidLengthTrace
			}
			if ( + ) >  {
				return io.ErrUnexpectedEOF
			}
			.XXX_unrecognized = append(.XXX_unrecognized, [:+]...)
			 += 
		}
	}

	if  >  {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func ( *TraceEvent_Graft) ( []byte) error {
	 := len()
	 := 0
	for  <  {
		 := 
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return ErrIntOverflowTrace
			}
			if  >=  {
				return io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= uint64(&0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int32( >> 3)
		 := int( & 0x7)
		if  == 4 {
			return fmt.Errorf("proto: Graft: wiretype end group for non-group")
		}
		if  <= 0 {
			return fmt.Errorf("proto: Graft: illegal tag %d (wire type %d)", , )
		}
		switch  {
		case 1:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field PeerID", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.PeerID = append(.PeerID[:0], [:]...)
			if .PeerID == nil {
				.PeerID = []byte{}
			}
			 = 
		case 2:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Topic", )
			}
			var  uint64
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= uint64(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			 := int()
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			 := string([:])
			.Topic = &
			 = 
		default:
			 = 
			,  := skipTrace([:])
			if  != nil {
				return 
			}
			if ( < 0) || (+) < 0 {
				return ErrInvalidLengthTrace
			}
			if ( + ) >  {
				return io.ErrUnexpectedEOF
			}
			.XXX_unrecognized = append(.XXX_unrecognized, [:+]...)
			 += 
		}
	}

	if  >  {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func ( *TraceEvent_Prune) ( []byte) error {
	 := len()
	 := 0
	for  <  {
		 := 
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return ErrIntOverflowTrace
			}
			if  >=  {
				return io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= uint64(&0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int32( >> 3)
		 := int( & 0x7)
		if  == 4 {
			return fmt.Errorf("proto: Prune: wiretype end group for non-group")
		}
		if  <= 0 {
			return fmt.Errorf("proto: Prune: illegal tag %d (wire type %d)", , )
		}
		switch  {
		case 1:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field PeerID", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.PeerID = append(.PeerID[:0], [:]...)
			if .PeerID == nil {
				.PeerID = []byte{}
			}
			 = 
		case 2:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Topic", )
			}
			var  uint64
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= uint64(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			 := int()
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			 := string([:])
			.Topic = &
			 = 
		default:
			 = 
			,  := skipTrace([:])
			if  != nil {
				return 
			}
			if ( < 0) || (+) < 0 {
				return ErrInvalidLengthTrace
			}
			if ( + ) >  {
				return io.ErrUnexpectedEOF
			}
			.XXX_unrecognized = append(.XXX_unrecognized, [:+]...)
			 += 
		}
	}

	if  >  {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func ( *TraceEvent_RPCMeta) ( []byte) error {
	 := len()
	 := 0
	for  <  {
		 := 
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return ErrIntOverflowTrace
			}
			if  >=  {
				return io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= uint64(&0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int32( >> 3)
		 := int( & 0x7)
		if  == 4 {
			return fmt.Errorf("proto: RPCMeta: wiretype end group for non-group")
		}
		if  <= 0 {
			return fmt.Errorf("proto: RPCMeta: illegal tag %d (wire type %d)", , )
		}
		switch  {
		case 1:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Messages", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.Messages = append(.Messages, &TraceEvent_MessageMeta{})
			if  := .Messages[len(.Messages)-1].Unmarshal([:]);  != nil {
				return 
			}
			 = 
		case 2:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Subscription", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.Subscription = append(.Subscription, &TraceEvent_SubMeta{})
			if  := .Subscription[len(.Subscription)-1].Unmarshal([:]);  != nil {
				return 
			}
			 = 
		case 3:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Control", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			if .Control == nil {
				.Control = &TraceEvent_ControlMeta{}
			}
			if  := .Control.Unmarshal([:]);  != nil {
				return 
			}
			 = 
		default:
			 = 
			,  := skipTrace([:])
			if  != nil {
				return 
			}
			if ( < 0) || (+) < 0 {
				return ErrInvalidLengthTrace
			}
			if ( + ) >  {
				return io.ErrUnexpectedEOF
			}
			.XXX_unrecognized = append(.XXX_unrecognized, [:+]...)
			 += 
		}
	}

	if  >  {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func ( *TraceEvent_MessageMeta) ( []byte) error {
	 := len()
	 := 0
	for  <  {
		 := 
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return ErrIntOverflowTrace
			}
			if  >=  {
				return io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= uint64(&0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int32( >> 3)
		 := int( & 0x7)
		if  == 4 {
			return fmt.Errorf("proto: MessageMeta: wiretype end group for non-group")
		}
		if  <= 0 {
			return fmt.Errorf("proto: MessageMeta: illegal tag %d (wire type %d)", , )
		}
		switch  {
		case 1:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field MessageID", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.MessageID = append(.MessageID[:0], [:]...)
			if .MessageID == nil {
				.MessageID = []byte{}
			}
			 = 
		case 2:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Topic", )
			}
			var  uint64
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= uint64(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			 := int()
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			 := string([:])
			.Topic = &
			 = 
		default:
			 = 
			,  := skipTrace([:])
			if  != nil {
				return 
			}
			if ( < 0) || (+) < 0 {
				return ErrInvalidLengthTrace
			}
			if ( + ) >  {
				return io.ErrUnexpectedEOF
			}
			.XXX_unrecognized = append(.XXX_unrecognized, [:+]...)
			 += 
		}
	}

	if  >  {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func ( *TraceEvent_SubMeta) ( []byte) error {
	 := len()
	 := 0
	for  <  {
		 := 
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return ErrIntOverflowTrace
			}
			if  >=  {
				return io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= uint64(&0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int32( >> 3)
		 := int( & 0x7)
		if  == 4 {
			return fmt.Errorf("proto: SubMeta: wiretype end group for non-group")
		}
		if  <= 0 {
			return fmt.Errorf("proto: SubMeta: illegal tag %d (wire type %d)", , )
		}
		switch  {
		case 1:
			if  != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Subscribe", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			 := bool( != 0)
			.Subscribe = &
		case 2:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Topic", )
			}
			var  uint64
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= uint64(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			 := int()
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			 := string([:])
			.Topic = &
			 = 
		default:
			 = 
			,  := skipTrace([:])
			if  != nil {
				return 
			}
			if ( < 0) || (+) < 0 {
				return ErrInvalidLengthTrace
			}
			if ( + ) >  {
				return io.ErrUnexpectedEOF
			}
			.XXX_unrecognized = append(.XXX_unrecognized, [:+]...)
			 += 
		}
	}

	if  >  {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func ( *TraceEvent_ControlMeta) ( []byte) error {
	 := len()
	 := 0
	for  <  {
		 := 
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return ErrIntOverflowTrace
			}
			if  >=  {
				return io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= uint64(&0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int32( >> 3)
		 := int( & 0x7)
		if  == 4 {
			return fmt.Errorf("proto: ControlMeta: wiretype end group for non-group")
		}
		if  <= 0 {
			return fmt.Errorf("proto: ControlMeta: illegal tag %d (wire type %d)", , )
		}
		switch  {
		case 1:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Ihave", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.Ihave = append(.Ihave, &TraceEvent_ControlIHaveMeta{})
			if  := .Ihave[len(.Ihave)-1].Unmarshal([:]);  != nil {
				return 
			}
			 = 
		case 2:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Iwant", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.Iwant = append(.Iwant, &TraceEvent_ControlIWantMeta{})
			if  := .Iwant[len(.Iwant)-1].Unmarshal([:]);  != nil {
				return 
			}
			 = 
		case 3:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Graft", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.Graft = append(.Graft, &TraceEvent_ControlGraftMeta{})
			if  := .Graft[len(.Graft)-1].Unmarshal([:]);  != nil {
				return 
			}
			 = 
		case 4:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Prune", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.Prune = append(.Prune, &TraceEvent_ControlPruneMeta{})
			if  := .Prune[len(.Prune)-1].Unmarshal([:]);  != nil {
				return 
			}
			 = 
		case 5:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Idontwant", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.Idontwant = append(.Idontwant, &TraceEvent_ControlIDontWantMeta{})
			if  := .Idontwant[len(.Idontwant)-1].Unmarshal([:]);  != nil {
				return 
			}
			 = 
		default:
			 = 
			,  := skipTrace([:])
			if  != nil {
				return 
			}
			if ( < 0) || (+) < 0 {
				return ErrInvalidLengthTrace
			}
			if ( + ) >  {
				return io.ErrUnexpectedEOF
			}
			.XXX_unrecognized = append(.XXX_unrecognized, [:+]...)
			 += 
		}
	}

	if  >  {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func ( *TraceEvent_ControlIHaveMeta) ( []byte) error {
	 := len()
	 := 0
	for  <  {
		 := 
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return ErrIntOverflowTrace
			}
			if  >=  {
				return io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= uint64(&0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int32( >> 3)
		 := int( & 0x7)
		if  == 4 {
			return fmt.Errorf("proto: ControlIHaveMeta: wiretype end group for non-group")
		}
		if  <= 0 {
			return fmt.Errorf("proto: ControlIHaveMeta: illegal tag %d (wire type %d)", , )
		}
		switch  {
		case 1:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Topic", )
			}
			var  uint64
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= uint64(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			 := int()
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			 := string([:])
			.Topic = &
			 = 
		case 2:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field MessageIDs", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.MessageIDs = append(.MessageIDs, make([]byte, -))
			copy(.MessageIDs[len(.MessageIDs)-1], [:])
			 = 
		default:
			 = 
			,  := skipTrace([:])
			if  != nil {
				return 
			}
			if ( < 0) || (+) < 0 {
				return ErrInvalidLengthTrace
			}
			if ( + ) >  {
				return io.ErrUnexpectedEOF
			}
			.XXX_unrecognized = append(.XXX_unrecognized, [:+]...)
			 += 
		}
	}

	if  >  {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func ( *TraceEvent_ControlIWantMeta) ( []byte) error {
	 := len()
	 := 0
	for  <  {
		 := 
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return ErrIntOverflowTrace
			}
			if  >=  {
				return io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= uint64(&0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int32( >> 3)
		 := int( & 0x7)
		if  == 4 {
			return fmt.Errorf("proto: ControlIWantMeta: wiretype end group for non-group")
		}
		if  <= 0 {
			return fmt.Errorf("proto: ControlIWantMeta: illegal tag %d (wire type %d)", , )
		}
		switch  {
		case 1:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field MessageIDs", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.MessageIDs = append(.MessageIDs, make([]byte, -))
			copy(.MessageIDs[len(.MessageIDs)-1], [:])
			 = 
		default:
			 = 
			,  := skipTrace([:])
			if  != nil {
				return 
			}
			if ( < 0) || (+) < 0 {
				return ErrInvalidLengthTrace
			}
			if ( + ) >  {
				return io.ErrUnexpectedEOF
			}
			.XXX_unrecognized = append(.XXX_unrecognized, [:+]...)
			 += 
		}
	}

	if  >  {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func ( *TraceEvent_ControlGraftMeta) ( []byte) error {
	 := len()
	 := 0
	for  <  {
		 := 
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return ErrIntOverflowTrace
			}
			if  >=  {
				return io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= uint64(&0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int32( >> 3)
		 := int( & 0x7)
		if  == 4 {
			return fmt.Errorf("proto: ControlGraftMeta: wiretype end group for non-group")
		}
		if  <= 0 {
			return fmt.Errorf("proto: ControlGraftMeta: illegal tag %d (wire type %d)", , )
		}
		switch  {
		case 1:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Topic", )
			}
			var  uint64
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= uint64(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			 := int()
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			 := string([:])
			.Topic = &
			 = 
		default:
			 = 
			,  := skipTrace([:])
			if  != nil {
				return 
			}
			if ( < 0) || (+) < 0 {
				return ErrInvalidLengthTrace
			}
			if ( + ) >  {
				return io.ErrUnexpectedEOF
			}
			.XXX_unrecognized = append(.XXX_unrecognized, [:+]...)
			 += 
		}
	}

	if  >  {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func ( *TraceEvent_ControlPruneMeta) ( []byte) error {
	 := len()
	 := 0
	for  <  {
		 := 
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return ErrIntOverflowTrace
			}
			if  >=  {
				return io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= uint64(&0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int32( >> 3)
		 := int( & 0x7)
		if  == 4 {
			return fmt.Errorf("proto: ControlPruneMeta: wiretype end group for non-group")
		}
		if  <= 0 {
			return fmt.Errorf("proto: ControlPruneMeta: illegal tag %d (wire type %d)", , )
		}
		switch  {
		case 1:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Topic", )
			}
			var  uint64
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= uint64(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			 := int()
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			 := string([:])
			.Topic = &
			 = 
		case 2:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Peers", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.Peers = append(.Peers, make([]byte, -))
			copy(.Peers[len(.Peers)-1], [:])
			 = 
		default:
			 = 
			,  := skipTrace([:])
			if  != nil {
				return 
			}
			if ( < 0) || (+) < 0 {
				return ErrInvalidLengthTrace
			}
			if ( + ) >  {
				return io.ErrUnexpectedEOF
			}
			.XXX_unrecognized = append(.XXX_unrecognized, [:+]...)
			 += 
		}
	}

	if  >  {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func ( *TraceEvent_ControlIDontWantMeta) ( []byte) error {
	 := len()
	 := 0
	for  <  {
		 := 
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return ErrIntOverflowTrace
			}
			if  >=  {
				return io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= uint64(&0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int32( >> 3)
		 := int( & 0x7)
		if  == 4 {
			return fmt.Errorf("proto: ControlIDontWantMeta: wiretype end group for non-group")
		}
		if  <= 0 {
			return fmt.Errorf("proto: ControlIDontWantMeta: illegal tag %d (wire type %d)", , )
		}
		switch  {
		case 1:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field MessageIDs", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.MessageIDs = append(.MessageIDs, make([]byte, -))
			copy(.MessageIDs[len(.MessageIDs)-1], [:])
			 = 
		default:
			 = 
			,  := skipTrace([:])
			if  != nil {
				return 
			}
			if ( < 0) || (+) < 0 {
				return ErrInvalidLengthTrace
			}
			if ( + ) >  {
				return io.ErrUnexpectedEOF
			}
			.XXX_unrecognized = append(.XXX_unrecognized, [:+]...)
			 += 
		}
	}

	if  >  {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func ( *TraceEventBatch) ( []byte) error {
	 := len()
	 := 0
	for  <  {
		 := 
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return ErrIntOverflowTrace
			}
			if  >=  {
				return io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= uint64(&0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int32( >> 3)
		 := int( & 0x7)
		if  == 4 {
			return fmt.Errorf("proto: TraceEventBatch: wiretype end group for non-group")
		}
		if  <= 0 {
			return fmt.Errorf("proto: TraceEventBatch: illegal tag %d (wire type %d)", , )
		}
		switch  {
		case 1:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Batch", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return ErrIntOverflowTrace
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			 :=  + 
			if  < 0 {
				return ErrInvalidLengthTrace
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.Batch = append(.Batch, &TraceEvent{})
			if  := .Batch[len(.Batch)-1].Unmarshal([:]);  != nil {
				return 
			}
			 = 
		default:
			 = 
			,  := skipTrace([:])
			if  != nil {
				return 
			}
			if ( < 0) || (+) < 0 {
				return ErrInvalidLengthTrace
			}
			if ( + ) >  {
				return io.ErrUnexpectedEOF
			}
			.XXX_unrecognized = append(.XXX_unrecognized, [:+]...)
			 += 
		}
	}

	if  >  {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func skipTrace( []byte) ( int,  error) {
	 := len()
	 := 0
	 := 0
	for  <  {
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return 0, ErrIntOverflowTrace
			}
			if  >=  {
				return 0, io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= (uint64() & 0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int( & 0x7)
		switch  {
		case 0:
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return 0, ErrIntOverflowTrace
				}
				if  >=  {
					return 0, io.ErrUnexpectedEOF
				}
				++
				if [-1] < 0x80 {
					break
				}
			}
		case 1:
			 += 8
		case 2:
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return 0, ErrIntOverflowTrace
				}
				if  >=  {
					return 0, io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= (int() & 0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return 0, ErrInvalidLengthTrace
			}
			 += 
		case 3:
			++
		case 4:
			if  == 0 {
				return 0, ErrUnexpectedEndOfGroupTrace
			}
			--
		case 5:
			 += 4
		default:
			return 0, fmt.Errorf("proto: illegal wireType %d", )
		}
		if  < 0 {
			return 0, ErrInvalidLengthTrace
		}
		if  == 0 {
			return , nil
		}
	}
	return 0, io.ErrUnexpectedEOF
}

var (
	ErrInvalidLengthTrace        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowTrace          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupTrace = fmt.Errorf("proto: unexpected end of group")
)