summaryrefslogtreecommitdiff
path: root/gr-blocks/lib/socket_pdu_impl.cc
Commit message (Collapse)AuthorAgeFilesLines
* gr-blocks: remove pdu blocksJacob Gilbert2021-03-181-271/+0
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* blocks/socket_pdu: Remove manual memory managementThomas Habets2020-08-141-7/+7
|
* Replace all calls to `get_initial_sptr` with `make_block_sptr`Thomas Habets2020-07-301-2/+2
| | | | | | | | | | | | | | First batch of changes: ``` find […] -print0 | xargs -0 sed -i -r '/get_initial_sptr/{:nxt N;/;/!b nxt;s/get_initial_sptr\(\s*new ([^(]+)(.*)\)\)/make_block_sptr<\1>\2)/}' ``` Then: * Back out `sptr_magic.h` edits * Change some `friend` clauses * clang-format the whole thing * Update checksums in the pybind11 bindings files
* msg_handler: Use lambdas to set msg handlersJohannes Demel2020-06-041-12/+8
| | | | | With this commit, all calls to `set_msg_handler` in `gr-blocks` use lambdas. This helps to use `std::function` instead of `boost::function`.
* msg_handler: Switch from boost::function to std::functionJohannes Demel2020-06-041-8/+12
| | | | | | | This commit is a first stab at moving from `boost::function` to `std::function`. For now, it does only update gr-blocks. Also, this requires more testing. If others can confirm that this change works, I'll continue to update all modules.
* Update license header to SPDX formatdevnulling2020-01-271-13/+1
|
* clang-format: Ordering all the includesMarcus Müller2019-08-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | clang-format: ordering includes in gnuradio-runtime clang-format: ordering includes in gr-filter clang-format: ordering includes in gr-fft clang-format: ordering includes in gr-audio clang-format: ordering includes in gr-analog clang-format: ordering includes in gr-fec clang-format: ordering includes in gr-wavelet clang-format: ordering includes in gr-zeromq clang-format: ordering includes in gr-vocoder clang-format: ordering includes in gr-video-sdl clang-format: ordering includes in gr-trellis clang-format: ordering includes in gr-blocks clang-format: ordering includes in gr-digital clang-format: ordering includes in gr-uhd clang-format: ordering includes in gr-dtv clang-format: ordering includes in gr-channels clang-format: ordering includes in gr-qtgui clang_format.py: re-enable include reordering
* Tree: clang-format without the include sortingMarcus Müller2019-08-091-155/+180
|
* blocks: simple fix for Boost 1.70.0 in socket_pduMichael Dickens2019-05-281-1/+5
| | | | | | NOTE: There have been multiple fixes proposed, such as https://github.com/gnuradio/gnuradio/pull/2451 . This one is the simplest and most compatible.
* blocks: avoid potential static initialization order fiascoMarcus Müller2018-03-301-8/+8
|
* blocks: don't pmt::mp("string") for every single PDUMarcus Müller2018-02-231-9/+9
| | | | | | | | | 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.
* socket_pdu_impl: garbage collect closed tcp_connectionsJeff Long2018-02-031-0/+9
| | | | | | | | | | | | | | | | | | | | | | | 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
* blocks: fix incorrect use of items/bytes in PDU handlingJacob Gilbert2016-02-081-2/+2
| | | | | | | | | | | 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.
* blocks: fix destruction and shutdown for socket_pduNathan West2015-10-071-0/+17
| | | | | | This removes the inheritance from stream_pdu_base and stop the io_service and internal service thread when stop() and dtor are called.
* Removing trailing/extra whitespaces before release.Tom Rondeau2014-07-071-14/+14
| | | | 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).
* socket_pdu: fixed resolver issue by applying same resolver as in udp_sink.Marcus Müller2014-04-121-2/+6
| | | | | | Basically a version of http://gnuradio.org/redmine/issues/613 reported by Alex Weihkopf in socket_pdu. Patch is the same.
* blocks: added 'MTU' and 'tcp_no_delay' params for 'socket_pdu' (and GRC ↵Balint Seeber2014-03-271-55/+81
| | | | | | option), applied MTU (buffer size) to TCP/UDP send, separate TCP/UDP server endpoint resolvers for empty/0.0.0.0 Host param (listen on all interfaces) Whitespace clean-up.
* runtime: converting runtime core to gr namespace, gnuradio include dir.Tom Rondeau2013-04-291-5/+5
|
* gruel: moved gruel into subdirs of gnuradio-runtime.Tom Rondeau2013-04-011-1/+1
| | | | PMTs are handled slightly different and are installed into their own module and include dir.
* blocks: added gr::blocks::random_pduJohnathan Corgan2013-02-281-1/+1
|
* Merge branch 'master' into nextJohnathan Corgan2013-02-281-11/+11
| | | | | Conflicts: gr-blocks/lib/stream_pdu_base.cc
* blocks: added gr::blocks::socket_pduJohnathan Corgan2013-02-281-0/+198