GNU Radio C++ API Reference  g90d26cb
The Free & Open Software Radio Ecosystem
burst_to_stream.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright (C) 2023-2024 Daniel Estevez <daniel@destevez.net>
4  *
5  * This file is part of GNU Radio
6  *
7  * SPDX-License-Identifier: MIT
8  *
9  */
10 
11 
12 #ifndef INCLUDED_BLOCKS_BURST_TO_STREAM_H
13 #define INCLUDED_BLOCKS_BURST_TO_STREAM_H
14 
15 #include <gnuradio/block.h>
16 #include <gnuradio/blocks/api.h>
17 
18 namespace gr {
19 namespace blocks {
20 
21 /*!
22  * \brief Burst to Stream
23  * \ingroup blocks
24  *
25  * Transforms a bursty tagged stream into a continuous stream by inserting zeros
26  * in the output between input packets whenever no packets are available at the
27  * input.
28  */
29 class BLOCKS_API burst_to_stream : virtual public gr::block
30 {
31 public:
32  typedef std::shared_ptr<burst_to_stream> sptr;
33 
34  /*!
35  * \brief Creates a Burst to Stream block
36  *
37  * \param itemsize Size of the items in bytes.
38  * \param len_tag_key Packet length key of the tagged stream.
39  * \param propagate_tags Controls propagation of tags from input to output.
40  */
41  static sptr make(size_t itemsize,
42  const std::string& len_tag_key = "packet_len",
43  bool propagate_tags = false);
44 };
45 
46 } // namespace blocks
47 } // namespace gr
48 
49 #endif /* INCLUDED_BLOCKS_BURST_TO_STREAM_H */
The abstract base class for all 'terminal' processing blocks.
Definition: gnuradio-runtime/include/gnuradio/block.h:65
Burst to Stream.
Definition: burst_to_stream.h:30
static sptr make(size_t itemsize, const std::string &len_tag_key="packet_len", bool propagate_tags=false)
Creates a Burst to Stream block.
std::shared_ptr< burst_to_stream > sptr
Definition: burst_to_stream.h:32
#define BLOCKS_API
Definition: gr-blocks/include/gnuradio/blocks/api.h:18
GR_RUNTIME_API size_t itemsize(types::vector_type type)
GNU Radio logging wrapper.
Definition: basic_block.h:29