Commit dfaa9703 authored by Poul-Henning Kamp's avatar Poul-Henning Kamp

Move the initialization arguments from VDP_DeliverObj() to VDP_init()

parent 5b212a2c
......@@ -35,10 +35,19 @@
#include "cache_filter.h"
void
VDP_Init(struct vdp_ctx *vdx)
VDP_Init(struct vdp_ctx *vdc, struct worker *wrk, struct vsl_log *vsl,
struct req *req)
{
INIT_OBJ(vdx, VDP_CTX_MAGIC);
VTAILQ_INIT(&vdx->vdp);
AN(vdc);
CHECK_OBJ_NOTNULL(wrk, WORKER_MAGIC);
AN(vsl);
CHECK_OBJ_NOTNULL(req, REQ_MAGIC);
INIT_OBJ(vdc, VDP_CTX_MAGIC);
VTAILQ_INIT(&vdc->vdp);
vdc->wrk = wrk;
vdc->vsl = vsl;
vdc->req = req;
}
/* VDP_bytes
......@@ -184,21 +193,16 @@ vdp_objiterator(void *priv, unsigned flush, const void *ptr, ssize_t len)
}
int VDP_DeliverObj(struct vdp_ctx *vdc, struct objcore *oc, struct worker *wrk,
struct vsl_log *vsl, struct req *req)
int VDP_DeliverObj(struct vdp_ctx *vdc, struct objcore *oc)
{
int r, final;
CHECK_OBJ_NOTNULL(vdc, VDP_CTX_MAGIC);
CHECK_OBJ_NOTNULL(oc, OBJCORE_MAGIC);
CHECK_OBJ_NOTNULL(wrk, WORKER_MAGIC);
AN(vsl);
CHECK_OBJ_ORNULL(req, REQ_MAGIC);
vdc->vsl = vsl;
vdc->wrk = wrk;
vdc->req = req;
CHECK_OBJ_NOTNULL(vdc->wrk, WORKER_MAGIC);
AN(vdc->vsl);
final = oc->flags & (OC_F_PRIVATE | OC_F_HFM | OC_F_HFP) ? 1 : 0;
r = ObjIterate(wrk, oc, vdc, vdp_objiterator, final);
r = ObjIterate(vdc->wrk, oc, vdc, vdp_objiterator, final);
if (r == 0)
r = VDP_bytes(vdc, VDP_END, NULL, 0);
if (r < 0)
......
......@@ -865,8 +865,7 @@ ved_deliver(struct req *req, struct boc *boc, int wantbody)
}
if (i == 0) {
i = VDP_DeliverObj(
req->vdc, req->objcore, req->wrk, req->vsl, req);
i = VDP_DeliverObj(req->vdc, req->objcore);
} else {
VSLb(req->vsl, SLT_Error, "Failure to push ESI processors");
req->doclose = SC_OVERLOAD;
......
......@@ -152,11 +152,12 @@ extern const struct vdp VDP_gunzip;
extern const struct vdp VDP_esi;
extern const struct vdp VDP_range;
void VDP_Init(struct vdp_ctx *vdx, struct worker *wrk, struct vsl_log *vsl,
struct req *req);
uint64_t VDP_Close(struct req *req);
int VDP_DeliverObj(struct vdp_ctx *vdc, struct objcore *oc, struct worker *wrk,
struct vsl_log *vsl, struct req *req);
int VDP_DeliverObj(struct vdp_ctx *vdc, struct objcore *oc);
void VDP_Init(struct vdp_ctx *vdx);
int VDP_bytes(struct vdp_ctx *, enum vdp_action act, const void *ptr, ssize_t len);
int VDP_Push(struct req *, const struct vdp *, void *priv);
void VRT_AddVDP(VRT_CTX, const struct vdp *);
......
......@@ -425,7 +425,7 @@ cnt_transmit(struct worker *wrk, struct req *req)
sendbody = 1;
}
VDP_Init(req->vdc);
VDP_Init(req->vdc, req->wrk, req->vsl, req);
if (req->filter_list == NULL)
req->filter_list = resp_Get_Filter_List(req);
if (req->filter_list == NULL ||
......
......@@ -149,8 +149,7 @@ V1D_Deliver(struct req *req, struct boc *boc, int sendbody)
(void)V1L_Flush(req->wrk);
if (chunked)
V1L_Chunked(req->wrk);
err = VDP_DeliverObj(
req->vdc, req->objcore, req->wrk, req->vsl, req);
err = VDP_DeliverObj(req->vdc, req->objcore);
if (!err && chunked)
V1L_EndChunk(req->wrk);
}
......
......@@ -333,8 +333,7 @@ h2_deliver(struct req *req, struct boc *boc, int sendbody)
/* XXX someone into H2 please add appropriate error handling */
if (sendbody) {
if (!VDP_Push(req, &h2_vdp, NULL))
(void)VDP_DeliverObj(
req->vdc, req->objcore, req->wrk, req->vsl, req);
(void)VDP_DeliverObj(req->vdc, req->objcore);
}
AZ(req->wrk->v1l);
......
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