blob: eb9ba2d0ff3c25cc2f59bb11b6ca962f3b61d997 [file] [log] [blame]
#ifndef _COMMON_APPSESS_H
#define _COMMON_APPSESS_H
#define TBLSIZ 10
#define TBLCHKINT 5000 /* The time between two calls of appsession_refresh in ms */
#include <sys/time.h>
#include <common/chtbl.h>
#include <common/config.h>
#include <common/hashpjw.h>
#include <common/list.h>
#include <types/task.h>
typedef struct appsessions {
char *sessid;
char *serverid;
struct timeval expire; /* next expiration time for this application session */
unsigned long int request_count;
} appsess;
#define sizeof_appsess sizeof(struct appsessions)
extern void **pool_appsess;
struct app_pool {
void **sessid;
void **serverid;
int ses_waste, ses_use, ses_msize;
int ser_waste, ser_use, ser_msize;
};
extern struct app_pool apools;
extern int have_appsession;
/* Callback for hash_lookup */
int match_str(const void *key1, const void *key2);
/* Callback for destroy */
void destroy(void *data);
#if defined(DEBUG_HASH)
static void print_table(const CHTbl *htbl);
#endif
int appsession_refresh(struct task *t);
int appsession_task_init(void);
int appsession_init(void);
void appsession_cleanup(void);
#endif /* _COMMON_APPSESS_H */
/*
* Local variables:
* c-indent-level: 8
* c-basic-offset: 8
* End:
*/