dagger_sdk/core/
config.rs

1use std::path::PathBuf;
2
3use crate::core::logger::DynLogger;
4
5pub struct Config {
6    pub workdir_path: Option<PathBuf>,
7    pub config_path: Option<PathBuf>,
8    pub timeout_ms: u64,
9    pub execute_timeout_ms: Option<u64>,
10    pub logger: Option<DynLogger>,
11}
12
13impl Default for Config {
14    fn default() -> Self {
15        Self::new(None, None, None, None, None)
16    }
17}
18
19impl Config {
20    pub fn new(
21        workdir_path: Option<PathBuf>,
22        config_path: Option<PathBuf>,
23        timeout_ms: Option<u64>,
24        execute_timeout_ms: Option<u64>,
25        logger: Option<DynLogger>,
26    ) -> Self {
27        Self {
28            workdir_path,
29            config_path,
30            timeout_ms: timeout_ms.unwrap_or(10 * 1000),
31            execute_timeout_ms,
32            logger,
33        }
34    }
35}