feat: add network identity

This commit is contained in:
2026-08-16 21:33:36 +02:00
parent e36ff7b048
commit d4fc5dff2e
4 changed files with 82 additions and 8 deletions

View File

@@ -0,0 +1,43 @@
use serde::{Deserialize, Serialize};
use tokio::sync::mpsc::Sender;
use crate::network::message::{Message, ServerMessage};
#[derive(Deserialize, Serialize)]
pub struct NetworkIdentity {
pub name: String,
pub id: uuid::Uuid,
pub is_ready: bool,
}
impl Default for NetworkIdentity {
fn default() -> Self {
Self {
name: String::new(),
id: uuid::Uuid::nil(),
is_ready: false,
}
}
}
pub struct NetworkServerIdentity {
// this feels silly but i have no better idea rn (i've been
// writing this since 10 a.m. and it's 9 p.m. already)
pub identity: NetworkIdentity,
pub sender: Sender<Message<ServerMessage>>,
}
impl NetworkServerIdentity {
pub fn new(sender: Sender<Message<ServerMessage>>) -> Self {
Self {
identity: NetworkIdentity::default(),
sender,
}
}
}
impl AsMut<NetworkIdentity> for NetworkServerIdentity {
fn as_mut(&mut self) -> &mut NetworkIdentity {
&mut self.identity
}
}