A high performance pattern scanner for bytes.
This pattern scanner supports both single-threaded as well as multi-threaded scanning. Additionally, it is possible to include a wildcard ?
in the pattern.
Add this crate as a dependency to your Cargo.toml
file.
[dependencies]
patternscanner = "0.6.0"
use patternscanner::PatternScannerBuilder;
fn main() {
let result = PatternScannerBuilder::builder()
.with_bytes(&[0x00, 0x01, 0x02, 0x33, 0x35, 0x33, 0x35, 0x07, 0x08, 0x09])
.build()
.scan_all("33 35")
.unwrap();
assert_eq!(result, vec![3, 5]);
}
Contributions are welcome.