diff --git a/include/villas/node.h b/include/villas/node.h index e01863444..c24841832 100644 --- a/include/villas/node.h +++ b/include/villas/node.h @@ -47,6 +47,8 @@ struct node int vectorize; /**< Number of messages to send / recv at once (scatter / gather) */ int affinity; /**< CPU Affinity of this node */ + + unsigned long sequence; /**< This is a counter of received samples, in case the node-type does not generate sequence numbers itself. */ enum node_state { NODE_INVALID, /**< This node object is not in a valid state. */ diff --git a/lib/node.c b/lib/node.c index dca14ae83..b4aa9dc02 100644 --- a/lib/node.c +++ b/lib/node.c @@ -113,7 +113,7 @@ int node_start(struct node *n) if (ret == 0) n->state = NODE_RUNNING; - n->seq_num = 0; /** @todo is it the appropriate place to initialize seq_num? */ + n->sequence = 0; return ret; } diff --git a/lib/nodes/socket.c b/lib/nodes/socket.c index ecffea3c7..827c72998 100644 --- a/lib/nodes/socket.c +++ b/lib/nodes/socket.c @@ -276,7 +276,7 @@ int socket_read(struct node *n, struct sample *smps[], unsigned cnt) smp->ts.origin.tv_sec = header[1]; smp->ts.origin.tv_nsec = header[2]; #else - smp->sequence = n->seq_num++; + smp->sequence = n->sequence++; smp->ts.origin.tv_sec = -1; smp->ts.origin.tv_nsec = -1; #endif