コード例 #1
0
ファイル: main.c プロジェクト: cumirror/url_filter
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();

}
コード例 #2
0
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));
}