1
1

regx: add the extract_node_names callback

typedef int (*orte_regx_base_module_extract_node_names_fn_t)(char *regexp, char ***names);

among other things, that will make testing way easier.

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
Этот коммит содержится в:
Gilles Gouaillardet 2018-01-12 09:15:00 +09:00
родитель a056fdea2d
Коммит 0c686f01e5
2 изменённых файлов: 8 добавлений и 1 удалений

Просмотреть файл

@ -1,5 +1,7 @@
/*
* Copyright (c) 2016-2018 Intel, Inc. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -33,6 +35,7 @@
static int nidmap_create(opal_pointer_array_t *pool, char **regex);
static int nidmap_parse(char *regex);
static int extract_node_names(char *regex, char ***node_names);
static int encode_nodemap(opal_buffer_t *buffer);
static int decode_daemon_nodemap(opal_buffer_t *buffer);
static int generate_ppn(orte_job_t *jdata, char **ppn);
@ -41,6 +44,7 @@ static int parse_ppn(orte_job_t *jdata, char *ppn);
orte_regx_base_module_t orte_regx_fwd_module = {
.nidmap_create = nidmap_create,
.nidmap_parse = nidmap_parse,
.extract_node_names = extract_node_names,
.encode_nodemap = encode_nodemap,
.decode_daemon_nodemap = decode_daemon_nodemap,
.generate_ppn = generate_ppn,
@ -98,7 +102,6 @@ OBJ_CLASS_INSTANCE(orte_regex_node_t,
opal_list_item_t,
orte_regex_node_construct,
orte_regex_node_destruct);
static int extract_node_names(char *regexp, char ***names);
static int nidmap_create(opal_pointer_array_t *pool, char **regex)
{

Просмотреть файл

@ -3,6 +3,8 @@
* Copyright (c) 2015-2018 Intel, Inc. All rights reserved.
* Copyright (c) 2015 Los Alamos National Security, LLC. All rights
* reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -59,6 +61,7 @@ typedef int (*orte_regx_base_module_init_fn_t)(void);
typedef int (*orte_regx_base_module_nidmap_create_fn_t)(opal_pointer_array_t *pool, char **regex);
typedef int (*orte_regx_base_module_nidmap_parse_fn_t)(char *regex);
typedef int (*orte_regx_base_module_extract_node_names_fn_t)(char *regexp, char ***names);
/* create a regular expression describing the nodes in the
* allocation */
@ -87,6 +90,7 @@ typedef struct {
orte_regx_base_module_init_fn_t init;
orte_regx_base_module_nidmap_create_fn_t nidmap_create;
orte_regx_base_module_nidmap_parse_fn_t nidmap_parse;
orte_regx_base_module_extract_node_names_fn_t extract_node_names;
orte_regx_base_module_encode_nodemap_fn_t encode_nodemap;
orte_regx_base_module_decode_daemon_nodemap_fn_t decode_daemon_nodemap;
orte_regx_base_module_build_daemon_nidmap_fn_t build_daemon_nidmap;