diff --git a/rmqtt-plugins/rmqtt-auth-http/src/lib.rs b/rmqtt-plugins/rmqtt-auth-http/src/lib.rs index 9cca982c..61b4397f 100644 --- a/rmqtt-plugins/rmqtt-auth-http/src/lib.rs +++ b/rmqtt-plugins/rmqtt-auth-http/src/lib.rs @@ -14,7 +14,7 @@ use tokio::sync::RwLock; use config::PluginConfig; use rmqtt::ntex::util::ByteString; use rmqtt::reqwest::Response; -use rmqtt::{ahash, async_trait, chrono, lazy_static, log, reqwest, serde_json, tokio}; +use rmqtt::{ahash, async_trait, chrono, log, reqwest, serde_json, tokio, once_cell::sync::Lazy}; use rmqtt::{ broker::hook::{Handler, HookResult, Parameter, Register, ReturnType, Type}, broker::types::{ @@ -505,12 +505,10 @@ impl Handler for AuthHandler { } } -lazy_static::lazy_static! { - static ref HTTP_CLIENT: reqwest::Client = { - reqwest::Client::builder() - .connect_timeout(Duration::from_secs(5)) - .timeout(Duration::from_secs(5)) - .build() - .unwrap() - }; -} +static HTTP_CLIENT: Lazy = Lazy::new(|| { + reqwest::Client::builder() + .connect_timeout(Duration::from_secs(5)) + .timeout(Duration::from_secs(5)) + .build() + .unwrap() +}); \ No newline at end of file diff --git a/rmqtt-plugins/rmqtt-cluster-raft/src/config.rs b/rmqtt-plugins/rmqtt-cluster-raft/src/config.rs index 3fc1f3e5..b0da4c24 100644 --- a/rmqtt-plugins/rmqtt-cluster-raft/src/config.rs +++ b/rmqtt-plugins/rmqtt-cluster-raft/src/config.rs @@ -10,13 +10,14 @@ use serde::Serialize; use rmqtt::grpc::MessageType; use rmqtt::settings::{deserialize_duration, deserialize_duration_option, NodeAddr, Options}; use rmqtt::Result; -use rmqtt::{lazy_static, serde_json}; +use rmqtt::{once_cell::sync::Lazy, serde_json}; -lazy_static::lazy_static! { - pub static ref BACKOFF_STRATEGY: ExponentialBackoff = ExponentialBackoffBuilder::new() +pub(crate) static BACKOFF_STRATEGY: Lazy = Lazy::new(|| { + ExponentialBackoffBuilder::new() .with_max_elapsed_time(Some(Duration::from_secs(60))) - .with_multiplier(2.5).build(); -} + .with_multiplier(2.5) + .build() +}); #[derive(Debug, Clone, Deserialize, Serialize)] pub struct PluginConfig { diff --git a/rmqtt-plugins/rmqtt-web-hook/src/lib.rs b/rmqtt-plugins/rmqtt-web-hook/src/lib.rs index 8f034d6b..402e0c0c 100644 --- a/rmqtt-plugins/rmqtt-web-hook/src/lib.rs +++ b/rmqtt-plugins/rmqtt-web-hook/src/lib.rs @@ -20,8 +20,8 @@ use rmqtt::{ async_trait::async_trait, base64::{Engine as _, engine::general_purpose}, bytestring::ByteString, - chrono, futures, lazy_static, log, - once_cell::sync::OnceCell, + chrono, futures, log, + once_cell::sync::{Lazy, OnceCell}, reqwest, rust_box::std_ext::ArcExt, rust_box::task_exec_queue::SpawnExt, @@ -280,15 +280,13 @@ impl Plugin for WebHookPlugin { } } -lazy_static::lazy_static! { - static ref HTTP_CLIENT: reqwest::Client = { - reqwest::Client::builder() - .connect_timeout(Duration::from_secs(8)) - .timeout(Duration::from_secs(15)) - .build() - .unwrap() - }; -} +static HTTP_CLIENT: Lazy = Lazy::new(|| { + reqwest::Client::builder() + .connect_timeout(Duration::from_secs(8)) + .timeout(Duration::from_secs(15)) + .build() + .unwrap() +}); type Message = (hook::Type, Option, serde_json::Value); diff --git a/rmqtt/Cargo.toml b/rmqtt/Cargo.toml index c8f54db1..c7776c99 100644 --- a/rmqtt/Cargo.toml +++ b/rmqtt/Cargo.toml @@ -38,7 +38,6 @@ bytes = { version = "1", features = ["serde"] } bytestring = { version = "1", features = ["serde"] } thiserror = "1.0" anyhow = "1.0" -lazy_static = "1.4" async-trait = "0.1" parking_lot = "0.12" serde = { version = "1.0", features = ["derive"] } diff --git a/rmqtt/src/grpc/server.rs b/rmqtt/src/grpc/server.rs index d3b6119b..12487391 100644 --- a/rmqtt/src/grpc/server.rs +++ b/rmqtt/src/grpc/server.rs @@ -1,6 +1,7 @@ use std::sync::atomic::{AtomicIsize, Ordering}; use std::sync::Arc; +use once_cell::sync::Lazy; use tonic::{transport, Response}; use crate::{Result, Runtime}; @@ -127,9 +128,9 @@ impl NodeService for NodeGrpcService { } } -lazy_static::lazy_static! { - pub static ref ACTIVE_REQUEST_COUNT: Arc = Arc::new(AtomicIsize::new(0)); -} +pub static ACTIVE_REQUEST_COUNT: Lazy> = Lazy::new(|| { + Arc::new(AtomicIsize::new(0)) +}); pub fn active_grpc_requests() -> isize { ACTIVE_REQUEST_COUNT.load(Ordering::SeqCst) diff --git a/rmqtt/src/lib.rs b/rmqtt/src/lib.rs index f4343633..747cdf00 100644 --- a/rmqtt/src/lib.rs +++ b/rmqtt/src/lib.rs @@ -19,7 +19,6 @@ pub use crossbeam; pub use dashmap; pub use futures; pub use itertools; -pub use lazy_static; pub use log; pub use ntex; pub use ntex_mqtt;