Commit 8c5d1e72 authored by Poul-Henning Kamp's avatar Poul-Henning Kamp

Try to contain pipe-magic in pipe code.

parent da9368cb
......@@ -288,7 +288,7 @@ vbe_dir_gethdrs(VRT_CTX, VCL_BACKEND d)
extrachance = 0;
i = V1F_SendReq(wrk, bo, &bo->acct.bereq_hdrbytes,
&bo->acct.bereq_bodybytes, 0);
&bo->acct.bereq_bodybytes);
if (PFD_State(pfd) != PFD_STATE_USED) {
if (VTP_Wait(wrk, pfd, VTIM_real() +
......@@ -374,7 +374,7 @@ vbe_dir_http1pipe(VRT_CTX, VCL_BACKEND d)
} else {
CHECK_OBJ_NOTNULL(ctx->bo->htc, HTTP_CONN_MAGIC);
i = V1F_SendReq(ctx->req->wrk, ctx->bo,
&v1a.bereq, &v1a.out, 1);
&v1a.bereq, &v1a.out);
VSLb_ts_req(ctx->req, "Pipe", W_TIM_real(ctx->req->wrk));
if (i == 0)
V1P_Process(ctx->req, *PFD_Fd(pfd), &v1a);
......
......@@ -740,6 +740,9 @@ cnt_pipe(struct worker *wrk, struct req *req)
AZ(bo->req);
bo->req = req;
bo->wrk = wrk;
/* Unless cached, reqbody is not our job */
if (req->req_body_status != REQ_BODY_CACHED)
req->req_body_status = REQ_BODY_NONE;
SES_Close(req->sp, VDI_Http1Pipe(req, bo));
nxt = REQ_FSM_DONE;
V1P_Leave();
......
......@@ -33,7 +33,7 @@ struct VSC_vbe;
/* cache_http1_fetch.c [V1F] */
int V1F_SendReq(struct worker *, struct busyobj *, uint64_t *ctr_hdrbytes,
uint64_t *ctr_bodybytes, int onlycached);
uint64_t *ctr_bodybytes);
int V1F_FetchRespHdr(struct busyobj *);
int V1F_Setup_Fetch(struct vfp_ctx *vfc, struct http_conn *htc);
......
......@@ -71,7 +71,7 @@ vbf_iter_req_body(void *priv, unsigned flush, const void *ptr, ssize_t l)
int
V1F_SendReq(struct worker *wrk, struct busyobj *bo, uint64_t *ctr_hdrbytes,
uint64_t *ctr_bodybytes, int onlycached)
uint64_t *ctr_bodybytes)
{
struct http *hp;
enum sess_close sc;
......@@ -114,7 +114,7 @@ V1F_SendReq(struct worker *wrk, struct busyobj *bo, uint64_t *ctr_hdrbytes,
if (do_chunked)
V1L_EndChunk(wrk);
} else if (bo->req != NULL &&
(bo->req->req_body_status == REQ_BODY_CACHED || !onlycached)) {
bo->req->req_body_status != REQ_BODY_NONE) {
if (do_chunked)
V1L_Chunked(wrk);
i = VRB_Iterate(wrk, bo->vsl, bo->req, vbf_iter_req_body, bo);
......
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