mirror of
https://github.com/nestriness/nestri.git
synced 2025-12-12 08:45:38 +02:00
## Description - Improves latency for runner - Fixes bugs in entrypoint bash scripts - Package updates, gstreamer 1.26 and workaround for it Modified runner workflow to hopefully pull latest cachyos base image on nightlies. This will cause a full build but for nightlies should be fine? Also removed the duplicate key-down workaround as we've enabled ordered datachannels now. Increased retransmit to 2 from 0 to see if it'll help with some network issues. Marked as draft as I need to do bug testing still, I'll do it after fever calms down 😅 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced deployment workflows with optimized container image management. - Improved audio and video processing for lower latency and better synchronization. - Consolidated debugging options to ease command-line monitoring. - **Refactor** - Streamlined internal script flow and process handling for smoother performance. - Updated dependency management and communication protocols to boost overall stability. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: DatCaptainHorse <DatCaptainHorse@users.noreply.github.com>
203 lines
7.5 KiB
Rust
203 lines
7.5 KiB
Rust
// @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<mesh_message::Type>,
|
|
}
|
|
/// 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<StateUpdate>,
|
|
}
|
|
/// 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)
|