[experimental-ims] 5c19ff9 Merged conditional backend request feature
Geoff Simmons
geoff at varnish-cache.org
Wed Aug 31 16:04:57 CEST 2011
commit 5c19ff9b0ad35f47fc39433d501475b23cb680c1
Author: Geoff Simmons <geoff at uplex.de>
Date: Thu Jun 2 21:47:07 2011 +0200
Merged conditional backend request feature
diff --git a/bin/varnishd/cache_center.c b/bin/varnishd/cache_center.c
index 13a8b0c..1fe8558 100644
--- a/bin/varnishd/cache_center.c
+++ b/bin/varnishd/cache_center.c
@@ -664,11 +664,15 @@ cnt_fetchbody(struct sess *sp)
struct http *hp, *hp2;
char *b;
<<<<<<< HEAD
+<<<<<<< HEAD
uint16_t nhttp;
unsigned l;
=======
unsigned l, nhttp, stale_nhttp;
>>>>>>> Merged conditional backend request feature
+=======
+ unsigned l, nhttp, stale_nhttp;
+>>>>>>> Merged conditional backend request feature
struct vsb *vary = NULL;
int varyl = 0, pass;
diff --git a/bin/varnishd/cache_fetch.c b/bin/varnishd/cache_fetch.c
index e39b358..196d25b 100644
--- a/bin/varnishd/cache_fetch.c
+++ b/bin/varnishd/cache_fetch.c
@@ -504,6 +504,12 @@ FetchBody(struct sess *sp)
if (sp->wrk->beresp->status != 304)
AZ(VTAILQ_FIRST(&sp->obj->store));
+ /* If we've freshened from another object and got a "Not Modified"
+ * response, then we have already duped the other object's body.
+ */
+ if (sp->wrk->beresp->status != 304)
+ AZ(VTAILQ_FIRST(&sp->obj->store));
+
AZ(sp->wrk->vgz_rx);
switch (sp->wrk->body_status) {
case BS_NONE:
diff --git a/bin/varnishd/cache_http.c b/bin/varnishd/cache_http.c
index 1279b60..f042321 100644
--- a/bin/varnishd/cache_http.c
+++ b/bin/varnishd/cache_http.c
@@ -70,6 +70,10 @@ void http_FilterMissingFields(struct worker *w, int fd, struct http *to,
const struct http *fm);
static enum VSL_tag_e
+
+void http_FilterMissingFields(struct worker *w, int fd, struct http *to,
+ const struct http *fm);
+
http2shmlog(const struct http *hp, int t)
{
diff --git a/bin/varnishd/cache_vrt_var.c b/bin/varnishd/cache_vrt_var.c
index 59478db..1b87901 100644
--- a/bin/varnishd/cache_vrt_var.c
+++ b/bin/varnishd/cache_vrt_var.c
@@ -390,6 +390,7 @@ VRT_r_req_restarts(const struct sess *sp)
*/
<<<<<<< HEAD
+<<<<<<< HEAD
#define VRT_DO_EXP(which, exp, fld, offset, extra) \
\
void __match_proto__() \
@@ -440,6 +441,8 @@ VRT_DO_EXP(beresp, sp->wrk->exp, ttl, 0,
VRT_DO_EXP(beresp, sp->wrk->exp, keep, 0,
vrt_wsp_exp(sp, sp->xid, &sp->wrk->exp);)
=======
+=======
+>>>>>>> Merged conditional backend request feature
#define VRT_DO_EXP_l(which, cont, fld, extra) \
void __match_proto__() \
VRT_l_##which##_##fld(struct sess *sp, double a) \
@@ -471,14 +474,27 @@ VRT_DO_EXP(req, sp, ttl, 0, )
VRT_DO_EXP(req, sp, grace, 0, )
VRT_DO_EXP(req, sp, keep, 0, )
VRT_DO_EXP(obj, sp->obj, grace, 0, EXP_Rearm(sp->obj))
+<<<<<<< HEAD
VRT_DO_EXP(obj, sp->obj, ttl, 0, EXP_Rearm(sp->obj))
VRT_DO_EXP(obj, sp->obj, keep, 0, EXP_Rearm(sp->obj))
VRT_DO_EXP(beresp, sp->wrk, grace, 0, )
VRT_DO_EXP(beresp, sp->wrk, ttl, 0, )
+=======
+VRT_DO_EXP(obj, sp->obj, ttl, 0,
+ EXP_Rearm(sp->obj);
+ WSP(sp, SLT_TTL, "%u VCL %.0f %.0f", sp->obj->xid, a, sp->t_req))
+VRT_DO_EXP(obj, sp->obj, keep, 0, EXP_Rearm(sp->obj))
+VRT_DO_EXP(beresp, sp->wrk, grace, 0, )
+VRT_DO_EXP(beresp, sp->wrk, ttl, 0,
+ WSP(sp, SLT_TTL, "%u VCL %.0f %.0f", sp->xid, a, sp->t_req))
+>>>>>>> Merged conditional backend request feature
VRT_DO_EXP(beresp, sp->wrk, keep, 0, )
VRT_DO_EXP_r(stale_obj, sp->stale_obj, grace, 1)
VRT_DO_EXP_r(stale_obj, sp->stale_obj, ttl, 1)
VRT_DO_EXP_r(stale_obj, sp->stale_obj, keep, 1)
+<<<<<<< HEAD
+>>>>>>> Merged conditional backend request feature
+=======
>>>>>>> Merged conditional backend request feature
/*--------------------------------------------------------------------
More information about the varnish-commit
mailing list