| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Most of this code is automated code changes:
```
set -e
SUB="s/dummy/dummy/"
for i in shared_ptr make_shared dynamic_pointer_cast weak_ptr enable_shared_from_this get_deleter; do
SUB="$SUB;s/boost::$i/std::$i/g"
done
SUB="$SUB;s^#include <boost/shared_ptr.hpp>^#include <memory>^g"
SUB="$SUB;s^namespace boost^namespace std^g"
find . \( -name "*.cc" -o -name "*.h" -o -name "*.i" -o -name "*.cxx" -o -name "*.py" \) -print0 | xargs -0 sed -i "$SUB"
```
Only one manual change. In `./gr-fec/lib/fec_mtrx_impl.cc`, add
`#include <algorithm>`.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Replaced the usage of `#define PDU_PORT_ID pmt::mp("pdus")` – that was
the actual way to *enforce* rehashing on every single use.
Now, static const member of namespace `gr::blocks::pdu` as
`s_pdu_port_id`. Should speed up the PDU blocks a bit. Removes run-time
malloc'ing. Good thing.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch addresses two problems. First tcp_connections were not being
closed, leading to a bug report about socket exhaustion [1]. Second,
socket_pdu_impl tracks tcp_connections in a vector so that it can
broadcast outgoing data to clients. Items in this vector were never
freed.
This patch does a shutdown and close on the tcp_connection when there
is a read failure (signaling a socket close). On each new accept, the
tcp_connection list in socket_pdu_impl is scanned for closed connections,
which are then removed.
Possible improvements:
- Make sure the read error is eof.
- Check sends as well as reads.
More direct signalling could be done between tcp_connection and
socket_pdu_impl, but that would require an API change. No change
is required, here.
[1] https://github.com/gnuradio/gnuradio/issues/1568
|
| |
|
|
|
|
|
|
|
|
|
| |
Asio requires that the underlying buffer passed to `async_write()`
remain valid valid until the handler was called. The previous version
was allocating a vector on the stack which gets destroyed once the
`send()` method returns.
Added a unit test for TCP server.
|
|
|
|
|
|
|
|
|
|
|
| |
For a uniform vector, calls to pmt::length return the number
of items in in the vector. However, in some places this was
being treated as a byte value, resulting in short writes and
other misinterpretations.
These calls have been replaced with calls to pmt::blob_length,
to unambiguously get the length in bytes, then converted if
necessary to item values.
|
|
|
|
| |
We should be more careful about letting these into the code in the future. In emacs, we can use (add-hook 'before-save-hook 'delete-trailing-whitespace).
|
|
|
|
| |
(no longer uses fixed buffer)
|
| |
|
| |
|
|
|
|
|
| |
Conflicts:
gr-blocks/lib/stream_pdu_base.cc
|
|
|