From af39651d09edc0a698330f471037ef9210c458c5 Mon Sep 17 00:00:00 2001 From: Steffen Vogel Date: Mon, 16 Oct 2017 23:08:27 +0200 Subject: [PATCH] villas-pipe: automatically fill sequence numbers if not provided --- src/pipe.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/pipe.c b/src/pipe.c index f3196545b..600828c50 100644 --- a/src/pipe.c +++ b/src/pipe.c @@ -107,6 +107,7 @@ static void usage() static void * send_loop(void *ctx) { + unsigned last_sequenceno = 0; int ret, scanned, sent, ready, cnt = 0; struct sample *smps[node->vectorize]; @@ -130,6 +131,14 @@ static void * send_loop(void *ctx) else if (scanned == 0) continue; + /* Fill in missing sequence numbers */ + for (int i = 0; i < scanned; i++) { + if (smps[i]->flags & SAMPLE_HAS_SEQUENCE) + last_sequenceno = smps[i]->sequence; + else + smps[i]->sequence = last_sequenceno++; + } + sent = node_write(node, smps, scanned); if (sent < 0) { warn("Failed to sent samples to node %s: reason=%d", node_name(node), sent);