// @generated // This file is @generated by prost-build. /// EntityState represents the state of an entity in the mesh (e.g., a room). #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct EntityState { /// Type of entity (e.g., "room") #[prost(string, tag="1")] pub entity_type: ::prost::alloc::string::String, /// Unique identifier (e.g., room name) #[prost(string, tag="2")] pub entity_id: ::prost::alloc::string::String, /// Whether the entity is active #[prost(bool, tag="3")] pub active: bool, /// Relay ID that owns this entity #[prost(string, tag="4")] pub owner_relay_id: ::prost::alloc::string::String, } /// MeshMessage is the top-level message for all relay-to-relay communication. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct MeshMessage { #[prost(oneof="mesh_message::Type", tags="1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13")] pub r#type: ::core::option::Option, } /// Nested message and enum types in `MeshMessage`. pub mod mesh_message { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] pub enum Type { /// Level 0 #[prost(message, tag="1")] StateUpdate(super::StateUpdate), #[prost(message, tag="2")] Ack(super::Ack), #[prost(message, tag="3")] RetransmissionRequest(super::RetransmissionRequest), #[prost(message, tag="4")] Retransmission(super::Retransmission), #[prost(message, tag="5")] Heartbeat(super::Heartbeat), #[prost(message, tag="6")] SuspectRelay(super::SuspectRelay), #[prost(message, tag="7")] Disconnect(super::Disconnect), /// Level 1 #[prost(message, tag="8")] ForwardSdp(super::ForwardSdp), #[prost(message, tag="9")] ForwardIce(super::ForwardIce), #[prost(message, tag="10")] ForwardIngest(super::ForwardIngest), #[prost(message, tag="11")] StreamRequest(super::StreamRequest), /// Level 2 #[prost(message, tag="12")] Handshake(super::Handshake), #[prost(message, tag="13")] HandshakeResponse(super::HandshakeResponse), } } /// Handshake to inititiate new connection to mesh. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Handshake { /// UUID of the relay #[prost(string, tag="1")] pub relay_id: ::prost::alloc::string::String, /// base64 encoded Diffie-Hellman public key #[prost(string, tag="2")] pub dh_public_key: ::prost::alloc::string::String, } /// HandshakeResponse to respond to a mesh joiner. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct HandshakeResponse { #[prost(string, tag="1")] pub relay_id: ::prost::alloc::string::String, #[prost(string, tag="2")] pub dh_public_key: ::prost::alloc::string::String, /// relay id to signature #[prost(map="string, string", tag="3")] pub approvals: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>, } /// Forwarded SDP from another relay. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ForwardSdp { #[prost(string, tag="1")] pub room_name: ::prost::alloc::string::String, #[prost(string, tag="2")] pub participant_id: ::prost::alloc::string::String, #[prost(string, tag="3")] pub sdp: ::prost::alloc::string::String, /// "offer" or "answer" #[prost(string, tag="4")] pub r#type: ::prost::alloc::string::String, } /// Forwarded ICE candidate from another relay. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ForwardIce { #[prost(string, tag="1")] pub room_name: ::prost::alloc::string::String, #[prost(string, tag="2")] pub participant_id: ::prost::alloc::string::String, #[prost(string, tag="3")] pub candidate: ::prost::alloc::string::String, } /// Forwarded ingest room from another relay. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ForwardIngest { #[prost(string, tag="1")] pub room_name: ::prost::alloc::string::String, } /// Stream request from mesh. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct StreamRequest { #[prost(string, tag="1")] pub room_name: ::prost::alloc::string::String, } /// StateUpdate propagates entity state changes across the mesh. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct StateUpdate { /// Unique sequence number for this update #[prost(uint64, tag="1")] pub sequence_number: u64, /// Key: entity_id (e.g., room name), Value: EntityState #[prost(map="string, message", tag="2")] pub entities: ::std::collections::HashMap<::prost::alloc::string::String, EntityState>, } /// Ack acknowledges receipt of a StateUpdate. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Ack { /// UUID of the acknowledging relay #[prost(string, tag="1")] pub relay_id: ::prost::alloc::string::String, /// Sequence number being acknowledged #[prost(uint64, tag="2")] pub sequence_number: u64, } /// RetransmissionRequest requests a missed StateUpdate. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct RetransmissionRequest { /// UUID of the requesting relay #[prost(string, tag="1")] pub relay_id: ::prost::alloc::string::String, /// Sequence number of the missed update #[prost(uint64, tag="2")] pub sequence_number: u64, } /// Retransmission resends a StateUpdate. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Retransmission { /// UUID of the sending relay #[prost(string, tag="1")] pub relay_id: ::prost::alloc::string::String, /// The retransmitted update #[prost(message, optional, tag="2")] pub state_update: ::core::option::Option, } /// Heartbeat signals relay liveness. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Heartbeat { /// UUID of the sending relay #[prost(string, tag="1")] pub relay_id: ::prost::alloc::string::String, /// Time of the heartbeat #[prost(message, optional, tag="2")] pub timestamp: ::core::option::Option<::prost_types::Timestamp>, } /// SuspectRelay marks a relay as potentially unresponsive. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SuspectRelay { /// UUID of the suspected relay #[prost(string, tag="1")] pub relay_id: ::prost::alloc::string::String, /// Reason for suspicion (e.g., "no heartbeat") #[prost(string, tag="2")] pub reason: ::prost::alloc::string::String, } /// Disconnect signals to remove a relay from the mesh. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Disconnect { /// UUID of the relay to disconnect #[prost(string, tag="1")] pub relay_id: ::prost::alloc::string::String, /// Reason for disconnection (e.g., "unresponsive") #[prost(string, tag="2")] pub reason: ::prost::alloc::string::String, } // @@protoc_insertion_point(module)