diff --git a/aquatic_udp/src/lib/glommio/common.rs b/aquatic_udp/src/lib/glommio/common.rs index d1d398c..393038d 100644 --- a/aquatic_udp/src/lib/glommio/common.rs +++ b/aquatic_udp/src/lib/glommio/common.rs @@ -1,3 +1,4 @@ +use std::borrow::Borrow; use std::cell::RefCell; use std::rc::Rc; @@ -8,18 +9,19 @@ use glommio::prelude::*; use crate::common::*; use crate::config::Config; -pub async fn update_access_list(config: Config, access_list: Rc>) { - if config.access_list.mode.is_on() { - match BufferedFile::open(config.access_list.path).await { +pub async fn update_access_list>(config: C, access_list: Rc>) { + if config.borrow().access_list.mode.is_on() { + match BufferedFile::open(&config.borrow().access_list.path).await { Ok(file) => { let mut reader = StreamReaderBuilder::new(file).build(); + let mut new_access_list = AccessList::default(); loop { let mut buf = String::with_capacity(42); match reader.read_line(&mut buf).await { Ok(_) => { - if let Err(err) = access_list.borrow_mut().insert_from_line(&buf) { + if let Err(err) = new_access_list.insert_from_line(&buf) { ::log::error!( "Couln't parse access list line '{}': {:?}", buf, @@ -36,10 +38,12 @@ pub async fn update_access_list(config: Config, access_list: Rc { ::log::error!("Couldn't open access list file: {:?}", err) } }; } -} +} \ No newline at end of file