use serde::{ Deserialize, Serialize }; use uuid::Uuid; use crate::{ contracts::*, UID }; pub struct UClient { pub client_info: ClientInfo, pub jobs: JobPool, // TODO: to futures } impl UClient { pub fn new(client_info: ClientInfo) -> Self { Self { client_info, jobs: Vec::new() } } } #[derive(Serialize, Deserialize, Debug, Clone)] pub struct ClientInfo { pub local_ip: String, pub hostname: String, pub username: String, pub os: String, pub platform: String, pub id: Uuid, } impl ClientInfo { pub fn gather() -> Self { ClientInfo { local_ip: String::from("1.2.3.4"), hostname: String::from("polokonzerva"), username: String::from("plazmoid"), os: String::from("pinux"), platform: String::from("x86_64"), id: *UID } } } impl ToMsg for ClientInfo {}