diff --git a/Cargo.lock b/Cargo.lock index 3e56e97..6ff75e9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -269,7 +269,7 @@ dependencies = [ [[package]] name = "trzcina" -version = "0.2.0" +version = "0.2.1" dependencies = [ "anyhow", "async-trait", diff --git a/trzcina/Cargo.toml b/trzcina/Cargo.toml index e170d0e..0c609a4 100644 --- a/trzcina/Cargo.toml +++ b/trzcina/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "trzcina" -version = "0.2.0" +version = "0.2.1" edition = "2024" license = "Apache-2.0" description = "Async service lifecycle orchestration with cooperative cancellation and shutdown deadlines." diff --git a/trzcina/src/service_shutdown_options.rs b/trzcina/src/service_shutdown_options.rs index 1562d7f..9f4257f 100644 --- a/trzcina/src/service_shutdown_options.rs +++ b/trzcina/src/service_shutdown_options.rs @@ -1,5 +1,6 @@ use std::time::Duration; +#[derive(Clone)] pub struct ServiceShutdownOptions { pub cooperative_deadline: Duration, pub abort_deadline: Duration, diff --git a/trzcina/tests/service_shutdown_options_can_be_cloned.rs b/trzcina/tests/service_shutdown_options_can_be_cloned.rs new file mode 100644 index 0000000..e5c3238 --- /dev/null +++ b/trzcina/tests/service_shutdown_options_can_be_cloned.rs @@ -0,0 +1,14 @@ +use std::time::Duration; + +use trzcina::ServiceShutdownOptions; + +#[test] +fn can_be_cloned() { + let original = ServiceShutdownOptions { + cooperative_deadline: Duration::from_millis(7), + abort_deadline: Duration::from_millis(11), + }; + let cloned = original.clone(); + assert_eq!(original.cooperative_deadline, cloned.cooperative_deadline); + assert_eq!(original.abort_deadline, cloned.abort_deadline); +}