Add cache feature

This commit is contained in:
Nick Peng
2018-06-28 01:35:10 +08:00
parent f362a487a5
commit 10136a73b3
6 changed files with 306 additions and 63 deletions

View File

@@ -1,24 +0,0 @@
#ifndef _GENERIC_CACHE_H
#include "list.h"
#include "hashtable.h"
struct cache_node {
struct hlist_node list;
};
struct cache_head;
struct cache_head *cache_new(int hashsize, void (*item_free)(struct cache_head *head, struct cache_node *node));
int cache_add(struct cache_head *head, struct cache_node *node, void *key, int key_len);
int cache_del(struct cache_node *node);
struct cache_node *cache_lookup(struct cache_head *head, void *key, int key_len);
int cache_update(struct cache_head *head, void *key, int key_len);
void cache_free(struct cache_head *head);
#endif // !_GENERIC_CACHE_H