aboutsummaryrefslogtreecommitdiff
path: root/example
diff options
context:
space:
mode:
authorLuca Deri <deri@ntop.org>2023-08-11 22:49:31 +0200
committerLuca Deri <deri@ntop.org>2023-08-11 22:49:31 +0200
commitec7adc212eed0c5f1f9fc6a265afd4bb83b2b349 (patch)
tree9327f689567548dfa36e4cf0c7067e95b12f3dc6 /example
parent5fad72ebd997f36920c20677999ef22cb17eb285 (diff)
Added new API calls for implementing Bloom-filter like data structures
ndpi_filter* ndpi_filter_alloc(uint32_t elements_number); bool ndpi_filter_add(ndpi_filter *f, uint64_t value); bool ndpi_filter_contains(ndpi_filter *f, uint64_t value); void ndpi_filter_free(ndpi_filter *f);
Diffstat (limited to 'example')
1 files changed, 19 insertions, 0 deletions
diff --git a/example/ndpiReader.c b/example/ndpiReader.c
index 7856ae1a0..19da0edb0 100644
--- a/example/ndpiReader.c
+++ b/example/ndpiReader.c
@@ -5323,6 +5323,24 @@ void compressedBitmapUnitTest() {
/* *********************************************** */
+void filterUnitTest() {
+ ndpi_filter* f = ndpi_filter_alloc(10000);
+ u_int32_t v, i;
+
+ assert(f);
+
+ srand(time(NULL));
+
+ for(i=0; i<1000; i++)
+ assert(ndpi_filter_add(f, v = rand()));
+
+ assert(ndpi_filter_contains(f, v));
+
+ ndpi_filter_free(f);
+}
+
+/* *********************************************** */
+
void zscoreUnitTest() {
u_int32_t values[] = { 1, 3, 3, 4, 5, 2, 6, 7, 30, 16 };
u_int32_t i;
@@ -5455,6 +5473,7 @@ int main(int argc, char **argv) {
dgaUnitTest();
hllUnitTest();
bitmapUnitTest();
+ filterUnitTest();
automataUnitTest();
analyzeUnitTest();
ndpi_self_check_host_match(stderr);