Rename FILTER_DEF to MXS_FILTER_DEF

Provide functions that allows the actual definition of MXS_FILTER_DEF
to be made private.
This commit is contained in:
Johan Wikman
2017-01-13 14:30:11 +02:00
parent affec5e388
commit 265e5c0593
14 changed files with 101 additions and 241 deletions

View File

@ -34,9 +34,9 @@
#include <maxscale/alloc.h>
static SPINLOCK filter_spin = SPINLOCK_INIT; /**< Protects the list of all filters */
static FILTER_DEF *allFilters = NULL; /**< The list of all filters */
static MXS_FILTER_DEF *allFilters = NULL; /**< The list of all filters */
static void filter_free_parameters(FILTER_DEF *filter);
static void filter_free_parameters(MXS_FILTER_DEF *filter);
/**
* Allocate a new filter within MaxScale
@ -47,13 +47,13 @@ static void filter_free_parameters(FILTER_DEF *filter);
*
* @return The newly created filter or NULL if an error occured
*/
FILTER_DEF *
MXS_FILTER_DEF *
filter_alloc(const char *name, const char *module)
{
char* my_name = MXS_STRDUP(name);
char* my_module = MXS_STRDUP(module);
FILTER_DEF *filter = (FILTER_DEF *)MXS_MALLOC(sizeof(FILTER_DEF));
MXS_FILTER_DEF *filter = (MXS_FILTER_DEF *)MXS_MALLOC(sizeof(MXS_FILTER_DEF));
if (!my_name || !my_module || !filter)
{
@ -87,9 +87,9 @@ filter_alloc(const char *name, const char *module)
* @return Returns true if the server was freed
*/
void
filter_free(FILTER_DEF *filter)
filter_free(MXS_FILTER_DEF *filter)
{
FILTER_DEF *ptr;
MXS_FILTER_DEF *ptr;
if (filter)
{
@ -132,17 +132,10 @@ filter_free(FILTER_DEF *filter)
}
}
/**
* Find an existing filter using the unique section name in
* configuration file
*
* @param name The filter name
* @return The server or NULL if not found
*/
FILTER_DEF *
filter_find(const char *name)
MXS_FILTER_DEF *
filter_def_find(const char *name)
{
FILTER_DEF *filter;
MXS_FILTER_DEF *filter;
spinlock_acquire(&filter_spin);
filter = allFilters;
@ -158,6 +151,16 @@ filter_find(const char *name)
return filter;
}
const char* filter_def_get_module_name(const MXS_FILTER_DEF* filter_def)
{
return filter_def->module;
}
MXS_FILTER* filter_def_get_instance(const MXS_FILTER_DEF* filter_def)
{
return filter_def->filter;
}
/**
* Check a parameter to see if it is a standard filter parameter
*
@ -182,7 +185,7 @@ filter_standard_parameter(const char *name)
void
dprintAllFilters(DCB *dcb)
{
FILTER_DEF *ptr;
MXS_FILTER_DEF *ptr;
int i;
spinlock_acquire(&filter_spin);
@ -220,7 +223,7 @@ dprintAllFilters(DCB *dcb)
* to display all active filters in MaxScale
*/
void
dprintFilter(DCB *dcb, const FILTER_DEF *filter)
dprintFilter(DCB *dcb, const MXS_FILTER_DEF *filter)
{
int i;
@ -248,7 +251,7 @@ dprintFilter(DCB *dcb, const FILTER_DEF *filter)
void
dListFilters(DCB *dcb)
{
FILTER_DEF *ptr;
MXS_FILTER_DEF *ptr;
int i;
spinlock_acquire(&filter_spin);
@ -287,7 +290,7 @@ dListFilters(DCB *dcb)
* @param option The option string
*/
void
filter_add_option(FILTER_DEF *filter, const char *option)
filter_add_option(MXS_FILTER_DEF *filter, const char *option)
{
int i;
@ -323,7 +326,7 @@ filter_add_option(FILTER_DEF *filter, const char *option)
* @param value The parameter value
*/
void
filter_add_parameter(FILTER_DEF *filter, const char *name, const char *value)
filter_add_parameter(MXS_FILTER_DEF *filter, const char *name, const char *value)
{
CONFIG_CONTEXT ctx = {.object = ""};
@ -336,7 +339,7 @@ filter_add_parameter(FILTER_DEF *filter, const char *name, const char *value)
* Free filter parameters
* @param filter Filter whose parameters are to be freed
*/
static void filter_free_parameters(FILTER_DEF *filter)
static void filter_free_parameters(MXS_FILTER_DEF *filter)
{
config_parameter_free(filter->parameters);
}
@ -346,7 +349,7 @@ static void filter_free_parameters(FILTER_DEF *filter)
* @param filter Filter definition
* @return True if module was successfully loaded, false if an error occurred
*/
bool filter_load(FILTER_DEF* filter)
bool filter_load(MXS_FILTER_DEF* filter)
{
bool rval = false;
if (filter)
@ -400,7 +403,7 @@ bool filter_load(FILTER_DEF* filter)
* if the filter could not be created
*/
MXS_DOWNSTREAM *
filter_apply(FILTER_DEF *filter, SESSION *session, MXS_DOWNSTREAM *downstream)
filter_apply(MXS_FILTER_DEF *filter, SESSION *session, MXS_DOWNSTREAM *downstream)
{
MXS_DOWNSTREAM *me;
@ -435,7 +438,7 @@ filter_apply(FILTER_DEF *filter, SESSION *session, MXS_DOWNSTREAM *downstream)
* @return The upstream component for the next filter
*/
MXS_UPSTREAM *
filter_upstream(FILTER_DEF *filter, void *fsession, MXS_UPSTREAM *upstream)
filter_upstream(MXS_FILTER_DEF *filter, void *fsession, MXS_UPSTREAM *upstream)
{
MXS_UPSTREAM *me = NULL;

View File

@ -20,13 +20,13 @@
MXS_BEGIN_DECLS
void filter_add_option(FILTER_DEF *filter_def, const char *option);
void filter_add_parameter(FILTER_DEF *filter_def, const char *name, const char *value);
FILTER_DEF *filter_alloc(const char *name, const char *module_name);
MXS_DOWNSTREAM *filter_apply(FILTER_DEF *filter_def, SESSION *session, MXS_DOWNSTREAM *downstream);
void filter_free(FILTER_DEF *filter_def);
bool filter_load(FILTER_DEF *filter_def);
void filter_add_option(MXS_FILTER_DEF *filter_def, const char *option);
void filter_add_parameter(MXS_FILTER_DEF *filter_def, const char *name, const char *value);
MXS_FILTER_DEF *filter_alloc(const char *name, const char *module_name);
MXS_DOWNSTREAM *filter_apply(MXS_FILTER_DEF *filter_def, SESSION *session, MXS_DOWNSTREAM *downstream);
void filter_free(MXS_FILTER_DEF *filter_def);
bool filter_load(MXS_FILTER_DEF *filter_def);
int filter_standard_parameter(const char *name);
MXS_UPSTREAM *filter_upstream(FILTER_DEF *filter_def, void *fsession, MXS_UPSTREAM *upstream);
MXS_UPSTREAM *filter_upstream(MXS_FILTER_DEF *filter_def, void *fsession, MXS_UPSTREAM *upstream);
MXS_END_DECLS

View File

@ -303,7 +303,7 @@ static bool process_argument(modulecmd_arg_type_t *type, const void* value,
break;
case MODULECMD_ARG_FILTER:
if ((arg->value.filter = filter_find((char*)value)))
if ((arg->value.filter = filter_def_find((char*)value)))
{
arg->type.type = MODULECMD_ARG_FILTER;
rval = true;

View File

@ -1205,13 +1205,13 @@ void serviceSetRetryOnFailure(SERVICE *service, char* value)
bool
serviceSetFilters(SERVICE *service, char *filters)
{
FILTER_DEF **flist;
MXS_FILTER_DEF **flist;
char *ptr, *brkt;
int n = 0;
bool rval = true;
uint64_t capabilities = 0;
if ((flist = (FILTER_DEF **) MXS_MALLOC(sizeof(FILTER_DEF *))) == NULL)
if ((flist = (MXS_FILTER_DEF **) MXS_MALLOC(sizeof(MXS_FILTER_DEF *))) == NULL)
{
return false;
}
@ -1219,9 +1219,9 @@ serviceSetFilters(SERVICE *service, char *filters)
while (ptr)
{
n++;
FILTER_DEF **tmp;
if ((tmp = (FILTER_DEF **) MXS_REALLOC(flist,
(n + 1) * sizeof(FILTER_DEF *))) == NULL)
MXS_FILTER_DEF **tmp;
if ((tmp = (MXS_FILTER_DEF **) MXS_REALLOC(flist,
(n + 1) * sizeof(MXS_FILTER_DEF *))) == NULL)
{
rval = false;
break;
@ -1230,7 +1230,7 @@ serviceSetFilters(SERVICE *service, char *filters)
flist = tmp;
char *filter_name = trim(ptr);
if ((flist[n - 1] = filter_find(filter_name)))
if ((flist[n - 1] = filter_def_find(filter_name)))
{
if (filter_load(flist[n - 1]))
{
@ -1852,7 +1852,7 @@ void service_destroy_instances(void)
}
if (svc->n_filters)
{
FILTER_DEF **filters = svc->filters;
MXS_FILTER_DEF **filters = svc->filters;
for (int i = 0; i < svc->n_filters; i++)
{
if (filters[i]->obj->destroyInstance && filters[i]->filter)

View File

@ -43,22 +43,22 @@
static int
test1()
{
FILTER_DEF *f1, *f2;
MXS_FILTER_DEF *f1, *f2;
if ((f1 = filter_alloc("test1", "module")) == NULL)
{
fprintf(stderr, "filter_alloc: test 1 failed.\n");
return 1;
}
if ((f2 = filter_find("test1")) == NULL)
if ((f2 = filter_def_find("test1")) == NULL)
{
fprintf(stderr, "filter_find: test 2 failed.\n");
fprintf(stderr, "filter_def_find: test 2 failed.\n");
return 1;
}
filter_free(f1);
if ((f2 = filter_find("test1")) != NULL)
if ((f2 = filter_def_find("test1")) != NULL)
{
fprintf(stderr, "filter_find: test 3 failed delete.\n");
fprintf(stderr, "filter_def_find: test 3 failed delete.\n");
return 1;
}
@ -76,7 +76,7 @@ test1()
static int
test2()
{
FILTER_DEF *f1;
MXS_FILTER_DEF *f1;
if ((f1 = filter_alloc("test1", "module")) == NULL)
{
@ -100,7 +100,7 @@ test2()
static int
test3()
{
FILTER_DEF *f1;
MXS_FILTER_DEF *f1;
char name[40];
int i, n_filters = 1000;
@ -117,25 +117,25 @@ test3()
for (i = 0; i < n_filters; i++)
{
sprintf(name, "filter%d", i);
if ((f1 = filter_find(name)) == NULL)
if ((f1 = filter_def_find(name)) == NULL)
{
fprintf(stderr, "filter_find: test 3 failed.\n");
fprintf(stderr, "filter_def_find: test 3 failed.\n");
return 1;
}
}
for (i = 0; i < n_filters; i++)
{
sprintf(name, "filter%d", i);
if ((f1 = filter_find(name)) == NULL)
if ((f1 = filter_def_find(name)) == NULL)
{
fprintf(stderr, "filter_find: test 3 failed.\n");
fprintf(stderr, "filter_def_find: test 3 failed.\n");
return 1;
}
filter_free(f1);
if ((f1 = filter_find(name)) != NULL)
if ((f1 = filter_def_find(name)) != NULL)
{
fprintf(stderr,
"filter_find: test 3 failed - found deleted filter.\n");
"filter_def_find: test 3 failed - found deleted filter.\n");
return 1;
}
}