Explorar el Código

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 hace 10 meses
padre
commit
70f3b93190
Se han modificado 1 ficheros con 3 adiciones y 2 borrados
  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);
                 }
             }