diff --git a/src/dag/iter.rs b/src/dag/iter.rs
index 8748a5f..eca4f27 100644
--- a/src/dag/iter.rs
+++ b/src/dag/iter.rs
@@ -39,7 +39,7 @@ where
}
/// Returns the next set of missing [nodes](Node) in the iterator.
- pub fn next(&mut self) -> Result>>> {
+ pub fn next_nodes(&mut self) -> Result >>> {
let nodes = self.dag.find_next_non_descendant_nodes(&self.root_nodes)?;
self.root_nodes = BTreeSet::new();
for id in nodes.iter().map(|n| n.id().to_vec()) {
@@ -52,3 +52,19 @@ where
}
}
}
+
+impl<'dag, S, HW> Iterator for Missing<'dag, S, HW>
+where
+ S: Store,
+ HW: HashWriter,
+{
+ type Item = Result>>;
+
+ fn next(&mut self) -> Option {
+ match self.next_nodes() {
+ Ok(Some(ns)) => Some(Ok(ns)),
+ Ok(None) => None,
+ Err(e) => Some(Err(e)),
+ }
+ }
+}
diff --git a/src/dag/mod.rs b/src/dag/mod.rs
index a21a072..46c724d 100644
--- a/src/dag/mod.rs
+++ b/src/dag/mod.rs
@@ -155,7 +155,7 @@ where
}
/// Construct a [Missing] iterator for this dag given a set of remote root nodes.
- pub fn missing_iter<'dag, 'iter>(
+ pub fn missing<'dag, 'iter>(
&'dag self,
search_nodes: BTreeSet>,
) -> Missing<'iter, S, HW>