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}