Commit 47577a6f authored by Nils Goroll's avatar Nils Goroll

pull out the core from vmod_cluster_backend

parent 51723332
...@@ -479,9 +479,10 @@ vmod_cluster_resolve(VRT_CTX, VCL_BACKEND dir) ...@@ -479,9 +479,10 @@ vmod_cluster_resolve(VRT_CTX, VCL_BACKEND dir)
cluster_task_param_r(ctx, dir->priv), DEEP)); cluster_task_param_r(ctx, dir->priv), DEEP));
} }
VCL_BACKEND static VCL_BACKEND
vmod_cluster_backend(VRT_CTX, cluster_choose(VRT_CTX,
struct vmod_cluster_cluster *vc, struct vmod_cluster_cluster *vc,
enum resolve_e resolve,
struct VARGS(cluster_backend) *arg) struct VARGS(cluster_backend) *arg)
{ {
int modify = arg->valid_deny || arg->valid_real || int modify = arg->valid_deny || arg->valid_real ||
...@@ -490,7 +491,6 @@ vmod_cluster_backend(VRT_CTX, ...@@ -490,7 +491,6 @@ vmod_cluster_backend(VRT_CTX,
struct vmod_cluster_cluster_param *pl = NULL; struct vmod_cluster_cluster_param *pl = NULL;
void *spc = NULL; void *spc = NULL;
int nblack; int nblack;
enum resolve_e resolve = parse_resolve_e(arg->resolve);
if (! modify) { if (! modify) {
if (resolve == LAZY) if (resolve == LAZY)
...@@ -543,6 +543,14 @@ vmod_cluster_backend(VRT_CTX, ...@@ -543,6 +543,14 @@ vmod_cluster_backend(VRT_CTX,
return (cluster_resolve(ctx, pr, resolve)); return (cluster_resolve(ctx, pr, resolve));
} }
VCL_BACKEND
vmod_cluster_backend(VRT_CTX,
struct vmod_cluster_cluster *vc,
struct VARGS(cluster_backend) *arg)
{
return (cluster_choose(ctx, vc, parse_resolve_e(arg->resolve), arg));
}
/* /*
* layered directors may not be prepared to resolve outside a VCL task, so when * layered directors may not be prepared to resolve outside a VCL task, so when
* called from the cli (no method, no vcl), just return healthy if either the * called from the cli (no method, no vcl), just return healthy if either the
......
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