GNU Radio Manual and C++ API Reference 3.7.14.0
The Free & Open Software Radio Ecosystem
annotator_alltoall.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2010,2013 Free Software Foundation, Inc.
4 *
5 * This file is part of GNU Radio
6 *
7 * GNU Radio is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 3, or (at your option)
10 * any later version.
11 *
12 * GNU Radio is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with GNU Radio; see the file COPYING. If not, write to
19 * the Free Software Foundation, Inc., 51 Franklin Street,
20 * Boston, MA 02110-1301, USA.
21 */
22
23#ifndef INCLUDED_GR_ANNOTATOR_ALLTOALL_H
24#define INCLUDED_GR_ANNOTATOR_ALLTOALL_H
25
26#include <gnuradio/blocks/api.h>
27#include <gnuradio/sync_block.h>
28
29namespace gr {
30namespace blocks {
31
32/*!
33 * \brief All-to-all stream annotator testing block. FOR TESTING PURPOSES ONLY.
34 * \ingroup debug_tools_blk
35 *
36 * \details
37 * This block creates tags to be sent downstream every 10,000
38 * items it sees. The tags contain the name and ID of the
39 * instantiated block, use "seq" as a key, and have a counter that
40 * increments by 1 for every tag produced that is used as the
41 * tag's value. The tags are propagated using the all-to-all
42 * policy.
43 *
44 * It also stores a copy of all tags it sees flow past it. These
45 * tags can be recalled externally with the data() member.
46 *
47 * This block is only meant for testing and showing how to use the tags.
48 */
50{
51public:
52 // gr::blocks::annotator_alltoall::sptr
53 typedef boost::shared_ptr<annotator_alltoall> sptr;
54
55 static sptr make(int when, size_t sizeof_stream_item);
56
57 virtual std::vector<tag_t> data() const = 0;
58};
59
60} /* namespace blocks */
61} /* namespace gr */
62
63#endif /* INCLUDED_GR_ANNOTATOR_ALLTOALL_H */
All-to-all stream annotator testing block. FOR TESTING PURPOSES ONLY.
Definition: annotator_alltoall.h:50
static sptr make(int when, size_t sizeof_stream_item)
virtual std::vector< tag_t > data() const =0
boost::shared_ptr< annotator_alltoall > sptr
Definition: annotator_alltoall.h:53
synchronous 1:1 input to output with history
Definition: sync_block.h:38
#define BLOCKS_API
Definition: gr-blocks/include/gnuradio/blocks/api.h:30
Include this header to use the message passing features.
Definition: basic_block.h:45