Commit 95c563e5 authored by Poul-Henning Kamp's avatar Poul-Henning Kamp

Introduce the bereq.backend* variables.

NB: bereq.backend.healthy always fails right now.
parent b094d583
......@@ -268,6 +268,50 @@ VRT_r_req_backend(const struct req *req)
return (req->director);
}
unsigned
VRT_r_req_backend_healthy(const struct req *req)
{
CHECK_OBJ_NOTNULL(req, REQ_MAGIC);
/*
* XXX: Not optimal, but we do not have a backend in vcl_deliver
* XXX: and we have to return something.
*/
if (req->director == NULL)
return (0);
CHECK_OBJ_NOTNULL(req->director, DIRECTOR_MAGIC);
return (VDI_Healthy(req->director, req));
}
/*--------------------------------------------------------------------*/
void
VRT_l_bereq_backend(struct busyobj *bo, struct director *be)
{
CHECK_OBJ_NOTNULL(bo, BUSYOBJ_MAGIC);
AN(bo->director);
bo->director = be;
}
struct director *
VRT_r_bereq_backend(const struct busyobj *bo)
{
CHECK_OBJ_NOTNULL(bo, BUSYOBJ_MAGIC);
AN(bo->director);
return (bo->director);
}
unsigned
VRT_r_bereq_backend_healthy(const struct busyobj *bo)
{
CHECK_OBJ_NOTNULL(bo, BUSYOBJ_MAGIC);
CHECK_OBJ_NOTNULL(bo->director, DIRECTOR_MAGIC);
//XXX return (VDI_Healthy(bo->director, req));
return (0);
}
/*--------------------------------------------------------------------*/
void
......@@ -517,17 +561,3 @@ VRT_r_obj_uncacheable(const struct req *req)
CHECK_OBJ_NOTNULL(req->obj, OBJECT_MAGIC);
return (req->obj->objcore->flags & OC_F_PASS ? 1 : 0);
}
unsigned
VRT_r_req_backend_healthy(const struct req *req)
{
CHECK_OBJ_NOTNULL(req, REQ_MAGIC);
/*
* XXX: Not optimal, but we do not have a backend in vcl_deliver
* XXX: and we have to return something.
*/
if (req->director == NULL)
return (0);
CHECK_OBJ_NOTNULL(req->director, DIRECTOR_MAGIC);
return (VDI_Healthy(req->director, req));
}
......@@ -165,12 +165,6 @@ sp_variables = (
( 'proc',),
'cR'
),
('req.backend',
'BACKEND',
( 'proc',),
( 'proc',),
'R'
),
('req.restarts',
'INT',
( 'proc',),
......@@ -219,6 +213,12 @@ sp_variables = (
( ),
'R'
),
('req.backend',
'BACKEND',
( 'proc',),
( 'proc',),
'R'
),
('req.backend.healthy',
'BOOL',
( 'proc',),
......@@ -237,6 +237,18 @@ sp_variables = (
( 'recv',),
'R'
),
('bereq.backend',
'BACKEND',
( 'backend_fetch', 'backend_response'),
( 'backend_fetch', 'backend_response'),
'B'
),
('bereq.backend.healthy',
'BOOL',
( 'backend_fetch', 'backend_response'),
( ),
'B'
),
('bereq.method',
'STRING',
( 'pipe', 'backend_fetch', 'pass', 'miss', 'backend_response',),
......
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