From 5045c3494d7b12403afd294632a36a7c3d07714f Mon Sep 17 00:00:00 2001 From: Adrian Heine Date: Wed, 8 Mar 2023 11:46:47 +0100 Subject: [PATCH] Use NonZero* where applicable --- Cargo.toml | 1 + src/symbols/tls/key.rs | 6 ++++-- src/templates/nginx/server.rs | 5 +++-- src/templates/php.rs | 7 ++++--- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 329a080..86de97b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,6 +15,7 @@ once_cell = "1.4" slog = { version = "2", features = ["max_level_trace", "release_max_level_trace"] } slog-term = "2.5" slog-async = "2.7" +nonzero_ext = "0.3.0" [dev-dependencies] tempfile = "3" diff --git a/src/symbols/tls/key.rs b/src/symbols/tls/key.rs index be2ea9f..acbb8cc 100644 --- a/src/symbols/tls/key.rs +++ b/src/symbols/tls/key.rs @@ -1,14 +1,16 @@ use crate::command_runner::CommandRunner; use crate::symbols::Symbol; use async_trait::async_trait; +use nonzero_ext::nonzero; use std::error::Error; +use std::num::NonZeroU32; use std::path::Path; #[derive(Debug)] pub struct Key { file_path: P, command_runner: C, - bits: u32, + bits: NonZeroU32, } impl Key { @@ -16,7 +18,7 @@ impl Key { Self { file_path, command_runner, - bits: 4096, + bits: nonzero!(4096u32), // FIXME: Policy } } } diff --git a/src/templates/nginx/server.rs b/src/templates/nginx/server.rs index dd28bc4..4e35b2d 100644 --- a/src/templates/nginx/server.rs +++ b/src/templates/nginx/server.rs @@ -1,4 +1,5 @@ use std::fmt::Display; +use std::num::NonZeroUsize; use std::path::Path; #[must_use] @@ -101,11 +102,11 @@ impl> SocketSpec for T { } #[derive(Debug)] -pub struct LocalTcpSocket(usize); +pub struct LocalTcpSocket(NonZeroUsize); impl LocalTcpSocket { #[must_use] - pub const fn new(x: usize) -> Self { + pub const fn new(x: NonZeroUsize) -> Self { Self(x) } } diff --git a/src/templates/php.rs b/src/templates/php.rs index 6e47e28..b0a0026 100644 --- a/src/templates/php.rs +++ b/src/templates/php.rs @@ -1,9 +1,10 @@ use std::fmt::{Display, Error, Formatter}; +use std::num::NonZeroUsize; use std::path::Path; #[derive(Clone, Debug, PartialEq, Hash, Eq)] pub struct FpmPoolConfig { - max_children: usize, + max_children: NonZeroUsize, custom: Option, } @@ -19,14 +20,14 @@ impl Display for FpmPoolConfig { impl From for FpmPoolConfig { fn from(max_children: usize) -> Self { Self { - max_children, + max_children: NonZeroUsize::try_from(max_children).unwrap(), custom: None, } } } impl FpmPoolConfig { - pub fn new(max_children: usize, custom: impl Into) -> Self { + pub fn new(max_children: NonZeroUsize, custom: impl Into) -> Self { Self { max_children, custom: Some(custom.into()),