summaryrefslogtreecommitdiff
path: root/src/mod_magnet_cache.h
blob: 96f4d787290897ba2e12145ea219d2d62847850e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#ifndef _MOD_MAGNET_CACHE_H_
#define _MOD_MAGNET_CACHE_H_
#include "first.h"

#include "buffer.h"
#include "base.h"

#ifdef HAVE_LUA_H
#include <lua.h>

typedef struct {
	buffer *name;
	buffer *etag;

	lua_State *L;

	time_t last_used; /* LRU */
} script;

typedef struct {
	script **ptr;

	size_t used;
	size_t size;
} script_cache;

script_cache *script_cache_init(void);
void script_cache_free(script_cache *cache);

lua_State *script_cache_get_script(server *srv, connection *con,
	       	script_cache *cache, buffer *name);

#endif
#endif