engine/cache.h

Go to the documentation of this file.
00001 #ifndef HLBR_CACHE_H
00002 #define HLBR_CACHE_H
00003 
00004 #include "../config.h"
00005 #include "hlbr.h"
00006 
00007 #define CACHE_MAX_KEYS                          256
00008 #define CACHE_MAX_ITEMS_PER_KEY         64
00009 #define CACHE_NONE                                      -1
00010 
00011 typedef struct cache_item{
00012         unsigned char*  Data;
00013         unsigned int    DataLen;
00014 }CacheItem;
00015 
00016 typedef struct cache_items{
00017         unsigned char*  Key;
00018         int                             KeyLen; 
00019         
00020         CacheItem               Items[CACHE_MAX_ITEMS_PER_KEY];
00021         unsigned int    NumItems;
00022         
00023         long                    LastTime;
00024 }CacheItems;
00025 
00026 typedef struct cache{
00027         CacheItems              Keys[CACHE_MAX_KEYS];
00028         unsigned int    NumKeys;
00029         
00030         long                    TimeoutLen;
00031 } Cache;
00032 
00033 Cache* InitCache(int TimeoutLen);
00034 int CacheAdd(Cache* c, unsigned char* Key, int KeyLen, unsigned char* Data, int DataLen, int Now);
00035 int CacheDelKey(Cache* c, unsigned char* Key, int KeyLen, int Now);
00036 CacheItems* CacheGet(Cache* c, unsigned char* Key, int KeyLen, int Now);
00037 void DestroyCache(Cache* c);
00038 
00039 
00040 
00041 #endif

Generated on Sat Jul 7 23:33:10 2007 for HLBR by  doxygen 1.5.2