Skip to main content

volli_core/
worker.rs

1use crate::{DEFAULT_QUIC_PORT, DEFAULT_TCP_PORT};
2
3#[derive(Clone, Debug)]
4pub enum Protocol {
5    Quic,
6    Tcp,
7}
8
9#[derive(Debug, Clone)]
10pub enum Role {
11    Worker,
12    Manager,
13}
14
15#[derive(Clone, Debug)]
16pub struct WorkerConfig {
17    pub host: String,
18    pub quic_port: u16,
19    pub tcp_port: u16,
20    pub protocol: Option<Protocol>,
21    pub token: String,
22    pub fingerprint: String,
23    pub cert: Vec<u8>,
24    pub role: Role,
25}
26
27impl Default for WorkerConfig {
28    fn default() -> Self {
29        Self {
30            host: "127.0.0.1".into(),
31            quic_port: DEFAULT_QUIC_PORT,
32            tcp_port: DEFAULT_TCP_PORT,
33            protocol: None,
34            token: String::new(),
35            fingerprint: String::new(),
36            cert: Vec::new(),
37            role: Role::Worker,
38        }
39    }
40}