summaryrefslogtreecommitdiff
path: root/gr-blocks/lib/random_pdu_impl.cc
diff options
context:
space:
mode:
authorJacob Gilbert <jacob.gilbert@protonmail.com>2021-03-14 10:29:08 -0700
committermormj <34754695+mormj@users.noreply.github.com>2021-03-18 16:35:41 -0400
commit4a3fe8539ce0f0830db150d7c8b920d9c0828c0c (patch)
treee41709e4e7a4ac1a843895c55cf81490929418fc /gr-blocks/lib/random_pdu_impl.cc
parenta8a9913136a64da903f190493bdc117b5349625e (diff)
gr-blocks: remove pdu blocks
The following have been moved to the new gr::pdu module or to gr::network and are no longer needed in gr::blocks: - pdu (noblock) - pdu_filter block - pdu_remove block - pdu_set block - pdu_to_tagged_stream block - random_pdu block - socket_pdu block - stream_pdu_base (noblock) - tagged_stream_to_pdu block - tcp_connection (noblock) - tuntap_pdu block The digital and FEC modules had a large number of references to the PDU blocks that were moved from gr-blocks to gr-pdu, this updates these changes in example flowgraphs and a few python files. The usage-manual update will be propagated to the wiki so that future exports will remain up to date. Signed-off-by: Jacob Gilbert <jacob.gilbert@protonmail.com>
Diffstat (limited to 'gr-blocks/lib/random_pdu_impl.cc')
-rw-r--r--gr-blocks/lib/random_pdu_impl.cc74
1 files changed, 0 insertions, 74 deletions
diff --git a/gr-blocks/lib/random_pdu_impl.cc b/gr-blocks/lib/random_pdu_impl.cc
deleted file mode 100644
index 2a8e1eb7f5..0000000000
--- a/gr-blocks/lib/random_pdu_impl.cc
+++ /dev/null
@@ -1,74 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2013 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "random_pdu_impl.h"
-#include <gnuradio/blocks/pdu.h>
-#include <gnuradio/io_signature.h>
-
-namespace gr {
-namespace blocks {
-
-random_pdu::sptr
-random_pdu::make(int min_items, int max_items, unsigned char byte_mask, int length_modulo)
-{
- return gnuradio::make_block_sptr<random_pdu_impl>(
- min_items, max_items, byte_mask, length_modulo);
-}
-
-random_pdu_impl::random_pdu_impl(int min_items,
- int max_items,
- unsigned char byte_mask,
- int length_modulo)
- : block("random_pdu", io_signature::make(0, 0, 0), io_signature::make(0, 0, 0)),
- d_urange(min_items, max_items),
- d_brange(0, 255),
- d_mask(byte_mask),
- d_length_modulo(length_modulo)
-{
- message_port_register_out(pdu::pdu_port_id());
- message_port_register_in(pmt::mp("generate"));
- set_msg_handler(pmt::mp("generate"),
- [this](pmt::pmt_t msg) { this->generate_pdu(msg); });
- if (length_modulo < 1)
- throw std::runtime_error("length_module must be >= 1");
- if (max_items < length_modulo)
- throw std::runtime_error("max_items must be >= to length_modulo");
-}
-
-bool random_pdu_impl::start()
-{
- output_random();
- return true;
-}
-
-void random_pdu_impl::output_random()
-{
- // pick a random vector length
- int len = d_urange(d_rng);
- len = std::max(d_length_modulo, len - len % d_length_modulo);
-
- // fill it with random bytes
- std::vector<unsigned char> vec(len);
- for (int i = 0; i < len; i++)
- vec[i] = ((unsigned char)d_brange(d_rng)) & d_mask;
-
- // send the vector
- pmt::pmt_t vecpmt(pmt::make_blob(&vec[0], len));
- pmt::pmt_t pdu(pmt::cons(pmt::PMT_NIL, vecpmt));
-
- message_port_pub(pdu::pdu_port_id(), pdu);
-}
-
-} /* namespace blocks */
-} /* namespace gr */