*/
static void _cluster_node_conf_apply(fr_pool_t *pool, void *opaque)
{
- fr_pair_list_t args;
+ fr_pair_list_t *args = NULL;
fr_redis_cluster_node_t *node = opaque;
- fr_pair_list_init(&args);
node->addr = node->pending_addr;
if (node->cluster->triggers_enabled) {
if (!fr_pair_list_empty(&node->cluster->trigger_args)) MEM(fr_pair_list_copy(node->cluster, args,
&node->cluster->trigger_args) >= 0);
- fr_pool_enable_triggers(pool, node->cluster->trigger_prefix, &args);
+ fr_pool_enable_triggers(pool, node->cluster->trigger_prefix, args);
- fr_pair_list_free(&args);
+ fr_pair_list_free(args);
}
}
*/
if (!node->pool) {
char buffer[256];
- fr_pair_list_t args;
+ fr_pair_list_t *args = NULL;
CONF_SECTION *pool;
- fr_pair_list_init(&args);
snprintf(buffer, sizeof(buffer), "%s [%i]", cluster->log_prefix, node->id);
pool = cf_section_find(cluster->module, "pool", NULL);
if (!fr_pair_list_empty(&cluster->trigger_args)) MEM(fr_pair_list_copy(cluster, args, &cluster->trigger_args) >= 0);
- fr_pool_enable_triggers(node->pool, node->cluster->trigger_prefix, &args);
+ fr_pool_enable_triggers(node->pool, node->cluster->trigger_prefix, args);
- fr_pair_list_free(&args);
+ fr_pair_list_free(args);
}
if (fr_pool_start(node->pool) < 0) goto error;
* - NULL on failure, or if triggers are not enabled.
* - list containing Pool-Server and Pool-Port
*/
-fr_pair_t *trigger_args_afrom_server(TALLOC_CTX *ctx, char const *server, uint16_t port)
+fr_pair_list_t *trigger_args_afrom_server(TALLOC_CTX *ctx, char const *server, uint16_t port)
{
fr_dict_attr_t const *server_da;
fr_dict_attr_t const *port_da;
- fr_pair_list_t out;
+ fr_pair_list_t *out;
fr_pair_t *vp;
- fr_cursor_t cursor;
- fr_pair_list_init(&out);
+ out = fr_pair_list_alloc(ctx);
+ fr_pair_list_init(out);
server_da = fr_dict_attr_child_by_num(fr_dict_root(fr_dict_internal()), FR_CONNECTION_POOL_SERVER);
if (!server_da) {
ERROR("Incomplete dictionary: Missing definition for \"Connection-Pool-Server\"");
return NULL;
}
- fr_cursor_init(&cursor, &out);
-
MEM(vp = fr_pair_afrom_da(ctx, server_da));
fr_pair_value_strdup(vp, server);
- fr_cursor_append(&cursor, vp);
+ fr_pair_add(out, vp);
MEM(vp = fr_pair_afrom_da(ctx, port_da));
vp->vp_uint16 = port;
- fr_cursor_append(&cursor, vp);
+ fr_pair_add(out, vp);
return out;
}
bool trigger_enabled(void);
-fr_pair_t *trigger_args_afrom_server(TALLOC_CTX *ctx, char const *server, uint16_t port);
+fr_pair_list_t *trigger_args_afrom_server(TALLOC_CTX *ctx, char const *server, uint16_t port);
typedef int (*fr_trigger_worker_t)(request_t *request, module_method_t process, void *ctx);
extern fr_trigger_worker_t trigger_worker_request_add;