|  |  |  | @@ -20,46 +20,110 @@ const ( | 
		
	
		
			
				|  |  |  |  | 	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) | 
		
	
		
			
				|  |  |  |  | ) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | type BackendEvent_Type int32 | 
		
	
		
			
				|  |  |  |  | type Event_Type int32 | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | const ( | 
		
	
		
			
				|  |  |  |  | 	BackendEvent_READY BackendEvent_Type = 0 | 
		
	
		
			
				|  |  |  |  | 	Event_BACKEND_READY                 Event_Type = 0 | 
		
	
		
			
				|  |  |  |  | 	Event_PEER_ADDED                    Event_Type = 20 | 
		
	
		
			
				|  |  |  |  | 	Event_PEER_REMOVED                  Event_Type = 21 | 
		
	
		
			
				|  |  |  |  | 	Event_PEER_MODIFIED                 Event_Type = 22 | 
		
	
		
			
				|  |  |  |  | 	Event_PEER_CONNECTION_STATE_CHANGED Event_Type = 23 | 
		
	
		
			
				|  |  |  |  | 	Event_INTERFACE_ADDED               Event_Type = 30 | 
		
	
		
			
				|  |  |  |  | 	Event_INTERFACE_REMOVED             Event_Type = 31 | 
		
	
		
			
				|  |  |  |  | ) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | // Enum value maps for BackendEvent_Type. | 
		
	
		
			
				|  |  |  |  | // Enum value maps for Event_Type. | 
		
	
		
			
				|  |  |  |  | var ( | 
		
	
		
			
				|  |  |  |  | 	BackendEvent_Type_name = map[int32]string{ | 
		
	
		
			
				|  |  |  |  | 		0: "READY", | 
		
	
		
			
				|  |  |  |  | 	Event_Type_name = map[int32]string{ | 
		
	
		
			
				|  |  |  |  | 		0:  "BACKEND_READY", | 
		
	
		
			
				|  |  |  |  | 		20: "PEER_ADDED", | 
		
	
		
			
				|  |  |  |  | 		21: "PEER_REMOVED", | 
		
	
		
			
				|  |  |  |  | 		22: "PEER_MODIFIED", | 
		
	
		
			
				|  |  |  |  | 		23: "PEER_CONNECTION_STATE_CHANGED", | 
		
	
		
			
				|  |  |  |  | 		30: "INTERFACE_ADDED", | 
		
	
		
			
				|  |  |  |  | 		31: "INTERFACE_REMOVED", | 
		
	
		
			
				|  |  |  |  | 	} | 
		
	
		
			
				|  |  |  |  | 	BackendEvent_Type_value = map[string]int32{ | 
		
	
		
			
				|  |  |  |  | 		"READY": 0, | 
		
	
		
			
				|  |  |  |  | 	Event_Type_value = map[string]int32{ | 
		
	
		
			
				|  |  |  |  | 		"BACKEND_READY":                 0, | 
		
	
		
			
				|  |  |  |  | 		"PEER_ADDED":                    20, | 
		
	
		
			
				|  |  |  |  | 		"PEER_REMOVED":                  21, | 
		
	
		
			
				|  |  |  |  | 		"PEER_MODIFIED":                 22, | 
		
	
		
			
				|  |  |  |  | 		"PEER_CONNECTION_STATE_CHANGED": 23, | 
		
	
		
			
				|  |  |  |  | 		"INTERFACE_ADDED":               30, | 
		
	
		
			
				|  |  |  |  | 		"INTERFACE_REMOVED":             31, | 
		
	
		
			
				|  |  |  |  | 	} | 
		
	
		
			
				|  |  |  |  | ) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (x BackendEvent_Type) Enum() *BackendEvent_Type { | 
		
	
		
			
				|  |  |  |  | 	p := new(BackendEvent_Type) | 
		
	
		
			
				|  |  |  |  | func (x Event_Type) Enum() *Event_Type { | 
		
	
		
			
				|  |  |  |  | 	p := new(Event_Type) | 
		
	
		
			
				|  |  |  |  | 	*p = x | 
		
	
		
			
				|  |  |  |  | 	return p | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (x BackendEvent_Type) String() string { | 
		
	
		
			
				|  |  |  |  | func (x Event_Type) String() string { | 
		
	
		
			
				|  |  |  |  | 	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (BackendEvent_Type) Descriptor() protoreflect.EnumDescriptor { | 
		
	
		
			
				|  |  |  |  | func (Event_Type) Descriptor() protoreflect.EnumDescriptor { | 
		
	
		
			
				|  |  |  |  | 	return file_event_proto_enumTypes[0].Descriptor() | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (BackendEvent_Type) Type() protoreflect.EnumType { | 
		
	
		
			
				|  |  |  |  | func (Event_Type) Type() protoreflect.EnumType { | 
		
	
		
			
				|  |  |  |  | 	return &file_event_proto_enumTypes[0] | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (x BackendEvent_Type) Number() protoreflect.EnumNumber { | 
		
	
		
			
				|  |  |  |  | func (x Event_Type) Number() protoreflect.EnumNumber { | 
		
	
		
			
				|  |  |  |  | 	return protoreflect.EnumNumber(x) | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | // Deprecated: Use BackendEvent_Type.Descriptor instead. | 
		
	
		
			
				|  |  |  |  | func (BackendEvent_Type) EnumDescriptor() ([]byte, []int) { | 
		
	
		
			
				|  |  |  |  | // Deprecated: Use Event_Type.Descriptor instead. | 
		
	
		
			
				|  |  |  |  | func (Event_Type) EnumDescriptor() ([]byte, []int) { | 
		
	
		
			
				|  |  |  |  | 	return file_event_proto_rawDescGZIP(), []int{0, 0} | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | type BackendReadyEvent_Type int32 | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | const ( | 
		
	
		
			
				|  |  |  |  | 	BackendReadyEvent_P2P BackendReadyEvent_Type = 0 | 
		
	
		
			
				|  |  |  |  | 	BackendReadyEvent_K8S BackendReadyEvent_Type = 1 | 
		
	
		
			
				|  |  |  |  | ) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | // Enum value maps for BackendReadyEvent_Type. | 
		
	
		
			
				|  |  |  |  | var ( | 
		
	
		
			
				|  |  |  |  | 	BackendReadyEvent_Type_name = map[int32]string{ | 
		
	
		
			
				|  |  |  |  | 		0: "P2P", | 
		
	
		
			
				|  |  |  |  | 		1: "K8S", | 
		
	
		
			
				|  |  |  |  | 	} | 
		
	
		
			
				|  |  |  |  | 	BackendReadyEvent_Type_value = map[string]int32{ | 
		
	
		
			
				|  |  |  |  | 		"P2P": 0, | 
		
	
		
			
				|  |  |  |  | 		"K8S": 1, | 
		
	
		
			
				|  |  |  |  | 	} | 
		
	
		
			
				|  |  |  |  | ) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (x BackendReadyEvent_Type) Enum() *BackendReadyEvent_Type { | 
		
	
		
			
				|  |  |  |  | 	p := new(BackendReadyEvent_Type) | 
		
	
		
			
				|  |  |  |  | 	*p = x | 
		
	
		
			
				|  |  |  |  | 	return p | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (x BackendReadyEvent_Type) String() string { | 
		
	
		
			
				|  |  |  |  | 	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (BackendReadyEvent_Type) Descriptor() protoreflect.EnumDescriptor { | 
		
	
		
			
				|  |  |  |  | 	return file_event_proto_enumTypes[1].Descriptor() | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (BackendReadyEvent_Type) Type() protoreflect.EnumType { | 
		
	
		
			
				|  |  |  |  | 	return &file_event_proto_enumTypes[1] | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (x BackendReadyEvent_Type) Number() protoreflect.EnumNumber { | 
		
	
		
			
				|  |  |  |  | 	return protoreflect.EnumNumber(x) | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | // Deprecated: Use BackendReadyEvent_Type.Descriptor instead. | 
		
	
		
			
				|  |  |  |  | func (BackendReadyEvent_Type) EnumDescriptor() ([]byte, []int) { | 
		
	
		
			
				|  |  |  |  | 	return file_event_proto_rawDescGZIP(), []int{3, 0} | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
	
		
			
				
					
					|  |  |  | @@ -68,13 +132,15 @@ type Event struct { | 
		
	
		
			
				|  |  |  |  | 	sizeCache     protoimpl.SizeCache | 
		
	
		
			
				|  |  |  |  | 	unknownFields protoimpl.UnknownFields | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | 	Time  *Timestamp `protobuf:"bytes,1,opt,name=time,proto3" json:"time,omitempty"` | 
		
	
		
			
				|  |  |  |  | 	Type  string     `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` | 
		
	
		
			
				|  |  |  |  | 	State string     `protobuf:"bytes,3,opt,name=state,proto3" json:"state,omitempty"` | 
		
	
		
			
				|  |  |  |  | 	Type Event_Type `protobuf:"varint,1,opt,name=type,proto3,enum=Event_Type" json:"type,omitempty"` | 
		
	
		
			
				|  |  |  |  | 	Time *Timestamp `protobuf:"bytes,2,opt,name=time,proto3" json:"time,omitempty"` | 
		
	
		
			
				|  |  |  |  | 	// Originator | 
		
	
		
			
				|  |  |  |  | 	Peer      []byte `protobuf:"bytes,3,opt,name=peer,proto3" json:"peer,omitempty"` | 
		
	
		
			
				|  |  |  |  | 	Interface string `protobuf:"bytes,4,opt,name=interface,proto3" json:"interface,omitempty"` | 
		
	
		
			
				|  |  |  |  | 	// Types that are assignable to Event: | 
		
	
		
			
				|  |  |  |  | 	//	*Event_Peer | 
		
	
		
			
				|  |  |  |  | 	//	*Event_Intf | 
		
	
		
			
				|  |  |  |  | 	//	*Event_Backend | 
		
	
		
			
				|  |  |  |  | 	//	*Event_PeerModified | 
		
	
		
			
				|  |  |  |  | 	//	*Event_PeerConnectionStateChange | 
		
	
		
			
				|  |  |  |  | 	//	*Event_BackendReady | 
		
	
		
			
				|  |  |  |  | 	Event isEvent_Event `protobuf_oneof:"event"` | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
	
		
			
				
					
					|  |  |  | @@ -110,6 +176,13 @@ func (*Event) Descriptor() ([]byte, []int) { | 
		
	
		
			
				|  |  |  |  | 	return file_event_proto_rawDescGZIP(), []int{0} | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (x *Event) GetType() Event_Type { | 
		
	
		
			
				|  |  |  |  | 	if x != nil { | 
		
	
		
			
				|  |  |  |  | 		return x.Type | 
		
	
		
			
				|  |  |  |  | 	} | 
		
	
		
			
				|  |  |  |  | 	return Event_BACKEND_READY | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (x *Event) GetTime() *Timestamp { | 
		
	
		
			
				|  |  |  |  | 	if x != nil { | 
		
	
		
			
				|  |  |  |  | 		return x.Time | 
		
	
	
		
			
				
					
					|  |  |  | @@ -117,16 +190,16 @@ func (x *Event) GetTime() *Timestamp { | 
		
	
		
			
				|  |  |  |  | 	return nil | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (x *Event) GetType() string { | 
		
	
		
			
				|  |  |  |  | func (x *Event) GetPeer() []byte { | 
		
	
		
			
				|  |  |  |  | 	if x != nil { | 
		
	
		
			
				|  |  |  |  | 		return x.Type | 
		
	
		
			
				|  |  |  |  | 		return x.Peer | 
		
	
		
			
				|  |  |  |  | 	} | 
		
	
		
			
				|  |  |  |  | 	return "" | 
		
	
		
			
				|  |  |  |  | 	return nil | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (x *Event) GetState() string { | 
		
	
		
			
				|  |  |  |  | func (x *Event) GetInterface() string { | 
		
	
		
			
				|  |  |  |  | 	if x != nil { | 
		
	
		
			
				|  |  |  |  | 		return x.State | 
		
	
		
			
				|  |  |  |  | 		return x.Interface | 
		
	
		
			
				|  |  |  |  | 	} | 
		
	
		
			
				|  |  |  |  | 	return "" | 
		
	
		
			
				|  |  |  |  | } | 
		
	
	
		
			
				
					
					|  |  |  | @@ -138,23 +211,23 @@ func (m *Event) GetEvent() isEvent_Event { | 
		
	
		
			
				|  |  |  |  | 	return nil | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (x *Event) GetPeer() *PeerEvent { | 
		
	
		
			
				|  |  |  |  | 	if x, ok := x.GetEvent().(*Event_Peer); ok { | 
		
	
		
			
				|  |  |  |  | 		return x.Peer | 
		
	
		
			
				|  |  |  |  | func (x *Event) GetPeerModified() *PeerModifiedEvent { | 
		
	
		
			
				|  |  |  |  | 	if x, ok := x.GetEvent().(*Event_PeerModified); ok { | 
		
	
		
			
				|  |  |  |  | 		return x.PeerModified | 
		
	
		
			
				|  |  |  |  | 	} | 
		
	
		
			
				|  |  |  |  | 	return nil | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (x *Event) GetIntf() *InterfaceEvent { | 
		
	
		
			
				|  |  |  |  | 	if x, ok := x.GetEvent().(*Event_Intf); ok { | 
		
	
		
			
				|  |  |  |  | 		return x.Intf | 
		
	
		
			
				|  |  |  |  | func (x *Event) GetPeerConnectionStateChange() *PeerConnectionStateChangeEvent { | 
		
	
		
			
				|  |  |  |  | 	if x, ok := x.GetEvent().(*Event_PeerConnectionStateChange); ok { | 
		
	
		
			
				|  |  |  |  | 		return x.PeerConnectionStateChange | 
		
	
		
			
				|  |  |  |  | 	} | 
		
	
		
			
				|  |  |  |  | 	return nil | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (x *Event) GetBackend() *BackendEvent { | 
		
	
		
			
				|  |  |  |  | 	if x, ok := x.GetEvent().(*Event_Backend); ok { | 
		
	
		
			
				|  |  |  |  | 		return x.Backend | 
		
	
		
			
				|  |  |  |  | func (x *Event) GetBackendReady() *BackendReadyEvent { | 
		
	
		
			
				|  |  |  |  | 	if x, ok := x.GetEvent().(*Event_BackendReady); ok { | 
		
	
		
			
				|  |  |  |  | 		return x.BackendReady | 
		
	
		
			
				|  |  |  |  | 	} | 
		
	
		
			
				|  |  |  |  | 	return nil | 
		
	
		
			
				|  |  |  |  | } | 
		
	
	
		
			
				
					
					|  |  |  | @@ -163,35 +236,34 @@ type isEvent_Event interface { | 
		
	
		
			
				|  |  |  |  | 	isEvent_Event() | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | type Event_Peer struct { | 
		
	
		
			
				|  |  |  |  | 	Peer *PeerEvent `protobuf:"bytes,10,opt,name=peer,proto3,oneof"` | 
		
	
		
			
				|  |  |  |  | type Event_PeerModified struct { | 
		
	
		
			
				|  |  |  |  | 	PeerModified *PeerModifiedEvent `protobuf:"bytes,10,opt,name=peer_modified,json=peerModified,proto3,oneof"` | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | type Event_Intf struct { | 
		
	
		
			
				|  |  |  |  | 	Intf *InterfaceEvent `protobuf:"bytes,11,opt,name=intf,proto3,oneof"` | 
		
	
		
			
				|  |  |  |  | type Event_PeerConnectionStateChange struct { | 
		
	
		
			
				|  |  |  |  | 	PeerConnectionStateChange *PeerConnectionStateChangeEvent `protobuf:"bytes,11,opt,name=peer_connection_state_change,json=peerConnectionStateChange,proto3,oneof"` | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | type Event_Backend struct { | 
		
	
		
			
				|  |  |  |  | 	Backend *BackendEvent `protobuf:"bytes,12,opt,name=backend,proto3,oneof"` | 
		
	
		
			
				|  |  |  |  | type Event_BackendReady struct { | 
		
	
		
			
				|  |  |  |  | 	BackendReady *BackendReadyEvent `protobuf:"bytes,30,opt,name=backend_ready,json=backendReady,proto3,oneof"` | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (*Event_Peer) isEvent_Event() {} | 
		
	
		
			
				|  |  |  |  | func (*Event_PeerModified) isEvent_Event() {} | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (*Event_Intf) isEvent_Event() {} | 
		
	
		
			
				|  |  |  |  | func (*Event_PeerConnectionStateChange) isEvent_Event() {} | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (*Event_Backend) isEvent_Event() {} | 
		
	
		
			
				|  |  |  |  | func (*Event_BackendReady) isEvent_Event() {} | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | type PeerEvent struct { | 
		
	
		
			
				|  |  |  |  | type PeerModifiedEvent struct { | 
		
	
		
			
				|  |  |  |  | 	state         protoimpl.MessageState | 
		
	
		
			
				|  |  |  |  | 	sizeCache     protoimpl.SizeCache | 
		
	
		
			
				|  |  |  |  | 	unknownFields protoimpl.UnknownFields | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | 	Peer     *Peer    `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"` | 
		
	
		
			
				|  |  |  |  | 	Modified []string `protobuf:"bytes,2,rep,name=modified,proto3" json:"modified,omitempty"` | 
		
	
		
			
				|  |  |  |  | 	Modified uint32 `protobuf:"varint,1,opt,name=modified,proto3" json:"modified,omitempty"` | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (x *PeerEvent) Reset() { | 
		
	
		
			
				|  |  |  |  | 	*x = PeerEvent{} | 
		
	
		
			
				|  |  |  |  | func (x *PeerModifiedEvent) Reset() { | 
		
	
		
			
				|  |  |  |  | 	*x = PeerModifiedEvent{} | 
		
	
		
			
				|  |  |  |  | 	if protoimpl.UnsafeEnabled { | 
		
	
		
			
				|  |  |  |  | 		mi := &file_event_proto_msgTypes[1] | 
		
	
		
			
				|  |  |  |  | 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 
		
	
	
		
			
				
					
					|  |  |  | @@ -199,13 +271,13 @@ func (x *PeerEvent) Reset() { | 
		
	
		
			
				|  |  |  |  | 	} | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (x *PeerEvent) String() string { | 
		
	
		
			
				|  |  |  |  | func (x *PeerModifiedEvent) String() string { | 
		
	
		
			
				|  |  |  |  | 	return protoimpl.X.MessageStringOf(x) | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (*PeerEvent) ProtoMessage() {} | 
		
	
		
			
				|  |  |  |  | func (*PeerModifiedEvent) ProtoMessage() {} | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (x *PeerEvent) ProtoReflect() protoreflect.Message { | 
		
	
		
			
				|  |  |  |  | func (x *PeerModifiedEvent) ProtoReflect() protoreflect.Message { | 
		
	
		
			
				|  |  |  |  | 	mi := &file_event_proto_msgTypes[1] | 
		
	
		
			
				|  |  |  |  | 	if protoimpl.UnsafeEnabled && x != nil { | 
		
	
		
			
				|  |  |  |  | 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 
		
	
	
		
			
				
					
					|  |  |  | @@ -217,35 +289,28 @@ func (x *PeerEvent) ProtoReflect() protoreflect.Message { | 
		
	
		
			
				|  |  |  |  | 	return mi.MessageOf(x) | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | // Deprecated: Use PeerEvent.ProtoReflect.Descriptor instead. | 
		
	
		
			
				|  |  |  |  | func (*PeerEvent) Descriptor() ([]byte, []int) { | 
		
	
		
			
				|  |  |  |  | // Deprecated: Use PeerModifiedEvent.ProtoReflect.Descriptor instead. | 
		
	
		
			
				|  |  |  |  | func (*PeerModifiedEvent) Descriptor() ([]byte, []int) { | 
		
	
		
			
				|  |  |  |  | 	return file_event_proto_rawDescGZIP(), []int{1} | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (x *PeerEvent) GetPeer() *Peer { | 
		
	
		
			
				|  |  |  |  | 	if x != nil { | 
		
	
		
			
				|  |  |  |  | 		return x.Peer | 
		
	
		
			
				|  |  |  |  | 	} | 
		
	
		
			
				|  |  |  |  | 	return nil | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (x *PeerEvent) GetModified() []string { | 
		
	
		
			
				|  |  |  |  | func (x *PeerModifiedEvent) GetModified() uint32 { | 
		
	
		
			
				|  |  |  |  | 	if x != nil { | 
		
	
		
			
				|  |  |  |  | 		return x.Modified | 
		
	
		
			
				|  |  |  |  | 	} | 
		
	
		
			
				|  |  |  |  | 	return nil | 
		
	
		
			
				|  |  |  |  | 	return 0 | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | type InterfaceEvent struct { | 
		
	
		
			
				|  |  |  |  | type PeerConnectionStateChangeEvent struct { | 
		
	
		
			
				|  |  |  |  | 	state         protoimpl.MessageState | 
		
	
		
			
				|  |  |  |  | 	sizeCache     protoimpl.SizeCache | 
		
	
		
			
				|  |  |  |  | 	unknownFields protoimpl.UnknownFields | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | 	Interface *Interface `protobuf:"bytes,1,opt,name=interface,proto3" json:"interface,omitempty"` | 
		
	
		
			
				|  |  |  |  | 	NewState ConnectionState `protobuf:"varint,3,opt,name=new_state,json=newState,proto3,enum=ConnectionState" json:"new_state,omitempty"` | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (x *InterfaceEvent) Reset() { | 
		
	
		
			
				|  |  |  |  | 	*x = InterfaceEvent{} | 
		
	
		
			
				|  |  |  |  | func (x *PeerConnectionStateChangeEvent) Reset() { | 
		
	
		
			
				|  |  |  |  | 	*x = PeerConnectionStateChangeEvent{} | 
		
	
		
			
				|  |  |  |  | 	if protoimpl.UnsafeEnabled { | 
		
	
		
			
				|  |  |  |  | 		mi := &file_event_proto_msgTypes[2] | 
		
	
		
			
				|  |  |  |  | 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 
		
	
	
		
			
				
					
					|  |  |  | @@ -253,13 +318,13 @@ func (x *InterfaceEvent) Reset() { | 
		
	
		
			
				|  |  |  |  | 	} | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (x *InterfaceEvent) String() string { | 
		
	
		
			
				|  |  |  |  | func (x *PeerConnectionStateChangeEvent) String() string { | 
		
	
		
			
				|  |  |  |  | 	return protoimpl.X.MessageStringOf(x) | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (*InterfaceEvent) ProtoMessage() {} | 
		
	
		
			
				|  |  |  |  | func (*PeerConnectionStateChangeEvent) ProtoMessage() {} | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (x *InterfaceEvent) ProtoReflect() protoreflect.Message { | 
		
	
		
			
				|  |  |  |  | func (x *PeerConnectionStateChangeEvent) ProtoReflect() protoreflect.Message { | 
		
	
		
			
				|  |  |  |  | 	mi := &file_event_proto_msgTypes[2] | 
		
	
		
			
				|  |  |  |  | 	if protoimpl.UnsafeEnabled && x != nil { | 
		
	
		
			
				|  |  |  |  | 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 
		
	
	
		
			
				
					
					|  |  |  | @@ -271,30 +336,30 @@ func (x *InterfaceEvent) ProtoReflect() protoreflect.Message { | 
		
	
		
			
				|  |  |  |  | 	return mi.MessageOf(x) | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | // Deprecated: Use InterfaceEvent.ProtoReflect.Descriptor instead. | 
		
	
		
			
				|  |  |  |  | func (*InterfaceEvent) Descriptor() ([]byte, []int) { | 
		
	
		
			
				|  |  |  |  | // Deprecated: Use PeerConnectionStateChangeEvent.ProtoReflect.Descriptor instead. | 
		
	
		
			
				|  |  |  |  | func (*PeerConnectionStateChangeEvent) Descriptor() ([]byte, []int) { | 
		
	
		
			
				|  |  |  |  | 	return file_event_proto_rawDescGZIP(), []int{2} | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (x *InterfaceEvent) GetInterface() *Interface { | 
		
	
		
			
				|  |  |  |  | func (x *PeerConnectionStateChangeEvent) GetNewState() ConnectionState { | 
		
	
		
			
				|  |  |  |  | 	if x != nil { | 
		
	
		
			
				|  |  |  |  | 		return x.Interface | 
		
	
		
			
				|  |  |  |  | 		return x.NewState | 
		
	
		
			
				|  |  |  |  | 	} | 
		
	
		
			
				|  |  |  |  | 	return nil | 
		
	
		
			
				|  |  |  |  | 	return ConnectionState_NEW | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | type BackendEvent struct { | 
		
	
		
			
				|  |  |  |  | type BackendReadyEvent struct { | 
		
	
		
			
				|  |  |  |  | 	state         protoimpl.MessageState | 
		
	
		
			
				|  |  |  |  | 	sizeCache     protoimpl.SizeCache | 
		
	
		
			
				|  |  |  |  | 	unknownFields protoimpl.UnknownFields | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | 	Type            BackendEvent_Type `protobuf:"varint,1,opt,name=type,proto3,enum=BackendEvent_Type" json:"type,omitempty"` | 
		
	
		
			
				|  |  |  |  | 	Type            BackendReadyEvent_Type `protobuf:"varint,1,opt,name=type,proto3,enum=BackendReadyEvent_Type" json:"type,omitempty"` | 
		
	
		
			
				|  |  |  |  | 	Id              string                 `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` | 
		
	
		
			
				|  |  |  |  | 	ListenAddresses []string               `protobuf:"bytes,3,rep,name=listen_addresses,json=listenAddresses,proto3" json:"listen_addresses,omitempty"` | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (x *BackendEvent) Reset() { | 
		
	
		
			
				|  |  |  |  | 	*x = BackendEvent{} | 
		
	
		
			
				|  |  |  |  | func (x *BackendReadyEvent) Reset() { | 
		
	
		
			
				|  |  |  |  | 	*x = BackendReadyEvent{} | 
		
	
		
			
				|  |  |  |  | 	if protoimpl.UnsafeEnabled { | 
		
	
		
			
				|  |  |  |  | 		mi := &file_event_proto_msgTypes[3] | 
		
	
		
			
				|  |  |  |  | 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 
		
	
	
		
			
				
					
					|  |  |  | @@ -302,13 +367,13 @@ func (x *BackendEvent) Reset() { | 
		
	
		
			
				|  |  |  |  | 	} | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (x *BackendEvent) String() string { | 
		
	
		
			
				|  |  |  |  | func (x *BackendReadyEvent) String() string { | 
		
	
		
			
				|  |  |  |  | 	return protoimpl.X.MessageStringOf(x) | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (*BackendEvent) ProtoMessage() {} | 
		
	
		
			
				|  |  |  |  | func (*BackendReadyEvent) ProtoMessage() {} | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (x *BackendEvent) ProtoReflect() protoreflect.Message { | 
		
	
		
			
				|  |  |  |  | func (x *BackendReadyEvent) ProtoReflect() protoreflect.Message { | 
		
	
		
			
				|  |  |  |  | 	mi := &file_event_proto_msgTypes[3] | 
		
	
		
			
				|  |  |  |  | 	if protoimpl.UnsafeEnabled && x != nil { | 
		
	
		
			
				|  |  |  |  | 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 
		
	
	
		
			
				
					
					|  |  |  | @@ -320,26 +385,26 @@ func (x *BackendEvent) ProtoReflect() protoreflect.Message { | 
		
	
		
			
				|  |  |  |  | 	return mi.MessageOf(x) | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | // Deprecated: Use BackendEvent.ProtoReflect.Descriptor instead. | 
		
	
		
			
				|  |  |  |  | func (*BackendEvent) Descriptor() ([]byte, []int) { | 
		
	
		
			
				|  |  |  |  | // Deprecated: Use BackendReadyEvent.ProtoReflect.Descriptor instead. | 
		
	
		
			
				|  |  |  |  | func (*BackendReadyEvent) Descriptor() ([]byte, []int) { | 
		
	
		
			
				|  |  |  |  | 	return file_event_proto_rawDescGZIP(), []int{3} | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (x *BackendEvent) GetType() BackendEvent_Type { | 
		
	
		
			
				|  |  |  |  | func (x *BackendReadyEvent) GetType() BackendReadyEvent_Type { | 
		
	
		
			
				|  |  |  |  | 	if x != nil { | 
		
	
		
			
				|  |  |  |  | 		return x.Type | 
		
	
		
			
				|  |  |  |  | 	} | 
		
	
		
			
				|  |  |  |  | 	return BackendEvent_READY | 
		
	
		
			
				|  |  |  |  | 	return BackendReadyEvent_P2P | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (x *BackendEvent) GetId() string { | 
		
	
		
			
				|  |  |  |  | func (x *BackendReadyEvent) GetId() string { | 
		
	
		
			
				|  |  |  |  | 	if x != nil { | 
		
	
		
			
				|  |  |  |  | 		return x.Id | 
		
	
		
			
				|  |  |  |  | 	} | 
		
	
		
			
				|  |  |  |  | 	return "" | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func (x *BackendEvent) GetListenAddresses() []string { | 
		
	
		
			
				|  |  |  |  | func (x *BackendReadyEvent) GetListenAddresses() []string { | 
		
	
		
			
				|  |  |  |  | 	if x != nil { | 
		
	
		
			
				|  |  |  |  | 		return x.ListenAddresses | 
		
	
		
			
				|  |  |  |  | 	} | 
		
	
	
		
			
				
					
					|  |  |  | @@ -350,40 +415,59 @@ var File_event_proto protoreflect.FileDescriptor | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | var file_event_proto_rawDesc = []byte{ | 
		
	
		
			
				|  |  |  |  | 	0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x63, | 
		
	
		
			
				|  |  |  |  | 	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x70, 0x65, 0x65, | 
		
	
		
			
				|  |  |  |  | 	0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, | 
		
	
		
			
				|  |  |  |  | 	0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xce, 0x01, 0x0a, 0x05, 0x45, 0x76, 0x65, | 
		
	
		
			
				|  |  |  |  | 	0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, | 
		
	
		
			
				|  |  |  |  | 	0x32, 0x0a, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x74, 0x69, | 
		
	
		
			
				|  |  |  |  | 	0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, | 
		
	
		
			
				|  |  |  |  | 	0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, | 
		
	
		
			
				|  |  |  |  | 	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x04, | 
		
	
		
			
				|  |  |  |  | 	0x70, 0x65, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x50, 0x65, 0x65, | 
		
	
		
			
				|  |  |  |  | 	0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x12, 0x25, | 
		
	
		
			
				|  |  |  |  | 	0x0a, 0x04, 0x69, 0x6e, 0x74, 0x66, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x49, | 
		
	
		
			
				|  |  |  |  | 	0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, | 
		
	
		
			
				|  |  |  |  | 	0x04, 0x69, 0x6e, 0x74, 0x66, 0x12, 0x29, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, | 
		
	
		
			
				|  |  |  |  | 	0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, | 
		
	
		
			
				|  |  |  |  | 	0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, | 
		
	
		
			
				|  |  |  |  | 	0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x42, 0x0a, 0x09, 0x50, 0x65, 0x65, | 
		
	
		
			
				|  |  |  |  | 	0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x04, 0x70, 0x65, 0x65, 0x72, 0x18, 0x01, | 
		
	
		
			
				|  |  |  |  | 	0x20, 0x01, 0x28, 0x0b, 0x32, 0x05, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x04, 0x70, 0x65, 0x65, | 
		
	
		
			
				|  |  |  |  | 	0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x02, 0x20, | 
		
	
		
			
				|  |  |  |  | 	0x03, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x22, 0x3a, 0x0a, | 
		
	
		
			
				|  |  |  |  | 	0x0e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, | 
		
	
		
			
				|  |  |  |  | 	0x28, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, | 
		
	
		
			
				|  |  |  |  | 	0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x09, | 
		
	
		
			
				|  |  |  |  | 	0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x22, 0x84, 0x01, 0x0a, 0x0c, 0x42, 0x61, | 
		
	
		
			
				|  |  |  |  | 	0x63, 0x6b, 0x65, 0x6e, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x74, 0x79, | 
		
	
		
			
				|  |  |  |  | 	0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, | 
		
	
		
			
				|  |  |  |  | 	0x6e, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, | 
		
	
		
			
				|  |  |  |  | 	0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, | 
		
	
		
			
				|  |  |  |  | 	0x69, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x5f, 0x61, 0x64, 0x64, | 
		
	
		
			
				|  |  |  |  | 	0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x69, | 
		
	
		
			
				|  |  |  |  | 	0x73, 0x74, 0x65, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0x11, 0x0a, | 
		
	
		
			
				|  |  |  |  | 	0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x00, | 
		
	
		
			
				|  |  |  |  | 	0x42, 0x16, 0x5a, 0x14, 0x72, 0x69, 0x61, 0x73, 0x63, 0x2e, 0x65, 0x75, 0x2f, 0x77, 0x69, 0x63, | 
		
	
		
			
				|  |  |  |  | 	0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, | 
		
	
		
			
				|  |  |  |  | 	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfd, 0x03, 0x0a, 0x05, | 
		
	
		
			
				|  |  |  |  | 	0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, | 
		
	
		
			
				|  |  |  |  | 	0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, | 
		
	
		
			
				|  |  |  |  | 	0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, | 
		
	
		
			
				|  |  |  |  | 	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, | 
		
	
		
			
				|  |  |  |  | 	0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x65, 0x65, 0x72, 0x18, 0x03, | 
		
	
		
			
				|  |  |  |  | 	0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, | 
		
	
		
			
				|  |  |  |  | 	0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, | 
		
	
		
			
				|  |  |  |  | 	0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x0d, 0x70, 0x65, 0x65, 0x72, | 
		
	
		
			
				|  |  |  |  | 	0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, | 
		
	
		
			
				|  |  |  |  | 	0x12, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x45, 0x76, | 
		
	
		
			
				|  |  |  |  | 	0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x70, 0x65, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, | 
		
	
		
			
				|  |  |  |  | 	0x69, 0x65, 0x64, 0x12, 0x62, 0x0a, 0x1c, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, | 
		
	
		
			
				|  |  |  |  | 	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x68, 0x61, | 
		
	
		
			
				|  |  |  |  | 	0x6e, 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x50, 0x65, 0x65, 0x72, | 
		
	
		
			
				|  |  |  |  | 	0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, | 
		
	
		
			
				|  |  |  |  | 	0x68, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x19, 0x70, 0x65, | 
		
	
		
			
				|  |  |  |  | 	0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, | 
		
	
		
			
				|  |  |  |  | 	0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x39, 0x0a, 0x0d, 0x62, 0x61, 0x63, 0x6b, 0x65, | 
		
	
		
			
				|  |  |  |  | 	0x6e, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x79, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, | 
		
	
		
			
				|  |  |  |  | 	0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x61, 0x64, 0x79, 0x45, 0x76, 0x65, | 
		
	
		
			
				|  |  |  |  | 	0x6e, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x61, | 
		
	
		
			
				|  |  |  |  | 	0x64, 0x79, 0x22, 0x9d, 0x01, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x42, | 
		
	
		
			
				|  |  |  |  | 	0x41, 0x43, 0x4b, 0x45, 0x4e, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x00, 0x12, 0x0e, | 
		
	
		
			
				|  |  |  |  | 	0x0a, 0x0a, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x41, 0x44, 0x44, 0x45, 0x44, 0x10, 0x14, 0x12, 0x10, | 
		
	
		
			
				|  |  |  |  | 	0x0a, 0x0c, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x44, 0x10, 0x15, | 
		
	
		
			
				|  |  |  |  | 	0x12, 0x11, 0x0a, 0x0d, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x49, 0x45, | 
		
	
		
			
				|  |  |  |  | 	0x44, 0x10, 0x16, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, | 
		
	
		
			
				|  |  |  |  | 	0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x41, | 
		
	
		
			
				|  |  |  |  | 	0x4e, 0x47, 0x45, 0x44, 0x10, 0x17, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, | 
		
	
		
			
				|  |  |  |  | 	0x41, 0x43, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x45, 0x44, 0x10, 0x1e, 0x12, 0x15, 0x0a, 0x11, 0x49, | 
		
	
		
			
				|  |  |  |  | 	0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x44, | 
		
	
		
			
				|  |  |  |  | 	0x10, 0x1f, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x2f, 0x0a, 0x11, 0x50, | 
		
	
		
			
				|  |  |  |  | 	0x65, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, | 
		
	
		
			
				|  |  |  |  | 	0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, | 
		
	
		
			
				|  |  |  |  | 	0x28, 0x0d, 0x52, 0x08, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x22, 0x4f, 0x0a, 0x1e, | 
		
	
		
			
				|  |  |  |  | 	0x50, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, | 
		
	
		
			
				|  |  |  |  | 	0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2d, | 
		
	
		
			
				|  |  |  |  | 	0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, | 
		
	
		
			
				|  |  |  |  | 	0x0e, 0x32, 0x10, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, | 
		
	
		
			
				|  |  |  |  | 	0x61, 0x74, 0x65, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x95, 0x01, | 
		
	
		
			
				|  |  |  |  | 	0x0a, 0x11, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x61, 0x64, 0x79, 0x45, 0x76, | 
		
	
		
			
				|  |  |  |  | 	0x65, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, | 
		
	
		
			
				|  |  |  |  | 	0x0e, 0x32, 0x17, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x61, 0x64, 0x79, | 
		
	
		
			
				|  |  |  |  | 	0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, | 
		
	
		
			
				|  |  |  |  | 	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, | 
		
	
		
			
				|  |  |  |  | 	0x12, 0x29, 0x0a, 0x10, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, | 
		
	
		
			
				|  |  |  |  | 	0x73, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x69, 0x73, 0x74, | 
		
	
		
			
				|  |  |  |  | 	0x65, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0x18, 0x0a, 0x04, 0x54, | 
		
	
		
			
				|  |  |  |  | 	0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x32, 0x50, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, | 
		
	
		
			
				|  |  |  |  | 	0x4b, 0x38, 0x53, 0x10, 0x01, 0x42, 0x16, 0x5a, 0x14, 0x72, 0x69, 0x61, 0x73, 0x63, 0x2e, 0x65, | 
		
	
		
			
				|  |  |  |  | 	0x75, 0x2f, 0x77, 0x69, 0x63, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, | 
		
	
		
			
				|  |  |  |  | 	0x72, 0x6f, 0x74, 0x6f, 0x33, | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | var ( | 
		
	
	
		
			
				
					
					|  |  |  | @@ -398,26 +482,26 @@ func file_event_proto_rawDescGZIP() []byte { | 
		
	
		
			
				|  |  |  |  | 	return file_event_proto_rawDescData | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | var file_event_proto_enumTypes = make([]protoimpl.EnumInfo, 1) | 
		
	
		
			
				|  |  |  |  | var file_event_proto_enumTypes = make([]protoimpl.EnumInfo, 2) | 
		
	
		
			
				|  |  |  |  | var file_event_proto_msgTypes = make([]protoimpl.MessageInfo, 4) | 
		
	
		
			
				|  |  |  |  | var file_event_proto_goTypes = []interface{}{ | 
		
	
		
			
				|  |  |  |  | 	(BackendEvent_Type)(0), // 0: BackendEvent.Type | 
		
	
		
			
				|  |  |  |  | 	(*Event)(nil),          // 1: Event | 
		
	
		
			
				|  |  |  |  | 	(*PeerEvent)(nil),      // 2: PeerEvent | 
		
	
		
			
				|  |  |  |  | 	(*InterfaceEvent)(nil), // 3: InterfaceEvent | 
		
	
		
			
				|  |  |  |  | 	(*BackendEvent)(nil),   // 4: BackendEvent | 
		
	
		
			
				|  |  |  |  | 	(*Timestamp)(nil),      // 5: Timestamp | 
		
	
		
			
				|  |  |  |  | 	(*Peer)(nil),           // 6: Peer | 
		
	
		
			
				|  |  |  |  | 	(*Interface)(nil),      // 7: Interface | 
		
	
		
			
				|  |  |  |  | 	(Event_Type)(0),                        // 0: Event.Type | 
		
	
		
			
				|  |  |  |  | 	(BackendReadyEvent_Type)(0),            // 1: BackendReadyEvent.Type | 
		
	
		
			
				|  |  |  |  | 	(*Event)(nil),                          // 2: Event | 
		
	
		
			
				|  |  |  |  | 	(*PeerModifiedEvent)(nil),              // 3: PeerModifiedEvent | 
		
	
		
			
				|  |  |  |  | 	(*PeerConnectionStateChangeEvent)(nil), // 4: PeerConnectionStateChangeEvent | 
		
	
		
			
				|  |  |  |  | 	(*BackendReadyEvent)(nil),              // 5: BackendReadyEvent | 
		
	
		
			
				|  |  |  |  | 	(*Timestamp)(nil),                      // 6: Timestamp | 
		
	
		
			
				|  |  |  |  | 	(ConnectionState)(0),                   // 7: ConnectionState | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  | var file_event_proto_depIdxs = []int32{ | 
		
	
		
			
				|  |  |  |  | 	5, // 0: Event.time:type_name -> Timestamp | 
		
	
		
			
				|  |  |  |  | 	2, // 1: Event.peer:type_name -> PeerEvent | 
		
	
		
			
				|  |  |  |  | 	3, // 2: Event.intf:type_name -> InterfaceEvent | 
		
	
		
			
				|  |  |  |  | 	4, // 3: Event.backend:type_name -> BackendEvent | 
		
	
		
			
				|  |  |  |  | 	6, // 4: PeerEvent.peer:type_name -> Peer | 
		
	
		
			
				|  |  |  |  | 	7, // 5: InterfaceEvent.interface:type_name -> Interface | 
		
	
		
			
				|  |  |  |  | 	0, // 6: BackendEvent.type:type_name -> BackendEvent.Type | 
		
	
		
			
				|  |  |  |  | 	0, // 0: Event.type:type_name -> Event.Type | 
		
	
		
			
				|  |  |  |  | 	6, // 1: Event.time:type_name -> Timestamp | 
		
	
		
			
				|  |  |  |  | 	3, // 2: Event.peer_modified:type_name -> PeerModifiedEvent | 
		
	
		
			
				|  |  |  |  | 	4, // 3: Event.peer_connection_state_change:type_name -> PeerConnectionStateChangeEvent | 
		
	
		
			
				|  |  |  |  | 	5, // 4: Event.backend_ready:type_name -> BackendReadyEvent | 
		
	
		
			
				|  |  |  |  | 	7, // 5: PeerConnectionStateChangeEvent.new_state:type_name -> ConnectionState | 
		
	
		
			
				|  |  |  |  | 	1, // 6: BackendReadyEvent.type:type_name -> BackendReadyEvent.Type | 
		
	
		
			
				|  |  |  |  | 	7, // [7:7] is the sub-list for method output_type | 
		
	
		
			
				|  |  |  |  | 	7, // [7:7] is the sub-list for method input_type | 
		
	
		
			
				|  |  |  |  | 	7, // [7:7] is the sub-list for extension type_name | 
		
	
	
		
			
				
					
					|  |  |  | @@ -431,8 +515,6 @@ func file_event_proto_init() { | 
		
	
		
			
				|  |  |  |  | 		return | 
		
	
		
			
				|  |  |  |  | 	} | 
		
	
		
			
				|  |  |  |  | 	file_common_proto_init() | 
		
	
		
			
				|  |  |  |  | 	file_peer_proto_init() | 
		
	
		
			
				|  |  |  |  | 	file_interface_proto_init() | 
		
	
		
			
				|  |  |  |  | 	if !protoimpl.UnsafeEnabled { | 
		
	
		
			
				|  |  |  |  | 		file_event_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { | 
		
	
		
			
				|  |  |  |  | 			switch v := v.(*Event); i { | 
		
	
	
		
			
				
					
					|  |  |  | @@ -447,7 +529,7 @@ func file_event_proto_init() { | 
		
	
		
			
				|  |  |  |  | 			} | 
		
	
		
			
				|  |  |  |  | 		} | 
		
	
		
			
				|  |  |  |  | 		file_event_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { | 
		
	
		
			
				|  |  |  |  | 			switch v := v.(*PeerEvent); i { | 
		
	
		
			
				|  |  |  |  | 			switch v := v.(*PeerModifiedEvent); i { | 
		
	
		
			
				|  |  |  |  | 			case 0: | 
		
	
		
			
				|  |  |  |  | 				return &v.state | 
		
	
		
			
				|  |  |  |  | 			case 1: | 
		
	
	
		
			
				
					
					|  |  |  | @@ -459,7 +541,7 @@ func file_event_proto_init() { | 
		
	
		
			
				|  |  |  |  | 			} | 
		
	
		
			
				|  |  |  |  | 		} | 
		
	
		
			
				|  |  |  |  | 		file_event_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { | 
		
	
		
			
				|  |  |  |  | 			switch v := v.(*InterfaceEvent); i { | 
		
	
		
			
				|  |  |  |  | 			switch v := v.(*PeerConnectionStateChangeEvent); i { | 
		
	
		
			
				|  |  |  |  | 			case 0: | 
		
	
		
			
				|  |  |  |  | 				return &v.state | 
		
	
		
			
				|  |  |  |  | 			case 1: | 
		
	
	
		
			
				
					
					|  |  |  | @@ -471,7 +553,7 @@ func file_event_proto_init() { | 
		
	
		
			
				|  |  |  |  | 			} | 
		
	
		
			
				|  |  |  |  | 		} | 
		
	
		
			
				|  |  |  |  | 		file_event_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { | 
		
	
		
			
				|  |  |  |  | 			switch v := v.(*BackendEvent); i { | 
		
	
		
			
				|  |  |  |  | 			switch v := v.(*BackendReadyEvent); i { | 
		
	
		
			
				|  |  |  |  | 			case 0: | 
		
	
		
			
				|  |  |  |  | 				return &v.state | 
		
	
		
			
				|  |  |  |  | 			case 1: | 
		
	
	
		
			
				
					
					|  |  |  | @@ -484,16 +566,16 @@ func file_event_proto_init() { | 
		
	
		
			
				|  |  |  |  | 		} | 
		
	
		
			
				|  |  |  |  | 	} | 
		
	
		
			
				|  |  |  |  | 	file_event_proto_msgTypes[0].OneofWrappers = []interface{}{ | 
		
	
		
			
				|  |  |  |  | 		(*Event_Peer)(nil), | 
		
	
		
			
				|  |  |  |  | 		(*Event_Intf)(nil), | 
		
	
		
			
				|  |  |  |  | 		(*Event_Backend)(nil), | 
		
	
		
			
				|  |  |  |  | 		(*Event_PeerModified)(nil), | 
		
	
		
			
				|  |  |  |  | 		(*Event_PeerConnectionStateChange)(nil), | 
		
	
		
			
				|  |  |  |  | 		(*Event_BackendReady)(nil), | 
		
	
		
			
				|  |  |  |  | 	} | 
		
	
		
			
				|  |  |  |  | 	type x struct{} | 
		
	
		
			
				|  |  |  |  | 	out := protoimpl.TypeBuilder{ | 
		
	
		
			
				|  |  |  |  | 		File: protoimpl.DescBuilder{ | 
		
	
		
			
				|  |  |  |  | 			GoPackagePath: reflect.TypeOf(x{}).PkgPath(), | 
		
	
		
			
				|  |  |  |  | 			RawDescriptor: file_event_proto_rawDesc, | 
		
	
		
			
				|  |  |  |  | 			NumEnums:      1, | 
		
	
		
			
				|  |  |  |  | 			NumEnums:      2, | 
		
	
		
			
				|  |  |  |  | 			NumMessages:   4, | 
		
	
		
			
				|  |  |  |  | 			NumExtensions: 0, | 
		
	
		
			
				|  |  |  |  | 			NumServices:   0, | 
		
	
	
		
			
				
					
					|  |  |  |   |