Commit 9a7413d2 authored by Poul-Henning Kamp's avatar Poul-Henning Kamp

Sort the sess fields in per session and per request fields, plus a few

I have not made up my mind about yet.
parent bc72cff0
...@@ -581,18 +581,13 @@ struct object { ...@@ -581,18 +581,13 @@ struct object {
struct sess { struct sess {
unsigned magic; unsigned magic;
#define SESS_MAGIC 0x2c2f9c5a #define SESS_MAGIC 0x2c2f9c5a
int fd;
unsigned vsl_id;
unsigned xid;
int restarts; struct worker *wrk;
int esi_level;
int disable_esi;
uint8_t hash_ignore_busy; /* Session related fields ------------------------------------*/
uint8_t hash_always_miss;
struct worker *wrk; int fd;
unsigned vsl_id;
socklen_t sockaddrlen; socklen_t sockaddrlen;
socklen_t mysockaddrlen; socklen_t mysockaddrlen;
...@@ -605,6 +600,29 @@ struct sess { ...@@ -605,6 +600,29 @@ struct sess {
char port[PORT_BUFSIZE]; char port[PORT_BUFSIZE];
char *client_identity; char *client_identity;
/* Various internal stuff */
struct sessmem *mem;
VTAILQ_ENTRY(sess) poollist;
struct acct acct_ses;
VTAILQ_ENTRY(sess) list;
#if defined(HAVE_EPOLL_CTL)
struct epoll_event ev;
#endif
/* Request related fields ------------------------------------*/
unsigned xid;
int restarts;
int esi_level;
int disable_esi;
uint8_t hash_ignore_busy;
uint8_t hash_always_miss;
/* HTTP request */ /* HTTP request */
const char *doclose; const char *doclose;
struct http *http; struct http *http;
...@@ -620,14 +638,6 @@ struct sess { ...@@ -620,14 +638,6 @@ struct sess {
uint8_t *vary_l; uint8_t *vary_l;
uint8_t *vary_e; uint8_t *vary_e;
struct http_conn htc[1];
/* Timestamps, all on TIM_real() timescale */
double t_open;
double t_req;
double t_resp;
double t_end;
/* Acceptable grace period */ /* Acceptable grace period */
struct exp exp; struct exp exp;
...@@ -639,24 +649,24 @@ struct sess { ...@@ -639,24 +649,24 @@ struct sess {
uint16_t err_code; uint16_t err_code;
const char *err_reason; const char *err_reason;
VTAILQ_ENTRY(sess) list; /* The busy objhead we sleep on */
struct objhead *hash_objhead;
struct director *director; struct director *director;
struct VCL_conf *vcl; struct VCL_conf *vcl;
/* The busy objhead we sleep on */ uint64_t req_bodybytes;
struct objhead *hash_objhead;
/* Various internal stuff */ /* TBD fields ------------------------------------------------*/
struct sessmem *mem;
VTAILQ_ENTRY(sess) poollist; struct http_conn htc[1];
uint64_t req_bodybytes;
struct acct acct_ses; /* Timestamps, all on TIM_real() timescale */
double t_open;
double t_req;
double t_resp;
double t_end;
#if defined(HAVE_EPOLL_CTL)
struct epoll_event ev;
#endif
}; };
/* Prototypes etc ----------------------------------------------------*/ /* Prototypes etc ----------------------------------------------------*/
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment