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

Fallback is spelled without an hyphen.

parent 1ccba69c
...@@ -14,12 +14,16 @@ server s2 { ...@@ -14,12 +14,16 @@ server s2 {
} -start } -start
varnish v1 -vcl+backend { varnish v1 -vcl+backend {
director f1 fallback { import directors from "${topbuild}/lib/libvmod_directors/.libs/libvmod_directors.so" ;
{ .backend = s1; }
{ .backend = s2; } sub vcl_init {
} new f1 = directors.fallback();
f1.add_backend(s1);
f1.add_backend(s2);
}
sub vcl_recv { sub vcl_recv {
set req.backend = f1; set req.backend = f1.backend();
} }
sub vcl_fetch { sub vcl_fetch {
if(req.restarts < 1) { if(req.restarts < 1) {
......
...@@ -19,7 +19,7 @@ varnish v1 -vcl+backend { ...@@ -19,7 +19,7 @@ varnish v1 -vcl+backend {
import directors from "${topbuild}/lib/libvmod_directors/.libs/libvmod_directors.so" ; import directors from "${topbuild}/lib/libvmod_directors/.libs/libvmod_directors.so" ;
sub vcl_init { sub vcl_init {
new fb1 = directors.fall_back(); new fb1 = directors.fallback();
fb1.add_backend(s1); fb1.add_backend(s1);
fb1.add_backend(s2); fb1.add_backend(s2);
fb1.add_backend(s3); fb1.add_backend(s3);
......
...@@ -38,29 +38,29 @@ ...@@ -38,29 +38,29 @@
#include "vdir.h" #include "vdir.h"
struct vmod_directors_fall_back { struct vmod_directors_fallback {
unsigned magic; unsigned magic;
#define VMOD_DIRECTORS_FALL_BACK_MAGIC 0xad4e26ba #define VMOD_DIRECTORS_FALLBACK_MAGIC 0xad4e26ba
struct vdir *vd; struct vdir *vd;
}; };
static unsigned __match_proto__(vdi_healthy) static unsigned __match_proto__(vdi_healthy)
vmod_rr_healthy(const struct director *dir, const struct req *req) vmod_rr_healthy(const struct director *dir, const struct req *req)
{ {
struct vmod_directors_fall_back *rr; struct vmod_directors_fallback *rr;
CAST_OBJ_NOTNULL(rr, dir->priv, VMOD_DIRECTORS_FALL_BACK_MAGIC); CAST_OBJ_NOTNULL(rr, dir->priv, VMOD_DIRECTORS_FALLBACK_MAGIC);
return (vdir_any_healthy(rr->vd, req)); return (vdir_any_healthy(rr->vd, req));
} }
static struct vbc * __match_proto__(vdi_getfd_f) static struct vbc * __match_proto__(vdi_getfd_f)
vmod_rr_getfd(const struct director *dir, struct req *req) vmod_rr_getfd(const struct director *dir, struct req *req)
{ {
struct vmod_directors_fall_back *rr; struct vmod_directors_fallback *rr;
unsigned u; unsigned u;
VCL_BACKEND be = NULL; VCL_BACKEND be = NULL;
CAST_OBJ_NOTNULL(rr, dir->priv, VMOD_DIRECTORS_FALL_BACK_MAGIC); CAST_OBJ_NOTNULL(rr, dir->priv, VMOD_DIRECTORS_FALLBACK_MAGIC);
vdir_lock(rr->vd); vdir_lock(rr->vd);
for (u = 0; u < rr->vd->n_backend; u++) { for (u = 0; u < rr->vd->n_backend; u++) {
be = rr->vd->backend[u]; be = rr->vd->backend[u];
...@@ -75,47 +75,47 @@ vmod_rr_getfd(const struct director *dir, struct req *req) ...@@ -75,47 +75,47 @@ vmod_rr_getfd(const struct director *dir, struct req *req)
} }
VCL_VOID __match_proto__() VCL_VOID __match_proto__()
vmod_fall_back__init(struct req *req, struct vmod_directors_fall_back **rrp, vmod_fallback__init(struct req *req, struct vmod_directors_fallback **rrp,
const char *vcl_name) const char *vcl_name)
{ {
struct vmod_directors_fall_back *rr; struct vmod_directors_fallback *rr;
AZ(req); AZ(req);
AN(rrp); AN(rrp);
AZ(*rrp); AZ(*rrp);
ALLOC_OBJ(rr, VMOD_DIRECTORS_FALL_BACK_MAGIC); ALLOC_OBJ(rr, VMOD_DIRECTORS_FALLBACK_MAGIC);
AN(rr); AN(rr);
*rrp = rr; *rrp = rr;
vdir_new(&rr->vd, vcl_name, vmod_rr_healthy, vmod_rr_getfd, rr); vdir_new(&rr->vd, vcl_name, vmod_rr_healthy, vmod_rr_getfd, rr);
} }
VCL_VOID __match_proto__() VCL_VOID __match_proto__()
vmod_fall_back__fini(struct req *req, struct vmod_directors_fall_back **rrp) vmod_fallback__fini(struct req *req, struct vmod_directors_fallback **rrp)
{ {
struct vmod_directors_fall_back *rr; struct vmod_directors_fallback *rr;
AZ(req); AZ(req);
rr = *rrp; rr = *rrp;
*rrp = NULL; *rrp = NULL;
CHECK_OBJ_NOTNULL(rr, VMOD_DIRECTORS_FALL_BACK_MAGIC); CHECK_OBJ_NOTNULL(rr, VMOD_DIRECTORS_FALLBACK_MAGIC);
vdir_delete(&rr->vd); vdir_delete(&rr->vd);
FREE_OBJ(rr); FREE_OBJ(rr);
} }
VCL_VOID __match_proto__() VCL_VOID __match_proto__()
vmod_fall_back_add_backend(struct req *req, vmod_fallback_add_backend(struct req *req,
struct vmod_directors_fall_back *rr, VCL_BACKEND be) struct vmod_directors_fallback *rr, VCL_BACKEND be)
{ {
(void)req; (void)req;
CHECK_OBJ_NOTNULL(rr, VMOD_DIRECTORS_FALL_BACK_MAGIC); CHECK_OBJ_NOTNULL(rr, VMOD_DIRECTORS_FALLBACK_MAGIC);
(void)vdir_add_backend(rr->vd, be, 0.0); (void)vdir_add_backend(rr->vd, be, 0.0);
} }
VCL_BACKEND __match_proto__() VCL_BACKEND __match_proto__()
vmod_fall_back_backend(struct req *req, struct vmod_directors_fall_back *rr) vmod_fallback_backend(struct req *req, struct vmod_directors_fallback *rr)
{ {
(void)req; (void)req;
CHECK_OBJ_NOTNULL(rr, VMOD_DIRECTORS_FALL_BACK_MAGIC); CHECK_OBJ_NOTNULL(rr, VMOD_DIRECTORS_FALLBACK_MAGIC);
return (rr->vd->dir); return (rr->vd->dir);
} }
...@@ -32,7 +32,7 @@ Object round_robin() { ...@@ -32,7 +32,7 @@ Object round_robin() {
Method BACKEND .backend() Method BACKEND .backend()
} }
Object fall_back() { Object fallback() {
Method VOID .add_backend(BACKEND) Method VOID .add_backend(BACKEND)
Method BACKEND .backend() Method BACKEND .backend()
} }
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