summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rust/src/binary_view.rs4
-rw-r--r--rust/src/progress.rs4
2 files changed, 8 insertions, 0 deletions
diff --git a/rust/src/binary_view.rs b/rust/src/binary_view.rs
index a07ace7f..76efc40e 100644
--- a/rust/src/binary_view.rs
+++ b/rust/src/binary_view.rs
@@ -235,11 +235,15 @@ pub trait BinaryViewExt: BinaryViewBase {
}
/// Search the view using the query options.
+ ///
+ /// In the `on_match` callback return `false` to stop searching.
fn search<C: FnMut(u64, &DataBuffer) -> bool>(&self, query: &SearchQuery, on_match: C) -> bool {
self.search_with_progress(query, on_match, NoProgressCallback)
}
/// Search the view using the query options.
+ ///
+ /// In the `on_match` callback return `false` to stop searching.
fn search_with_progress<P: ProgressCallback, C: FnMut(u64, &DataBuffer) -> bool>(
&self,
query: &SearchQuery,
diff --git a/rust/src/progress.rs b/rust/src/progress.rs
index 5ebf8273..e6897e68 100644
--- a/rust/src/progress.rs
+++ b/rust/src/progress.rs
@@ -2,6 +2,10 @@ use std::ffi::c_void;
pub trait ProgressCallback: Sized {
type SplitProgressType: SplitProgressBuilder;
+
+ /// Caller function will call this to report progress.
+ ///
+ /// Return `false` to tell the caller to stop.
fn progress(&mut self, progress: usize, total: usize) -> bool;
unsafe extern "C" fn cb_progress_callback(