void algorithm_init(struct md5_table *md5) { uint32_t i; if (hash_init(md5->num) != 0) { printf("hash init failed\n"); exit(1); } for (i = 0; i < md5->num; i++) hash_put((uint8_t *)(md5->key + i), i); hash_dump(); if (cuckoo_filter_init(md5) != 0) { printf("cuckoo init failed\n"); exit(1); } for (i = 0; i < md5->num; i++) cuckoo_filter_put((uint8_t *)(md5->key + i), &i); cuckoo_filter_dump(); if (bloom_filter_init(2500000) != 0) { printf("bloom init failed\n"); exit(1); } for (i = 0; i < md5->num; i++) bloom_filter_put((uint8_t *)(md5->key + i)); bloom_filter_dump(); }
void sync_bloom_to_pox_1(){ // latest fp file close fflush(fpfile_latest); fclose(fpfile_latest); bloom_filter_dump(filter); Sendto(sockfdbloom, filter->bitset, filter->size_bytes, 0, (SA *) &fakeaddr, sizeof(fakeaddr)); }