mirror of
https://github.com/nestriness/nestri.git
synced 2025-12-12 16:55:37 +02:00
## Description We are attempting to hookup maitred to the API Maitred duties will be: - [ ] Hookup to the API - [ ] Wait for signal (from the API) to start Steam - [ ] Stop signal to stop the gaming session, clean up Steam... and maybe do the backup ## Summary by CodeRabbit - **New Features** - Introduced Docker-based deployment configurations for both the main and relay applications. - Added new API endpoints enabling real-time machine messaging and enhanced IoT operations. - Expanded database schema and actor types to support improved machine tracking. - **Improvements** - Enhanced real-time communication and relay management with streamlined room handling. - Upgraded dependencies, logging, and error handling for greater stability and performance. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: DatCaptainHorse <DatCaptainHorse@users.noreply.github.com> Co-authored-by: Kristian Ollikainen <14197772+DatCaptainHorse@users.noreply.github.com>
1171 lines
34 KiB
Go
1171 lines
34 KiB
Go
// Code generated by protoc-gen-go. DO NOT EDIT.
|
|
// versions:
|
|
// protoc-gen-go v1.36.6
|
|
// protoc (unknown)
|
|
// source: mesh.proto
|
|
|
|
package proto
|
|
|
|
import (
|
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
|
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
|
|
reflect "reflect"
|
|
sync "sync"
|
|
unsafe "unsafe"
|
|
)
|
|
|
|
const (
|
|
// Verify that this generated code is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
|
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
|
)
|
|
|
|
// MeshMessage is the top-level message for all relay-to-relay communication.
|
|
type MeshMessage struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
// Types that are valid to be assigned to Type:
|
|
//
|
|
// *MeshMessage_StateUpdate
|
|
// *MeshMessage_Ack
|
|
// *MeshMessage_RetransmissionRequest
|
|
// *MeshMessage_Retransmission
|
|
// *MeshMessage_Heartbeat
|
|
// *MeshMessage_SuspectRelay
|
|
// *MeshMessage_Disconnect
|
|
// *MeshMessage_ForwardSdp
|
|
// *MeshMessage_ForwardIce
|
|
// *MeshMessage_ForwardIngest
|
|
// *MeshMessage_StreamRequest
|
|
// *MeshMessage_Handshake
|
|
// *MeshMessage_HandshakeResponse
|
|
Type isMeshMessage_Type `protobuf_oneof:"type"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *MeshMessage) Reset() {
|
|
*x = MeshMessage{}
|
|
mi := &file_mesh_proto_msgTypes[0]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *MeshMessage) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*MeshMessage) ProtoMessage() {}
|
|
|
|
func (x *MeshMessage) ProtoReflect() protoreflect.Message {
|
|
mi := &file_mesh_proto_msgTypes[0]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use MeshMessage.ProtoReflect.Descriptor instead.
|
|
func (*MeshMessage) Descriptor() ([]byte, []int) {
|
|
return file_mesh_proto_rawDescGZIP(), []int{0}
|
|
}
|
|
|
|
func (x *MeshMessage) GetType() isMeshMessage_Type {
|
|
if x != nil {
|
|
return x.Type
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *MeshMessage) GetStateUpdate() *StateUpdate {
|
|
if x != nil {
|
|
if x, ok := x.Type.(*MeshMessage_StateUpdate); ok {
|
|
return x.StateUpdate
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *MeshMessage) GetAck() *Ack {
|
|
if x != nil {
|
|
if x, ok := x.Type.(*MeshMessage_Ack); ok {
|
|
return x.Ack
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *MeshMessage) GetRetransmissionRequest() *RetransmissionRequest {
|
|
if x != nil {
|
|
if x, ok := x.Type.(*MeshMessage_RetransmissionRequest); ok {
|
|
return x.RetransmissionRequest
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *MeshMessage) GetRetransmission() *Retransmission {
|
|
if x != nil {
|
|
if x, ok := x.Type.(*MeshMessage_Retransmission); ok {
|
|
return x.Retransmission
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *MeshMessage) GetHeartbeat() *Heartbeat {
|
|
if x != nil {
|
|
if x, ok := x.Type.(*MeshMessage_Heartbeat); ok {
|
|
return x.Heartbeat
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *MeshMessage) GetSuspectRelay() *SuspectRelay {
|
|
if x != nil {
|
|
if x, ok := x.Type.(*MeshMessage_SuspectRelay); ok {
|
|
return x.SuspectRelay
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *MeshMessage) GetDisconnect() *Disconnect {
|
|
if x != nil {
|
|
if x, ok := x.Type.(*MeshMessage_Disconnect); ok {
|
|
return x.Disconnect
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *MeshMessage) GetForwardSdp() *ForwardSDP {
|
|
if x != nil {
|
|
if x, ok := x.Type.(*MeshMessage_ForwardSdp); ok {
|
|
return x.ForwardSdp
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *MeshMessage) GetForwardIce() *ForwardICE {
|
|
if x != nil {
|
|
if x, ok := x.Type.(*MeshMessage_ForwardIce); ok {
|
|
return x.ForwardIce
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *MeshMessage) GetForwardIngest() *ForwardIngest {
|
|
if x != nil {
|
|
if x, ok := x.Type.(*MeshMessage_ForwardIngest); ok {
|
|
return x.ForwardIngest
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *MeshMessage) GetStreamRequest() *StreamRequest {
|
|
if x != nil {
|
|
if x, ok := x.Type.(*MeshMessage_StreamRequest); ok {
|
|
return x.StreamRequest
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *MeshMessage) GetHandshake() *Handshake {
|
|
if x != nil {
|
|
if x, ok := x.Type.(*MeshMessage_Handshake); ok {
|
|
return x.Handshake
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *MeshMessage) GetHandshakeResponse() *HandshakeResponse {
|
|
if x != nil {
|
|
if x, ok := x.Type.(*MeshMessage_HandshakeResponse); ok {
|
|
return x.HandshakeResponse
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type isMeshMessage_Type interface {
|
|
isMeshMessage_Type()
|
|
}
|
|
|
|
type MeshMessage_StateUpdate struct {
|
|
// Level 0
|
|
StateUpdate *StateUpdate `protobuf:"bytes,1,opt,name=state_update,json=stateUpdate,proto3,oneof"`
|
|
}
|
|
|
|
type MeshMessage_Ack struct {
|
|
Ack *Ack `protobuf:"bytes,2,opt,name=ack,proto3,oneof"`
|
|
}
|
|
|
|
type MeshMessage_RetransmissionRequest struct {
|
|
RetransmissionRequest *RetransmissionRequest `protobuf:"bytes,3,opt,name=retransmission_request,json=retransmissionRequest,proto3,oneof"`
|
|
}
|
|
|
|
type MeshMessage_Retransmission struct {
|
|
Retransmission *Retransmission `protobuf:"bytes,4,opt,name=retransmission,proto3,oneof"`
|
|
}
|
|
|
|
type MeshMessage_Heartbeat struct {
|
|
Heartbeat *Heartbeat `protobuf:"bytes,5,opt,name=heartbeat,proto3,oneof"`
|
|
}
|
|
|
|
type MeshMessage_SuspectRelay struct {
|
|
SuspectRelay *SuspectRelay `protobuf:"bytes,6,opt,name=suspect_relay,json=suspectRelay,proto3,oneof"`
|
|
}
|
|
|
|
type MeshMessage_Disconnect struct {
|
|
Disconnect *Disconnect `protobuf:"bytes,7,opt,name=disconnect,proto3,oneof"`
|
|
}
|
|
|
|
type MeshMessage_ForwardSdp struct {
|
|
// Level 1
|
|
ForwardSdp *ForwardSDP `protobuf:"bytes,8,opt,name=forward_sdp,json=forwardSdp,proto3,oneof"`
|
|
}
|
|
|
|
type MeshMessage_ForwardIce struct {
|
|
ForwardIce *ForwardICE `protobuf:"bytes,9,opt,name=forward_ice,json=forwardIce,proto3,oneof"`
|
|
}
|
|
|
|
type MeshMessage_ForwardIngest struct {
|
|
ForwardIngest *ForwardIngest `protobuf:"bytes,10,opt,name=forward_ingest,json=forwardIngest,proto3,oneof"`
|
|
}
|
|
|
|
type MeshMessage_StreamRequest struct {
|
|
StreamRequest *StreamRequest `protobuf:"bytes,11,opt,name=stream_request,json=streamRequest,proto3,oneof"`
|
|
}
|
|
|
|
type MeshMessage_Handshake struct {
|
|
// Level 2
|
|
Handshake *Handshake `protobuf:"bytes,12,opt,name=handshake,proto3,oneof"`
|
|
}
|
|
|
|
type MeshMessage_HandshakeResponse struct {
|
|
HandshakeResponse *HandshakeResponse `protobuf:"bytes,13,opt,name=handshake_response,json=handshakeResponse,proto3,oneof"`
|
|
}
|
|
|
|
func (*MeshMessage_StateUpdate) isMeshMessage_Type() {}
|
|
|
|
func (*MeshMessage_Ack) isMeshMessage_Type() {}
|
|
|
|
func (*MeshMessage_RetransmissionRequest) isMeshMessage_Type() {}
|
|
|
|
func (*MeshMessage_Retransmission) isMeshMessage_Type() {}
|
|
|
|
func (*MeshMessage_Heartbeat) isMeshMessage_Type() {}
|
|
|
|
func (*MeshMessage_SuspectRelay) isMeshMessage_Type() {}
|
|
|
|
func (*MeshMessage_Disconnect) isMeshMessage_Type() {}
|
|
|
|
func (*MeshMessage_ForwardSdp) isMeshMessage_Type() {}
|
|
|
|
func (*MeshMessage_ForwardIce) isMeshMessage_Type() {}
|
|
|
|
func (*MeshMessage_ForwardIngest) isMeshMessage_Type() {}
|
|
|
|
func (*MeshMessage_StreamRequest) isMeshMessage_Type() {}
|
|
|
|
func (*MeshMessage_Handshake) isMeshMessage_Type() {}
|
|
|
|
func (*MeshMessage_HandshakeResponse) isMeshMessage_Type() {}
|
|
|
|
// Handshake to inititiate new connection to mesh.
|
|
type Handshake struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
RelayId string `protobuf:"bytes,1,opt,name=relay_id,json=relayId,proto3" json:"relay_id,omitempty"` // UUID of the relay
|
|
DhPublicKey string `protobuf:"bytes,2,opt,name=dh_public_key,json=dhPublicKey,proto3" json:"dh_public_key,omitempty"` // base64 encoded Diffie-Hellman public key
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *Handshake) Reset() {
|
|
*x = Handshake{}
|
|
mi := &file_mesh_proto_msgTypes[1]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *Handshake) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Handshake) ProtoMessage() {}
|
|
|
|
func (x *Handshake) ProtoReflect() protoreflect.Message {
|
|
mi := &file_mesh_proto_msgTypes[1]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Handshake.ProtoReflect.Descriptor instead.
|
|
func (*Handshake) Descriptor() ([]byte, []int) {
|
|
return file_mesh_proto_rawDescGZIP(), []int{1}
|
|
}
|
|
|
|
func (x *Handshake) GetRelayId() string {
|
|
if x != nil {
|
|
return x.RelayId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Handshake) GetDhPublicKey() string {
|
|
if x != nil {
|
|
return x.DhPublicKey
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// HandshakeResponse to respond to a mesh joiner.
|
|
type HandshakeResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
RelayId string `protobuf:"bytes,1,opt,name=relay_id,json=relayId,proto3" json:"relay_id,omitempty"`
|
|
DhPublicKey string `protobuf:"bytes,2,opt,name=dh_public_key,json=dhPublicKey,proto3" json:"dh_public_key,omitempty"`
|
|
Approvals map[string]string `protobuf:"bytes,3,rep,name=approvals,proto3" json:"approvals,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // relay id to signature
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *HandshakeResponse) Reset() {
|
|
*x = HandshakeResponse{}
|
|
mi := &file_mesh_proto_msgTypes[2]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *HandshakeResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*HandshakeResponse) ProtoMessage() {}
|
|
|
|
func (x *HandshakeResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_mesh_proto_msgTypes[2]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use HandshakeResponse.ProtoReflect.Descriptor instead.
|
|
func (*HandshakeResponse) Descriptor() ([]byte, []int) {
|
|
return file_mesh_proto_rawDescGZIP(), []int{2}
|
|
}
|
|
|
|
func (x *HandshakeResponse) GetRelayId() string {
|
|
if x != nil {
|
|
return x.RelayId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *HandshakeResponse) GetDhPublicKey() string {
|
|
if x != nil {
|
|
return x.DhPublicKey
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *HandshakeResponse) GetApprovals() map[string]string {
|
|
if x != nil {
|
|
return x.Approvals
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Forwarded SDP from another relay.
|
|
type ForwardSDP struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
RoomName string `protobuf:"bytes,1,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"`
|
|
ParticipantId string `protobuf:"bytes,2,opt,name=participant_id,json=participantId,proto3" json:"participant_id,omitempty"`
|
|
Sdp string `protobuf:"bytes,3,opt,name=sdp,proto3" json:"sdp,omitempty"`
|
|
Type string `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"` // "offer" or "answer"
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *ForwardSDP) Reset() {
|
|
*x = ForwardSDP{}
|
|
mi := &file_mesh_proto_msgTypes[3]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *ForwardSDP) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ForwardSDP) ProtoMessage() {}
|
|
|
|
func (x *ForwardSDP) ProtoReflect() protoreflect.Message {
|
|
mi := &file_mesh_proto_msgTypes[3]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ForwardSDP.ProtoReflect.Descriptor instead.
|
|
func (*ForwardSDP) Descriptor() ([]byte, []int) {
|
|
return file_mesh_proto_rawDescGZIP(), []int{3}
|
|
}
|
|
|
|
func (x *ForwardSDP) GetRoomName() string {
|
|
if x != nil {
|
|
return x.RoomName
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ForwardSDP) GetParticipantId() string {
|
|
if x != nil {
|
|
return x.ParticipantId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ForwardSDP) GetSdp() string {
|
|
if x != nil {
|
|
return x.Sdp
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ForwardSDP) GetType() string {
|
|
if x != nil {
|
|
return x.Type
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// Forwarded ICE candidate from another relay.
|
|
type ForwardICE struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
RoomName string `protobuf:"bytes,1,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"`
|
|
ParticipantId string `protobuf:"bytes,2,opt,name=participant_id,json=participantId,proto3" json:"participant_id,omitempty"`
|
|
Candidate *ICECandidateInit `protobuf:"bytes,3,opt,name=candidate,proto3" json:"candidate,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *ForwardICE) Reset() {
|
|
*x = ForwardICE{}
|
|
mi := &file_mesh_proto_msgTypes[4]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *ForwardICE) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ForwardICE) ProtoMessage() {}
|
|
|
|
func (x *ForwardICE) ProtoReflect() protoreflect.Message {
|
|
mi := &file_mesh_proto_msgTypes[4]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ForwardICE.ProtoReflect.Descriptor instead.
|
|
func (*ForwardICE) Descriptor() ([]byte, []int) {
|
|
return file_mesh_proto_rawDescGZIP(), []int{4}
|
|
}
|
|
|
|
func (x *ForwardICE) GetRoomName() string {
|
|
if x != nil {
|
|
return x.RoomName
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ForwardICE) GetParticipantId() string {
|
|
if x != nil {
|
|
return x.ParticipantId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ForwardICE) GetCandidate() *ICECandidateInit {
|
|
if x != nil {
|
|
return x.Candidate
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Forwarded ingest room from another relay.
|
|
type ForwardIngest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
RoomName string `protobuf:"bytes,1,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *ForwardIngest) Reset() {
|
|
*x = ForwardIngest{}
|
|
mi := &file_mesh_proto_msgTypes[5]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *ForwardIngest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ForwardIngest) ProtoMessage() {}
|
|
|
|
func (x *ForwardIngest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_mesh_proto_msgTypes[5]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ForwardIngest.ProtoReflect.Descriptor instead.
|
|
func (*ForwardIngest) Descriptor() ([]byte, []int) {
|
|
return file_mesh_proto_rawDescGZIP(), []int{5}
|
|
}
|
|
|
|
func (x *ForwardIngest) GetRoomName() string {
|
|
if x != nil {
|
|
return x.RoomName
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// Stream request from mesh.
|
|
type StreamRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
RoomName string `protobuf:"bytes,1,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *StreamRequest) Reset() {
|
|
*x = StreamRequest{}
|
|
mi := &file_mesh_proto_msgTypes[6]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *StreamRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*StreamRequest) ProtoMessage() {}
|
|
|
|
func (x *StreamRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_mesh_proto_msgTypes[6]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use StreamRequest.ProtoReflect.Descriptor instead.
|
|
func (*StreamRequest) Descriptor() ([]byte, []int) {
|
|
return file_mesh_proto_rawDescGZIP(), []int{6}
|
|
}
|
|
|
|
func (x *StreamRequest) GetRoomName() string {
|
|
if x != nil {
|
|
return x.RoomName
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// StateUpdate propagates entity state changes across the mesh.
|
|
type StateUpdate struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
SequenceNumber uint64 `protobuf:"varint,1,opt,name=sequence_number,json=sequenceNumber,proto3" json:"sequence_number,omitempty"` // Unique sequence number for this update
|
|
Entities map[string]*EntityState `protobuf:"bytes,2,rep,name=entities,proto3" json:"entities,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // Key: entity_id (e.g., room name), Value: EntityState
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *StateUpdate) Reset() {
|
|
*x = StateUpdate{}
|
|
mi := &file_mesh_proto_msgTypes[7]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *StateUpdate) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*StateUpdate) ProtoMessage() {}
|
|
|
|
func (x *StateUpdate) ProtoReflect() protoreflect.Message {
|
|
mi := &file_mesh_proto_msgTypes[7]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use StateUpdate.ProtoReflect.Descriptor instead.
|
|
func (*StateUpdate) Descriptor() ([]byte, []int) {
|
|
return file_mesh_proto_rawDescGZIP(), []int{7}
|
|
}
|
|
|
|
func (x *StateUpdate) GetSequenceNumber() uint64 {
|
|
if x != nil {
|
|
return x.SequenceNumber
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *StateUpdate) GetEntities() map[string]*EntityState {
|
|
if x != nil {
|
|
return x.Entities
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Ack acknowledges receipt of a StateUpdate.
|
|
type Ack struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
RelayId string `protobuf:"bytes,1,opt,name=relay_id,json=relayId,proto3" json:"relay_id,omitempty"` // UUID of the acknowledging relay
|
|
SequenceNumber uint64 `protobuf:"varint,2,opt,name=sequence_number,json=sequenceNumber,proto3" json:"sequence_number,omitempty"` // Sequence number being acknowledged
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *Ack) Reset() {
|
|
*x = Ack{}
|
|
mi := &file_mesh_proto_msgTypes[8]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *Ack) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Ack) ProtoMessage() {}
|
|
|
|
func (x *Ack) ProtoReflect() protoreflect.Message {
|
|
mi := &file_mesh_proto_msgTypes[8]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Ack.ProtoReflect.Descriptor instead.
|
|
func (*Ack) Descriptor() ([]byte, []int) {
|
|
return file_mesh_proto_rawDescGZIP(), []int{8}
|
|
}
|
|
|
|
func (x *Ack) GetRelayId() string {
|
|
if x != nil {
|
|
return x.RelayId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Ack) GetSequenceNumber() uint64 {
|
|
if x != nil {
|
|
return x.SequenceNumber
|
|
}
|
|
return 0
|
|
}
|
|
|
|
// RetransmissionRequest requests a missed StateUpdate.
|
|
type RetransmissionRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
RelayId string `protobuf:"bytes,1,opt,name=relay_id,json=relayId,proto3" json:"relay_id,omitempty"` // UUID of the requesting relay
|
|
SequenceNumber uint64 `protobuf:"varint,2,opt,name=sequence_number,json=sequenceNumber,proto3" json:"sequence_number,omitempty"` // Sequence number of the missed update
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *RetransmissionRequest) Reset() {
|
|
*x = RetransmissionRequest{}
|
|
mi := &file_mesh_proto_msgTypes[9]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *RetransmissionRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*RetransmissionRequest) ProtoMessage() {}
|
|
|
|
func (x *RetransmissionRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_mesh_proto_msgTypes[9]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use RetransmissionRequest.ProtoReflect.Descriptor instead.
|
|
func (*RetransmissionRequest) Descriptor() ([]byte, []int) {
|
|
return file_mesh_proto_rawDescGZIP(), []int{9}
|
|
}
|
|
|
|
func (x *RetransmissionRequest) GetRelayId() string {
|
|
if x != nil {
|
|
return x.RelayId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *RetransmissionRequest) GetSequenceNumber() uint64 {
|
|
if x != nil {
|
|
return x.SequenceNumber
|
|
}
|
|
return 0
|
|
}
|
|
|
|
// Retransmission resends a StateUpdate.
|
|
type Retransmission struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
RelayId string `protobuf:"bytes,1,opt,name=relay_id,json=relayId,proto3" json:"relay_id,omitempty"` // UUID of the sending relay
|
|
StateUpdate *StateUpdate `protobuf:"bytes,2,opt,name=state_update,json=stateUpdate,proto3" json:"state_update,omitempty"` // The retransmitted update
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *Retransmission) Reset() {
|
|
*x = Retransmission{}
|
|
mi := &file_mesh_proto_msgTypes[10]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *Retransmission) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Retransmission) ProtoMessage() {}
|
|
|
|
func (x *Retransmission) ProtoReflect() protoreflect.Message {
|
|
mi := &file_mesh_proto_msgTypes[10]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Retransmission.ProtoReflect.Descriptor instead.
|
|
func (*Retransmission) Descriptor() ([]byte, []int) {
|
|
return file_mesh_proto_rawDescGZIP(), []int{10}
|
|
}
|
|
|
|
func (x *Retransmission) GetRelayId() string {
|
|
if x != nil {
|
|
return x.RelayId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Retransmission) GetStateUpdate() *StateUpdate {
|
|
if x != nil {
|
|
return x.StateUpdate
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Heartbeat signals relay liveness.
|
|
type Heartbeat struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
RelayId string `protobuf:"bytes,1,opt,name=relay_id,json=relayId,proto3" json:"relay_id,omitempty"` // UUID of the sending relay
|
|
Timestamp *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Time of the heartbeat
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *Heartbeat) Reset() {
|
|
*x = Heartbeat{}
|
|
mi := &file_mesh_proto_msgTypes[11]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *Heartbeat) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Heartbeat) ProtoMessage() {}
|
|
|
|
func (x *Heartbeat) ProtoReflect() protoreflect.Message {
|
|
mi := &file_mesh_proto_msgTypes[11]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Heartbeat.ProtoReflect.Descriptor instead.
|
|
func (*Heartbeat) Descriptor() ([]byte, []int) {
|
|
return file_mesh_proto_rawDescGZIP(), []int{11}
|
|
}
|
|
|
|
func (x *Heartbeat) GetRelayId() string {
|
|
if x != nil {
|
|
return x.RelayId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Heartbeat) GetTimestamp() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.Timestamp
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SuspectRelay marks a relay as potentially unresponsive.
|
|
type SuspectRelay struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
RelayId string `protobuf:"bytes,1,opt,name=relay_id,json=relayId,proto3" json:"relay_id,omitempty"` // UUID of the suspected relay
|
|
Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` // Reason for suspicion (e.g., "no heartbeat")
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *SuspectRelay) Reset() {
|
|
*x = SuspectRelay{}
|
|
mi := &file_mesh_proto_msgTypes[12]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *SuspectRelay) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*SuspectRelay) ProtoMessage() {}
|
|
|
|
func (x *SuspectRelay) ProtoReflect() protoreflect.Message {
|
|
mi := &file_mesh_proto_msgTypes[12]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use SuspectRelay.ProtoReflect.Descriptor instead.
|
|
func (*SuspectRelay) Descriptor() ([]byte, []int) {
|
|
return file_mesh_proto_rawDescGZIP(), []int{12}
|
|
}
|
|
|
|
func (x *SuspectRelay) GetRelayId() string {
|
|
if x != nil {
|
|
return x.RelayId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *SuspectRelay) GetReason() string {
|
|
if x != nil {
|
|
return x.Reason
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// Disconnect signals to remove a relay from the mesh.
|
|
type Disconnect struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
RelayId string `protobuf:"bytes,1,opt,name=relay_id,json=relayId,proto3" json:"relay_id,omitempty"` // UUID of the relay to disconnect
|
|
Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` // Reason for disconnection (e.g., "unresponsive")
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *Disconnect) Reset() {
|
|
*x = Disconnect{}
|
|
mi := &file_mesh_proto_msgTypes[13]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *Disconnect) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Disconnect) ProtoMessage() {}
|
|
|
|
func (x *Disconnect) ProtoReflect() protoreflect.Message {
|
|
mi := &file_mesh_proto_msgTypes[13]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Disconnect.ProtoReflect.Descriptor instead.
|
|
func (*Disconnect) Descriptor() ([]byte, []int) {
|
|
return file_mesh_proto_rawDescGZIP(), []int{13}
|
|
}
|
|
|
|
func (x *Disconnect) GetRelayId() string {
|
|
if x != nil {
|
|
return x.RelayId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Disconnect) GetReason() string {
|
|
if x != nil {
|
|
return x.Reason
|
|
}
|
|
return ""
|
|
}
|
|
|
|
var File_mesh_proto protoreflect.FileDescriptor
|
|
|
|
const file_mesh_proto_rawDesc = "" +
|
|
"\n" +
|
|
"\n" +
|
|
"mesh.proto\x12\x05proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\vstate.proto\x1a\fwebrtc.proto\"\x90\x06\n" +
|
|
"\vMeshMessage\x127\n" +
|
|
"\fstate_update\x18\x01 \x01(\v2\x12.proto.StateUpdateH\x00R\vstateUpdate\x12\x1e\n" +
|
|
"\x03ack\x18\x02 \x01(\v2\n" +
|
|
".proto.AckH\x00R\x03ack\x12U\n" +
|
|
"\x16retransmission_request\x18\x03 \x01(\v2\x1c.proto.RetransmissionRequestH\x00R\x15retransmissionRequest\x12?\n" +
|
|
"\x0eretransmission\x18\x04 \x01(\v2\x15.proto.RetransmissionH\x00R\x0eretransmission\x120\n" +
|
|
"\theartbeat\x18\x05 \x01(\v2\x10.proto.HeartbeatH\x00R\theartbeat\x12:\n" +
|
|
"\rsuspect_relay\x18\x06 \x01(\v2\x13.proto.SuspectRelayH\x00R\fsuspectRelay\x123\n" +
|
|
"\n" +
|
|
"disconnect\x18\a \x01(\v2\x11.proto.DisconnectH\x00R\n" +
|
|
"disconnect\x124\n" +
|
|
"\vforward_sdp\x18\b \x01(\v2\x11.proto.ForwardSDPH\x00R\n" +
|
|
"forwardSdp\x124\n" +
|
|
"\vforward_ice\x18\t \x01(\v2\x11.proto.ForwardICEH\x00R\n" +
|
|
"forwardIce\x12=\n" +
|
|
"\x0eforward_ingest\x18\n" +
|
|
" \x01(\v2\x14.proto.ForwardIngestH\x00R\rforwardIngest\x12=\n" +
|
|
"\x0estream_request\x18\v \x01(\v2\x14.proto.StreamRequestH\x00R\rstreamRequest\x120\n" +
|
|
"\thandshake\x18\f \x01(\v2\x10.proto.HandshakeH\x00R\thandshake\x12I\n" +
|
|
"\x12handshake_response\x18\r \x01(\v2\x18.proto.HandshakeResponseH\x00R\x11handshakeResponseB\x06\n" +
|
|
"\x04type\"J\n" +
|
|
"\tHandshake\x12\x19\n" +
|
|
"\brelay_id\x18\x01 \x01(\tR\arelayId\x12\"\n" +
|
|
"\rdh_public_key\x18\x02 \x01(\tR\vdhPublicKey\"\xd7\x01\n" +
|
|
"\x11HandshakeResponse\x12\x19\n" +
|
|
"\brelay_id\x18\x01 \x01(\tR\arelayId\x12\"\n" +
|
|
"\rdh_public_key\x18\x02 \x01(\tR\vdhPublicKey\x12E\n" +
|
|
"\tapprovals\x18\x03 \x03(\v2'.proto.HandshakeResponse.ApprovalsEntryR\tapprovals\x1a<\n" +
|
|
"\x0eApprovalsEntry\x12\x10\n" +
|
|
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
|
|
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"v\n" +
|
|
"\n" +
|
|
"ForwardSDP\x12\x1b\n" +
|
|
"\troom_name\x18\x01 \x01(\tR\broomName\x12%\n" +
|
|
"\x0eparticipant_id\x18\x02 \x01(\tR\rparticipantId\x12\x10\n" +
|
|
"\x03sdp\x18\x03 \x01(\tR\x03sdp\x12\x12\n" +
|
|
"\x04type\x18\x04 \x01(\tR\x04type\"\x87\x01\n" +
|
|
"\n" +
|
|
"ForwardICE\x12\x1b\n" +
|
|
"\troom_name\x18\x01 \x01(\tR\broomName\x12%\n" +
|
|
"\x0eparticipant_id\x18\x02 \x01(\tR\rparticipantId\x125\n" +
|
|
"\tcandidate\x18\x03 \x01(\v2\x17.proto.ICECandidateInitR\tcandidate\",\n" +
|
|
"\rForwardIngest\x12\x1b\n" +
|
|
"\troom_name\x18\x01 \x01(\tR\broomName\",\n" +
|
|
"\rStreamRequest\x12\x1b\n" +
|
|
"\troom_name\x18\x01 \x01(\tR\broomName\"\xc5\x01\n" +
|
|
"\vStateUpdate\x12'\n" +
|
|
"\x0fsequence_number\x18\x01 \x01(\x04R\x0esequenceNumber\x12<\n" +
|
|
"\bentities\x18\x02 \x03(\v2 .proto.StateUpdate.EntitiesEntryR\bentities\x1aO\n" +
|
|
"\rEntitiesEntry\x12\x10\n" +
|
|
"\x03key\x18\x01 \x01(\tR\x03key\x12(\n" +
|
|
"\x05value\x18\x02 \x01(\v2\x12.proto.EntityStateR\x05value:\x028\x01\"I\n" +
|
|
"\x03Ack\x12\x19\n" +
|
|
"\brelay_id\x18\x01 \x01(\tR\arelayId\x12'\n" +
|
|
"\x0fsequence_number\x18\x02 \x01(\x04R\x0esequenceNumber\"[\n" +
|
|
"\x15RetransmissionRequest\x12\x19\n" +
|
|
"\brelay_id\x18\x01 \x01(\tR\arelayId\x12'\n" +
|
|
"\x0fsequence_number\x18\x02 \x01(\x04R\x0esequenceNumber\"b\n" +
|
|
"\x0eRetransmission\x12\x19\n" +
|
|
"\brelay_id\x18\x01 \x01(\tR\arelayId\x125\n" +
|
|
"\fstate_update\x18\x02 \x01(\v2\x12.proto.StateUpdateR\vstateUpdate\"`\n" +
|
|
"\tHeartbeat\x12\x19\n" +
|
|
"\brelay_id\x18\x01 \x01(\tR\arelayId\x128\n" +
|
|
"\ttimestamp\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\ttimestamp\"A\n" +
|
|
"\fSuspectRelay\x12\x19\n" +
|
|
"\brelay_id\x18\x01 \x01(\tR\arelayId\x12\x16\n" +
|
|
"\x06reason\x18\x02 \x01(\tR\x06reason\"?\n" +
|
|
"\n" +
|
|
"Disconnect\x12\x19\n" +
|
|
"\brelay_id\x18\x01 \x01(\tR\arelayId\x12\x16\n" +
|
|
"\x06reason\x18\x02 \x01(\tR\x06reasonB\x16Z\x14relay/internal/protob\x06proto3"
|
|
|
|
var (
|
|
file_mesh_proto_rawDescOnce sync.Once
|
|
file_mesh_proto_rawDescData []byte
|
|
)
|
|
|
|
func file_mesh_proto_rawDescGZIP() []byte {
|
|
file_mesh_proto_rawDescOnce.Do(func() {
|
|
file_mesh_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_mesh_proto_rawDesc), len(file_mesh_proto_rawDesc)))
|
|
})
|
|
return file_mesh_proto_rawDescData
|
|
}
|
|
|
|
var file_mesh_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
|
|
var file_mesh_proto_goTypes = []any{
|
|
(*MeshMessage)(nil), // 0: proto.MeshMessage
|
|
(*Handshake)(nil), // 1: proto.Handshake
|
|
(*HandshakeResponse)(nil), // 2: proto.HandshakeResponse
|
|
(*ForwardSDP)(nil), // 3: proto.ForwardSDP
|
|
(*ForwardICE)(nil), // 4: proto.ForwardICE
|
|
(*ForwardIngest)(nil), // 5: proto.ForwardIngest
|
|
(*StreamRequest)(nil), // 6: proto.StreamRequest
|
|
(*StateUpdate)(nil), // 7: proto.StateUpdate
|
|
(*Ack)(nil), // 8: proto.Ack
|
|
(*RetransmissionRequest)(nil), // 9: proto.RetransmissionRequest
|
|
(*Retransmission)(nil), // 10: proto.Retransmission
|
|
(*Heartbeat)(nil), // 11: proto.Heartbeat
|
|
(*SuspectRelay)(nil), // 12: proto.SuspectRelay
|
|
(*Disconnect)(nil), // 13: proto.Disconnect
|
|
nil, // 14: proto.HandshakeResponse.ApprovalsEntry
|
|
nil, // 15: proto.StateUpdate.EntitiesEntry
|
|
(*ICECandidateInit)(nil), // 16: proto.ICECandidateInit
|
|
(*timestamppb.Timestamp)(nil), // 17: google.protobuf.Timestamp
|
|
(*EntityState)(nil), // 18: proto.EntityState
|
|
}
|
|
var file_mesh_proto_depIdxs = []int32{
|
|
7, // 0: proto.MeshMessage.state_update:type_name -> proto.StateUpdate
|
|
8, // 1: proto.MeshMessage.ack:type_name -> proto.Ack
|
|
9, // 2: proto.MeshMessage.retransmission_request:type_name -> proto.RetransmissionRequest
|
|
10, // 3: proto.MeshMessage.retransmission:type_name -> proto.Retransmission
|
|
11, // 4: proto.MeshMessage.heartbeat:type_name -> proto.Heartbeat
|
|
12, // 5: proto.MeshMessage.suspect_relay:type_name -> proto.SuspectRelay
|
|
13, // 6: proto.MeshMessage.disconnect:type_name -> proto.Disconnect
|
|
3, // 7: proto.MeshMessage.forward_sdp:type_name -> proto.ForwardSDP
|
|
4, // 8: proto.MeshMessage.forward_ice:type_name -> proto.ForwardICE
|
|
5, // 9: proto.MeshMessage.forward_ingest:type_name -> proto.ForwardIngest
|
|
6, // 10: proto.MeshMessage.stream_request:type_name -> proto.StreamRequest
|
|
1, // 11: proto.MeshMessage.handshake:type_name -> proto.Handshake
|
|
2, // 12: proto.MeshMessage.handshake_response:type_name -> proto.HandshakeResponse
|
|
14, // 13: proto.HandshakeResponse.approvals:type_name -> proto.HandshakeResponse.ApprovalsEntry
|
|
16, // 14: proto.ForwardICE.candidate:type_name -> proto.ICECandidateInit
|
|
15, // 15: proto.StateUpdate.entities:type_name -> proto.StateUpdate.EntitiesEntry
|
|
7, // 16: proto.Retransmission.state_update:type_name -> proto.StateUpdate
|
|
17, // 17: proto.Heartbeat.timestamp:type_name -> google.protobuf.Timestamp
|
|
18, // 18: proto.StateUpdate.EntitiesEntry.value:type_name -> proto.EntityState
|
|
19, // [19:19] is the sub-list for method output_type
|
|
19, // [19:19] is the sub-list for method input_type
|
|
19, // [19:19] is the sub-list for extension type_name
|
|
19, // [19:19] is the sub-list for extension extendee
|
|
0, // [0:19] is the sub-list for field type_name
|
|
}
|
|
|
|
func init() { file_mesh_proto_init() }
|
|
func file_mesh_proto_init() {
|
|
if File_mesh_proto != nil {
|
|
return
|
|
}
|
|
file_state_proto_init()
|
|
file_webrtc_proto_init()
|
|
file_mesh_proto_msgTypes[0].OneofWrappers = []any{
|
|
(*MeshMessage_StateUpdate)(nil),
|
|
(*MeshMessage_Ack)(nil),
|
|
(*MeshMessage_RetransmissionRequest)(nil),
|
|
(*MeshMessage_Retransmission)(nil),
|
|
(*MeshMessage_Heartbeat)(nil),
|
|
(*MeshMessage_SuspectRelay)(nil),
|
|
(*MeshMessage_Disconnect)(nil),
|
|
(*MeshMessage_ForwardSdp)(nil),
|
|
(*MeshMessage_ForwardIce)(nil),
|
|
(*MeshMessage_ForwardIngest)(nil),
|
|
(*MeshMessage_StreamRequest)(nil),
|
|
(*MeshMessage_Handshake)(nil),
|
|
(*MeshMessage_HandshakeResponse)(nil),
|
|
}
|
|
type x struct{}
|
|
out := protoimpl.TypeBuilder{
|
|
File: protoimpl.DescBuilder{
|
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
|
RawDescriptor: unsafe.Slice(unsafe.StringData(file_mesh_proto_rawDesc), len(file_mesh_proto_rawDesc)),
|
|
NumEnums: 0,
|
|
NumMessages: 16,
|
|
NumExtensions: 0,
|
|
NumServices: 0,
|
|
},
|
|
GoTypes: file_mesh_proto_goTypes,
|
|
DependencyIndexes: file_mesh_proto_depIdxs,
|
|
MessageInfos: file_mesh_proto_msgTypes,
|
|
}.Build()
|
|
File_mesh_proto = out.File
|
|
file_mesh_proto_goTypes = nil
|
|
file_mesh_proto_depIdxs = nil
|
|
}
|