diff --git a/doc/Configuration.md b/doc/Configuration.md index bb455e022..8c7d29594 100644 --- a/doc/Configuration.md +++ b/doc/Configuration.md @@ -77,7 +77,7 @@ The path section consists of a **list** of paths: reverse = false, poolsize = 32, msgsize = 16, - combine = 4, + vectorize = 4, hook = [ "print", "ts" ] } ] @@ -102,7 +102,7 @@ By default, the path is unidirectional. Meaning, that it only forwards samples f Sometimes a bidirectional path is needed. This can be accomplished by setting `reverse` to `true`. -##### `combine` *(integer)* +##### `vectorize` *(integer)* This setting allows to send multiple samples in a single message to the destination nodes. Currently this is only supported by the `file` and `socket` node-types. @@ -115,7 +115,7 @@ The value of this setting determines how many samples will be combined into one A non-zero value for this setting will change this path to an asynchronous mode. In this mode S2SS will send with a fixed rate to all destination nodes. It will always send the latest value it received, possible skipping values which have been received in between. -If `combine` is larger than 1, it will send the last `combine` samples at once. +If `vectorize` is larger than 1, it will send the last `vectorize` samples at once. **Important:** Please note that there is no correlation between the time of arrival and time of departure in this mode. It might increase the latency of this path by up to `1 / rate` seconds! @@ -123,7 +123,7 @@ If `combine` is larger than 1, it will send the last `combine` samples at once. Every path manages a circular buffer to keep a history of past samples. This setting specifies the size of this circular buffer. -**Important:** There are some hook functions (or the `combine` setting) which require a minimum poolsize (for example the finite-impulse-response `fir` hook). +**Important:** There are some hook functions (or the `vectorize` setting) which require a minimum poolsize (for example the finite-impulse-response `fir` hook). ##### `hook` *(list of strings)* diff --git a/doc/nodes/NGSI.md b/doc/nodes/NGSI.md index 48d34438b..5935de330 100644 --- a/doc/nodes/NGSI.md +++ b/doc/nodes/NGSI.md @@ -8,7 +8,7 @@ It's using `libcurl` and `libjansson` to communicate with the context broker ove ## Configuration -You can use the `combine` setting to send multiple samples in a vector. +You can use the `vectorize` setting to send multiple samples in a vector. Every `ngsi` node supports the following special settings: diff --git a/doc/nodes/Socket.md b/doc/nodes/Socket.md index 7104e741d..eefa3eccf 100644 --- a/doc/nodes/Socket.md +++ b/doc/nodes/Socket.md @@ -43,7 +43,7 @@ Every `socket` node supports the following special settings: local = "127.0.0.1:12001", # This node only received messages on this IP:Port pair remote = "127.0.0.1:12000" # This node sents outgoing messages to this IP:Port pair - combine = 30 # Receive and sent 30 samples per message (multiplexing). + vectorize = 30 # Receive and sent 30 samples per message (multiplexing). } } diff --git a/include/node.h b/include/node.h index 8d528df73..a9a2f127b 100644 --- a/include/node.h +++ b/include/node.h @@ -165,7 +165,7 @@ struct node char *_name; /**< Singleton: A string used to print to screen. */ char *_name_long; /**< Singleton: A string used to print to screen. */ - int combine; /**< Number of messages to send / recv at once (scatter / gather) */ + int vectorize; /**< Number of messages to send / recv at once (scatter / gather) */ int affinity; /**< CPU Affinity of this node */ enum node_state { diff --git a/lib/cfg.c b/lib/cfg.c index eb7da3817..efeb98529 100644 --- a/lib/cfg.c +++ b/lib/cfg.c @@ -225,8 +225,8 @@ int config_parse_node(config_setting_t *cfg, struct list *nodes, struct settings if (ret) cerror(cfg, "Failed to parse node '%s'", node_name(n)); - if (!config_setting_lookup_int(cfg, "combine", &n->combine)) - n->combine = 1; + if (!config_setting_lookup_int(cfg, "vectorize", &n->vectorize)) + n->vectorize = 1; if (!config_setting_lookup_int(cfg, "affinity", &n->affinity)) n->affinity = set->affinity; diff --git a/lib/path.c b/lib/path.c index 493718b60..41b9478c8 100644 --- a/lib/path.c +++ b/lib/path.c @@ -22,8 +22,8 @@ static void path_write(struct path *p) n, /* Destination node */ p->pool, /* Pool of received messages */ p->poolsize, /* Size of the pool */ - p->received - n->combine,/* Index of the first message which should be sent */ - n->combine /* Number of messages which should be sent */ + p->received - n->vectorize,/* Index of the first message which should be sent */ + n->vectorize /* Number of messages which should be sent */ ); debug(15, "Sent %u messages to node %s", sent, node_name(n)); @@ -87,7 +87,7 @@ static void * path_run(void *arg) /* Main thread loop */ for (;;) { /* Receive message */ - int recv = node_read(p->in, p->pool, p->poolsize, p->received, p->in->combine); + int recv = node_read(p->in, p->pool, p->poolsize, p->received, p->in->vectorize); if (recv < 0) error("Failed to receive message from node %s", node_name(p->in)); else if (recv == 0) diff --git a/lib/websocket.c b/lib/websocket.c index 153738341..15145de79 100644 --- a/lib/websocket.c +++ b/lib/websocket.c @@ -114,7 +114,7 @@ static int protocol_cb_http(struct lws_context *context, struct lws *wsi, enum l "name", node_name_short(n), "connections", list_length(&w->connections), "state", n->state, - "combine", n->combine, + "vectorize", n->vectorize, "affinity", n->affinity ); diff --git a/src/pipe.c b/src/pipe.c index 62e89abfb..b4c83b061 100644 --- a/src/pipe.c +++ b/src/pipe.c @@ -70,7 +70,7 @@ static void usage(char *name) void * send_loop(void *ctx) { for (;;) { - for (int i = 0; i < node->combine; i++) { + for (int i = 0; i < node->vectorize; i++) { struct msg *m = &send_pool[i]; int reason; @@ -85,7 +85,7 @@ retry: reason = msg_fscan(stdin, m, NULL, NULL); } } - node_write(node, send_pool, node->combine, 0, node->combine); + node_write(node, send_pool, node->vectorize, 0, node->vectorize); } return NULL; @@ -99,7 +99,7 @@ void * recv_loop(void *ctx) for (;;) { struct timespec ts = time_now(); - int recv = node_read(node, recv_pool, node->combine, 0, node->combine); + int recv = node_read(node, recv_pool, node->vectorize, 0, node->vectorize); for (int i = 0; i < recv; i++) { struct msg *m = &recv_pool[i]; @@ -160,8 +160,8 @@ int main(int argc, char *argv[]) node_init(node->_vt, argc-optind, argv+optind, config_root_setting(&config)); - recv_pool = alloc(sizeof(struct msg) * node->combine); - send_pool = alloc(sizeof(struct msg) * node->combine); + recv_pool = alloc(sizeof(struct msg) * node->vectorize); + send_pool = alloc(sizeof(struct msg) * node->vectorize); if (reverse) node_reverse(node);