diff --git a/Cargo.toml b/Cargo.toml index 165004447..5388de4ed 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -87,12 +87,12 @@ actix-web-codegen = "0.4.0" actix-http = "2.2.0" awc = { version = "2.0.3", default-features = false } +ahash = "0.6" bytes = "1" derive_more = "0.99.5" encoding_rs = "0.8" futures-core = { version = "0.3.7", default-features = false } futures-util = { version = "0.3.7", default-features = false } -fxhash = "0.2.1" log = "0.4" mime = "0.3" socket2 = "0.3.16" diff --git a/src/middleware/errhandlers.rs b/src/middleware/errhandlers.rs index 9e78bb7d0..d25b9c2ef 100644 --- a/src/middleware/errhandlers.rs +++ b/src/middleware/errhandlers.rs @@ -4,7 +4,7 @@ use std::task::{Context, Poll}; use actix_service::{Service, Transform}; use futures_util::future::{ok, FutureExt, LocalBoxFuture, Ready}; -use fxhash::FxHashMap; +use ahash::AHashMap; use crate::dev::{ServiceRequest, ServiceResponse}; use crate::error::{Error, Result}; @@ -52,13 +52,13 @@ type ErrorHandler<B> = dyn Fn(ServiceResponse<B>) -> Result<ErrorHandlerResponse /// # } /// ``` pub struct ErrorHandlers<B> { - handlers: Rc<FxHashMap<StatusCode, Box<ErrorHandler<B>>>>, + handlers: Rc<AHashMap<StatusCode, Box<ErrorHandler<B>>>>, } impl<B> Default for ErrorHandlers<B> { fn default() -> Self { ErrorHandlers { - handlers: Rc::new(FxHashMap::default()), + handlers: Rc::new(AHashMap::default()), } } } @@ -104,7 +104,7 @@ where #[doc(hidden)] pub struct ErrorHandlersMiddleware<S, B> { service: S, - handlers: Rc<FxHashMap<StatusCode, Box<ErrorHandler<B>>>>, + handlers: Rc<AHashMap<StatusCode, Box<ErrorHandler<B>>>>, } impl<S, B> Service<ServiceRequest> for ErrorHandlersMiddleware<S, B> diff --git a/src/rmap.rs b/src/rmap.rs index 6827a11b2..3c8805d57 100644 --- a/src/rmap.rs +++ b/src/rmap.rs @@ -2,7 +2,7 @@ use std::cell::RefCell; use std::rc::{Rc, Weak}; use actix_router::ResourceDef; -use fxhash::FxHashMap; +use ahash::AHashMap; use url::Url; use crate::error::UrlGenerationError; @@ -12,7 +12,7 @@ use crate::request::HttpRequest; pub struct ResourceMap { root: ResourceDef, parent: RefCell<Weak<ResourceMap>>, - named: FxHashMap<String, ResourceDef>, + named: AHashMap<String, ResourceDef>, patterns: Vec<(ResourceDef, Option<Rc<ResourceMap>>)>, } @@ -21,7 +21,7 @@ impl ResourceMap { ResourceMap { root, parent: RefCell::new(Weak::new()), - named: FxHashMap::default(), + named: AHashMap::default(), patterns: Vec::new(), } }