diff --git a/src/server/cache-node.h b/src/server/cache-node.h index 19280c075dc509cf849d9c3dccdfa58e764bbac2..453bee8b3b3b74296d58ba63297294319f8c588e 100644 --- a/src/server/cache-node.h +++ b/src/server/cache-node.h @@ -15,8 +15,8 @@ typedef struct cache_node { long size; /* Size on disk. */ long pos_b; /* Position to element in file B. */ long size_b; /* Size in file B. */ - struct cache_node *lru; - struct cache_node *mru; + struct cache_node *prev; /* Points towards most recently used. */ + struct cache_node *next; /* Points towards least recently used. */ int lock_cnt; } Cache_node; @@ -42,7 +42,7 @@ typedef struct cache_node_mcb { Cache_node *mru; Cache_node *lru; u_long lookup_table_size; - Cache_node *lookup_table; /* Easy to implement, but memory expensive. */ + Cache_node **lookup_table; /* Easy to implement, but memory expensive. */ } Cache_node_mcb; @@ -64,6 +64,10 @@ create_cache_node_mcb(int mcb_size, int table_size); +extern void +destruct_cache_node(Cache_node_mcb *control, + u_long key); + extern Cache_node * get_cache_node (Cache_node_mcb *control, u_long key); @@ -74,6 +78,10 @@ create_cache_node (Cache_node_mcb *control, u_long key); +extern void +zero_init_cache_node (Cache_node_mcb *control, + u_long key); + extern void set_mru(Cache_node_mcb *mcb, u_long key);