volli-core 0.1.11

Shared types for volli
Documentation
use crate::{DEFAULT_QUIC_PORT, DEFAULT_TCP_PORT};

#[derive(Clone, Debug)]
pub enum Protocol {
    Quic,
    Tcp,
}

#[derive(Debug, Clone)]
pub enum Role {
    Worker,
    Manager,
}

#[derive(Clone, Debug)]
pub struct WorkerConfig {
    pub host: String,
    pub quic_port: u16,
    pub tcp_port: u16,
    pub protocol: Option<Protocol>,
    pub token: String,
    pub fingerprint: String,
    pub cert: Vec<u8>,
    pub role: Role,
}

impl Default for WorkerConfig {
    fn default() -> Self {
        Self {
            host: "127.0.0.1".into(),
            quic_port: DEFAULT_QUIC_PORT,
            tcp_port: DEFAULT_TCP_PORT,
            protocol: None,
            token: String::new(),
            fingerprint: String::new(),
            cert: Vec::new(),
            role: Role::Worker,
        }
    }
}