GNU Radio Manual and C++ API Reference  3.10.2.0-rc1
The Free & Open Software Radio Ecosystem
stream_pdu_base.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2013 Free Software Foundation, Inc.
4  *
5  * This file is part of GNU Radio
6  *
7  * SPDX-License-Identifier: GPL-3.0-or-later
8  *
9  */
10 
11 #ifndef INCLUDED_STREAM_PDU_BASE_H
12 #define INCLUDED_STREAM_PDU_BASE_H
13 
14 #include <gnuradio/basic_block.h>
15 #include <gnuradio/logger.h>
16 #include <gnuradio/thread/thread.h>
17 #include <pmt/pmt.h>
18 
19 class basic_block;
20 
21 namespace gr {
22 namespace network {
23 
25 {
26 public:
27  stream_pdu_base(int MTU = 10000);
29 
30 protected:
31  int d_fd;
32  bool d_started;
33  bool d_finished;
34  std::vector<uint8_t> d_rxbuf;
36 
39 
40  void run();
42  bool wait_ready();
44  void stop_rxthread();
45 
47 };
48 
49 } /* namespace network */
50 } /* namespace gr */
51 
52 #endif /* INCLUDED_STREAM_PDU_BASE_H */
The abstract base class for all signal processing blocks.
Definition: basic_block.h:44
Definition: stream_pdu_base.h:25
bool d_started
Definition: stream_pdu_base.h:32
std::vector< uint8_t > d_rxbuf
Definition: stream_pdu_base.h:34
void start_rxthread(basic_block *blk, pmt::pmt_t rxport)
gr::thread::thread d_thread
Definition: stream_pdu_base.h:35
int d_fd
Definition: stream_pdu_base.h:31
bool d_finished
Definition: stream_pdu_base.h:33
gr::logger_ptr d_pdu_logger
Definition: stream_pdu_base.h:46
gr::logger_ptr d_pdu_debug_logger
Definition: stream_pdu_base.h:46
basic_block * d_blk
Definition: stream_pdu_base.h:38
stream_pdu_base(int MTU=10000)
pmt::pmt_t d_port
Definition: stream_pdu_base.h:37
void send(pmt::pmt_t msg)
GR_RUNTIME_API const pmt::pmt_t msg()
boost::thread thread
Definition: thread.h:36
GNU Radio logging wrapper.
Definition: basic_block.h:29
std::shared_ptr< logger > logger_ptr
Definition: logger.h:208
std::shared_ptr< pmt_base > pmt_t
typedef for shared pointer (transparent reference counting).
Definition: pmt.h:84