From 565c12405eb8fb5a9d33515562fe35cdcd37b748 Mon Sep 17 00:00:00 2001 From: Lucien Greathouse Date: Wed, 3 Aug 2022 17:19:23 -0400 Subject: [PATCH] Skip empty AppliedPatchSets for sending changes. --- src/change_processor.rs | 8 ++++++-- src/snapshot/patch.rs | 6 +++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/change_processor.rs b/src/change_processor.rs index dce1cd8d..ac9cb869 100644 --- a/src/change_processor.rs +++ b/src/change_processor.rs @@ -154,7 +154,9 @@ impl JobThreadContext { for id in affected_ids { if let Some(patch) = compute_and_apply_changes(&mut tree, &self.vfs, id) { - applied_patches.push(patch); + if !patch.is_empty() { + applied_patches.push(patch); + } } } } @@ -253,7 +255,9 @@ impl JobThreadContext { apply_patch_set(&mut tree, patch_set) }; - self.message_queue.push_messages(&[applied_patch]); + if !applied_patch.is_empty() { + self.message_queue.push_messages(&[applied_patch]); + } } } diff --git a/src/snapshot/patch.rs b/src/snapshot/patch.rs index 1d320a2c..4413db59 100644 --- a/src/snapshot/patch.rs +++ b/src/snapshot/patch.rs @@ -19,7 +19,7 @@ pub struct PatchSet { pub updated_instances: Vec, } -impl<'a> PatchSet { +impl PatchSet { pub fn new() -> Self { PatchSet { removed_instances: Vec::new(), @@ -76,6 +76,10 @@ impl AppliedPatchSet { updated: Vec::new(), } } + + pub fn is_empty(&self) -> bool { + self.removed.is_empty() && self.added.is_empty() && self.updated.is_empty() + } } #[derive(Debug, Clone, Serialize, Deserialize)]