1 #ifndef _MOD_MAGNET_CACHE_H_
2 #define _MOD_MAGNET_CACHE_H_
3 
4 #include "buffer.h"
5 #include "base.h"
6 
7 #ifdef HAVE_LUA_H
8 #include <lua.h>
9 
10 typedef struct {
11 	buffer *name;
12 	buffer *etag;
13 
14 	lua_State *L;
15 
16 	time_t last_used; /* LRU */
17 } script;
18 
19 typedef struct {
20 	script **ptr;
21 
22 	size_t used;
23 	size_t size;
24 } script_cache;
25 
26 script_cache *script_cache_init(void);
27 void script_cache_free(script_cache *cache);
28 
29 lua_State *script_cache_get_script(server *srv, connection *con,
30 	       	script_cache *cache, buffer *name);
31 
32 #endif
33 #endif
34