Просмотр исходного кода

event_graph: during event request retrive only the headers we don't have the events for so we don't ask the event we already have

oars 10 месяцев назад
Родитель
Сommit
70f3b93190
1 измененных файлов с 3 добавлено и 2 удалено
  1. 3 2
      src/event_graph/mod.rs

+ 3 - 2
src/event_graph/mod.rs

@@ -619,10 +619,11 @@ impl EventGraph {
             info!(target: "event_graph::dag_sync()", "[EVENTGRAPH] Fetching events");
             let mut header_sorted = vec![];
 
+            let main_dag = self.dag_store.read().await.get_dag(&dag_name);
             for iter_elem in header_dag.iter() {
-                let (_, val) = iter_elem.unwrap();
+                let (hash_bytes , val) = iter_elem.unwrap();
                 let val: Header = deserialize_async(&val).await.unwrap();
-                if val.parents != NULL_PARENTS {
+                if val.parents != NULL_PARENTS && !main_dag.contains_key(hash_bytes)? {
                     header_sorted.push(val);
                 }
             }