From f1ff0fe0fe0d9ffb3a39cb9a5e2e3eace0ff8ddf Mon Sep 17 00:00:00 2001 From: Johann150 Date: Thu, 4 Feb 2021 17:56:50 +0100 Subject: [PATCH] use Mutex instead of RwLock Since we only ever need to access it mutably, no need to differentiate mutable and immutable acces. --- src/main.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main.rs b/src/main.rs index 6320f84..0a6f019 100644 --- a/src/main.rs +++ b/src/main.rs @@ -16,7 +16,7 @@ use { io::{AsyncReadExt, AsyncWriteExt}, net::{TcpListener, TcpStream}, runtime::Runtime, - sync::RwLock, + sync::Mutex, }, tokio_rustls::{server::TlsStream, TlsAcceptor}, url::{Host, Url}, @@ -27,7 +27,7 @@ fn main() -> Result { env_logger::Builder::new().parse_filters("info").init(); } Runtime::new()?.block_on(async { - let mimetypes = Arc::new(RwLock::new(FileOptions::new(PresetMeta::Parameters( + let mimetypes = Arc::new(Mutex::new(FileOptions::new(PresetMeta::Parameters( ARGS.language .as_ref() .map_or(String::new(), |lang| format!(";lang={}", lang)), @@ -179,13 +179,13 @@ fn acceptor() -> Result { struct RequestHandle { stream: TlsStream, log_line: String, - metadata: Arc>, + metadata: Arc>, } impl RequestHandle { /// Creates a new request handle for the given stream. If establishing the TLS /// session fails, returns a corresponding log line. - async fn new(stream: TcpStream, metadata: Arc>) -> Result { + async fn new(stream: TcpStream, metadata: Arc>) -> Result { let log_line = format!( "{} {}", stream.local_addr().unwrap(), @@ -316,7 +316,7 @@ impl RequestHandle { } } - let data = self.metadata.write().await.get(&path); + let data = self.metadata.lock().await.get(&path); if let PresetMeta::FullHeader(status, meta) = data { self.send_header(status, &meta).await?;