summaryrefslogtreecommitdiff
path: root/gr-blocks/include/gnuradio
diff options
context:
space:
mode:
authorMarcus Müller <mmueller@gnuradio.org>2021-06-20 18:44:37 +0200
committermormj <34754695+mormj@users.noreply.github.com>2021-06-28 10:19:20 -0400
commita695142b33199de25327709d4983592d96e20414 (patch)
tree135068aeef5b447b30ae2a20e252f0a3f0520430 /gr-blocks/include/gnuradio
parent5463e741ef6714854e4623288eb74e21eb1cca90 (diff)
blocks: zero-output, zero-copy Head mode
If you don't want to test a stream with an exact number of input, but just want your flow graph to terminate after a given number of items, having a head block without an output enables you to do that without copying the data from Head's in- to its output. Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
Diffstat (limited to 'gr-blocks/include/gnuradio')
-rw-r--r--gr-blocks/include/gnuradio/blocks/head.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/gr-blocks/include/gnuradio/blocks/head.h b/gr-blocks/include/gnuradio/blocks/head.h
index 0e28c6d3b1..d8a34bf502 100644
--- a/gr-blocks/include/gnuradio/blocks/head.h
+++ b/gr-blocks/include/gnuradio/blocks/head.h
@@ -1,6 +1,7 @@
/* -*- c++ -*- */
/*
* Copyright 2004,2009,2012,2013 Free Software Foundation, Inc.
+ * Copyright 2021 Marcus Müller
*
* This file is part of GNU Radio
*
@@ -19,11 +20,17 @@ namespace gr {
namespace blocks {
/*!
- * \brief copies the first N items to the output then signals done
+ * \brief stop after processing the first N items
* \ingroup misc_blk
*
* \details
- * Useful for building test cases
+ * Useful for building test cases, this block consumes only N items from its input, and
+ * copies them to its output, if that is connected.
+ *
+ * You can hence use this block in series with your sample flow if you want a block
+ * downstream of it to be tested with an exact number of input items; or you can put it in
+ * parallel to your data path, so that it stops at most one buffer size after the
+ * specified number of items has been produced upstream.
*/
class BLOCKS_API head : virtual public sync_block
{