chore: deps hot_reload

This commit is contained in:
Jun Kurihara 2025-06-30 18:26:56 +09:00
commit 0d4234b620
No known key found for this signature in database
GPG key ID: 9C5AF0A526862FEF
10 changed files with 17 additions and 19 deletions

12
Cargo.lock generated
View file

@ -1088,9 +1088,9 @@ dependencies = [
[[package]]
name = "hot_reload"
version = "0.1.9"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "75c6b9b663cacaa5655b282218152476f7d38f6dc29b0d9b93a7f5fd73209b6a"
checksum = "469bdabdc9436358811cd8fa2d35b3a0fc60534aca57979b931b9f5f9551ce16"
dependencies = [
"anyhow",
"async-trait",
@ -2093,7 +2093,7 @@ dependencies = [
[[package]]
name = "rpxy"
version = "0.10.0"
version = "0.10.1"
dependencies = [
"ahash",
"anyhow",
@ -2117,7 +2117,7 @@ dependencies = [
[[package]]
name = "rpxy-acme"
version = "0.10.0"
version = "0.10.1"
dependencies = [
"ahash",
"async-trait",
@ -2138,7 +2138,7 @@ dependencies = [
[[package]]
name = "rpxy-certs"
version = "0.10.0"
version = "0.10.1"
dependencies = [
"ahash",
"async-trait",
@ -2156,7 +2156,7 @@ dependencies = [
[[package]]
name = "rpxy-lib"
version = "0.10.0"
version = "0.10.1"
dependencies = [
"ahash",
"anyhow",

View file

@ -1,5 +1,5 @@
[workspace.package]
version = "0.10.0"
version = "0.10.1"
authors = ["Jun Kurihara"]
homepage = "https://github.com/junkurihara/rust-rpxy"
repository = "https://github.com/junkurihara/rust-rpxy"

View file

@ -61,7 +61,7 @@ futures-util = { version = "0.3.31", default-features = false }
# config
clap = { version = "4.5.40", features = ["std", "cargo", "wrap_help"] }
toml = { version = "0.8.23", default-features = false, features = ["parse"] }
hot_reload = "0.1.9"
hot_reload = "0.2.0"
serde_ignored = "0.1.12"
# logging

View file

@ -33,10 +33,9 @@ fn main() {
init_logger(parsed_opts.log_dir_path.as_deref());
let (config_service, config_rx) = ReloaderService::<ConfigTomlReloader, ConfigToml, String>::new(
let (config_service, config_rx) = ReloaderService::<ConfigTomlReloader, ConfigToml, String>::with_delay(
&parsed_opts.config_file_path,
CONFIG_WATCH_DELAY_SECS,
false,
)
.await
.unwrap();
@ -256,7 +255,7 @@ async fn rpxy_service(
}
/* ---------- */
_ = config_rx.changed() => {
let Some(new_config_toml) = config_rx.borrow().clone() else {
let Some(new_config_toml) = config_rx.get() else {
error!("Something wrong in config reloader receiver");
return Err(anyhow!("Something wrong in config reloader receiver"));
};

View file

@ -20,7 +20,7 @@ ahash = { version = "0.8.12" }
tracing = { version = "0.1.41" }
derive_builder = { version = "0.20.2" }
thiserror = { version = "2.0.12" }
hot_reload = { version = "0.1.9" }
hot_reload = { version = "0.2.0" }
async-trait = { version = "0.1.88" }
rustls = { version = "0.23.28", default-features = false, features = [
"std",

View file

@ -27,8 +27,6 @@ pub use crate::{
// Constants
/// Default delay in seconds to watch certificates
const DEFAULT_CERTS_WATCH_DELAY_SECS: u32 = 60;
/// Load certificates only when updated
const LOAD_CERTS_ONLY_WHEN_UPDATED: bool = true;
/// Result type inner of certificate reloader service
type ReloaderServiceResultInner = (
@ -62,6 +60,7 @@ where
let certs_watch_period = certs_watch_period.unwrap_or(DEFAULT_CERTS_WATCH_DELAY_SECS);
let (cert_reloader_service, cert_reloader_rx) =
ReloaderService::<CryptoReloader, ServerCryptoBase>::new(&source, certs_watch_period, !LOAD_CERTS_ONLY_WHEN_UPDATED).await?;
ReloaderService::<CryptoReloader, ServerCryptoBase>::with_delay(&source, certs_watch_period).await?;
Ok((cert_reloader_service, cert_reloader_rx))
}

View file

@ -79,7 +79,7 @@ hyper-rustls = { version = "0.27.7", default-features = false, features = [
# tls and cert management for server
rpxy-certs = { path = "../rpxy-certs/", default-features = false }
hot_reload = "0.1.9"
hot_reload = "0.2.0"
rustls = { version = "0.23.28", default-features = false }
rustls-post-quantum = { version = "0.2.2", optional = true }
tokio-rustls = { version = "0.26.2", features = ["early-data"] }

View file

@ -313,7 +313,7 @@ where
error!("Reloader is broken");
break;
}
let server_crypto_base = server_crypto_rx.borrow().clone().unwrap();
let server_crypto_base = server_crypto_rx.get().unwrap();
let Some(server_config): Option<Arc<ServerCrypto>> = (&server_crypto_base).try_into().ok() else {
error!("Failed to update server crypto");
break;

View file

@ -102,7 +102,7 @@ where
error!("Reloader is broken");
break;
}
let cert_keys_map = server_crypto_rx.borrow().clone().unwrap();
let cert_keys_map = server_crypto_rx.get().unwrap();
server_crypto = (&cert_keys_map).try_into().ok();
let Some(inner) = server_crypto.clone() else {

View file

@ -52,7 +52,7 @@ where
/// Receive server crypto from reloader
fn receive_server_crypto(&self, server_crypto_rx: ReloaderReceiver<ServerCryptoBase>) -> RpxyResult<s2n_quic_rustls::Server> {
let cert_keys_map = server_crypto_rx.borrow().clone().ok_or_else(|| {
let cert_keys_map = server_crypto_rx.get().ok_or_else(|| {
error!("Reloader is broken");
RpxyError::CertificateReloadError(anyhow!("Reloader is broken").into())
})?;