fix start without exisiting cache
This commit is contained in:
parent
904091c455
commit
b5d2a63909
20
src/ports.rs
20
src/ports.rs
@ -283,7 +283,7 @@ impl PortHandler {
|
||||
self.last_update = Some(now);
|
||||
self.change_sender
|
||||
.as_ref()
|
||||
.expect("PortHandler is missing it's change_sender")
|
||||
.expect("PortHandler is missing its change_sender")
|
||||
.send(now)
|
||||
.expect("failed to notify cache writer");
|
||||
}
|
||||
@ -301,15 +301,9 @@ impl PortHandler {
|
||||
}
|
||||
|
||||
#[allow(clippy::missing_errors_doc)]
|
||||
#[instrument(skip(change_sender))]
|
||||
pub fn load(
|
||||
cache: &Path,
|
||||
change_sender: tokio::sync::watch::Sender<Instant>,
|
||||
) -> std::io::Result<Self> {
|
||||
pub fn load(cache: &Path) -> std::io::Result<Self> {
|
||||
info!("loading cache");
|
||||
let mut cache: Self = serde_json::from_reader(BufReader::new(File::open(cache)?))?;
|
||||
cache.change_sender = Some(change_sender);
|
||||
Ok(cache)
|
||||
Ok(serde_json::from_reader(BufReader::new(File::open(cache)?))?)
|
||||
}
|
||||
|
||||
#[must_use]
|
||||
@ -318,10 +312,14 @@ impl PortHandler {
|
||||
path: &Path,
|
||||
change_sender: tokio::sync::watch::Sender<Instant>,
|
||||
) -> Self {
|
||||
Self::load(path, change_sender).unwrap_or_else(|error| {
|
||||
let mut this = Self::load(path).unwrap_or_else(|error| {
|
||||
error!(?path, %error, "failed to parse cache file");
|
||||
Self::default()
|
||||
})
|
||||
});
|
||||
|
||||
this.change_sender = Some(change_sender);
|
||||
|
||||
this
|
||||
}
|
||||
|
||||
pub fn update_allowed_ports(&mut self, allowed_ports: &AllowedList) {
|
||||
|
Loading…
Reference in New Issue
Block a user