| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
The TCP and UDP blocks segfault if start() is called after stop(),
because stop() frees resources that are not re-allocated by start(). To
fix this, I've moved resource allocation for these blocks from the
constructor to start().
Signed-off-by: Clayton Smith <argilo@gmail.com>
|
|
|
|
| |
Signed-off-by: Josh Morman <jmorman@gnuradio.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Moving the following from gr::blocks into gr-pdu:
- pdu_filter block
- pdu_remove block
- pdu_set block
- pdu_to_tagged_stream block
- random_pdu block
- tagged_stream_to_pdu block
Moving the following from gr::blocks into gr-network:
- socket_pdu block
- stream_pdu_base (noblock)
- tcp_connection (noblock)
- tuntap_pdu block
Moving the following from gr::blocks into gr:
- pdu (noblock, general PDU functions)
Signed-off-by: Jacob Gilbert <jacob.gilbert@protonmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
All of the removed `from __future__ import` were needed in older
versions of Python (mostly 2.5.x and below) but later became mandatory
in most versions of Python 3 hence are not necessary anymore.
More specifically, according to __future__.py[1]:
- unicode_literals is part of Python since versions 2.6.0 and 3.0.0;
- print_function is part of Python since versions 2.6.0 and 3.0.0;
- absolute_import is part of Python since versions 2.5.0 and 3.0.0;
- division is part of Python since versions 2.2.0 and 3.0.0;
Get rid of those unnecessary imports to slightly clean up the codebase.
[1] https://github.com/python/cpython/blob/master/Lib/__future__.py
|
| |
|
| |
|
| |
|
|
This PR is to create a new gr-network structure that includes
the grnet TCP and UDP source/sink blocks for inclusion into GNU Radio.
This includes new modes (TCP source/sink can act as either a TCP
server/listener or a client), and UDP supports multiple new header
options for dropped packet detection and integration with external
sources such as the Allen Telescope Array. The UDP blocks have a
number of important performance and tuning comments in the block
documentation to help ensure success with the blocks, and examples
for each scenario are included. This PR also deprecates the old
TCP/UDP blocks but keeps them in place. The new blocks and new
functionality resulted in not a 1:1 drop-in replacement for the
old blocks so the old blocks were moved to the deprecated UI
group to avoid breaking flowgraphs going to GR 3.9.
Some of the new features included in these blocks are:
1. The only TCP block is a sink that listens for inbound connections.
This inherently limits the ability to transmit data to another 3rd
party application listening for data in TCP server mode. A source
block is included here as well.
2. The TCP sink block supports both TCP client and server modes.
3. All blocks (TCP and UDP) support IPv6.
4. UDP blocks now include a variety of header options: None, a 64-bit
sequence number that can be used to track dropped packets, CHDR,
and the Allen Telescope Array header format for GR-native ATA
integration.
5. UDP blocks paired with headers can now notify if any data is lost
in transit.
6. UDP blocks now have the option to source 0's (no signal) to allow
the flowgraph to run if no incoming data is available.
7. UDP blocks now include a buffering mechanism to ensure data is
not lost between different timing domains (network packets and
GNU Radio scheduler).
8. Block documentation has been added to help guide users through
how to properly configure addresses for IPv6 or dual-stack
operations, and tuning / testing before using UDP blocks in a
production environment.
9. TCP sink has enhanced work logic to remain running and continue
to listen for reconnections if a client disconnects.
|