summaryrefslogtreecommitdiff
path: root/gr-zeromq/lib/base_impl.cc
Commit message (Collapse)AuthorAgeFilesLines
* zeromq: Fix warnings with recv()Martin Braun2021-02-151-12/+18
| | | | | | | | The recv() call on a ZMQ socket produces a warning if the return value is not stored. We follow the advice and check the return value, just in case. Signed-off-by: Martin Braun <martin.braun@ettus.com>
* clang-tidy: run full .clang-tidy on C++17 codebaseMarcus Müller2021-01-191-2/+2
| | | | | | | | | | | | | | | | | | | | run /usr/share/clang/run-clang-tidy.py -checks=file '-header-filter=.*' -fix .. from build directory. Then, clang-format -i $(git diff --name-only origin/master) to clang-format changed files. Then, refresh all header hashes in pybind bindings (*/python/bindings/*.cc) Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* zeromq: Add ZMQ_LINGER value to prevent infinite blockMatt Mills2020-10-281-0/+10
| | | | | | | | | | | Closes: #1132 Per the ZMQ documentation update, the docs originally listed the default of ZMQ_LINGER as 30 seconds, however the real default was -1. This caused the behavior of blocking indefinitely on top_block.stop() while the socket waited for abandoned messages to be read by a client. Ideally this value should be configurable, I've opened #3872 as follow up.
* zeromq: Remove manual memory managementThomas Habets2020-09-221-29/+25
| | | | | I believe this fixes a memory leak, as the thread objects were never deleted.
* gr-zeromq: Add optional key filteringAndriy Gelman2020-03-021-6/+39
| | | | | | | | | Fixes #2236 Allows to filter a multi-part message by key/topic on a sub source and insert key/topic on a pub sink. Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
* 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-131/+138
|
* zeromq: fixes to allow building using CPPZMQ 4.3.1 as well as priorMichael Dickens2019-06-151-1/+9
| | | | CPPZMQ deprecated some prototypes of "recv" and "send" in some version prior to 4.3.1. The "recv" one will be removed in 4.3.1 and thus will generate an error since no valid prototype exists in the way "recv" is currently being call. This fix updates our usage of both calls to work with the "new" and "old" ways, depending on the CPPZMQ version. Move the CPPZMQ header inclusion and a macro determine which version to use into a common local header.
* gr-zeromq: Remove VLA from last_endpoint()Brennan Ashton2018-12-121-2/+2
|
* gr-zeromq: Add last_endpoint function to zmq source and sink blocksBrennan Ashton2018-11-281-0/+9
| | | | | | The main reason for this is is allows you to read back the real address string in the case that port 0 is used and the OS has auto-assigned a free port.
* Comment typo fixing.luz.paz2018-02-031-1/+1
| | | | Luzpaz went ahead and found typos using `codespell -q 3`.
* Support receiving multi-part ZeroMQ messagesBrian Orr2017-04-131-2/+15
| | | | | | | | | | ZeroMQ sink blocks will attempt to load all parts of a multi-part message before processing tags and outputting items. Allows senders to take advantage of ZeroMQ's zero-copy message delivery. Add check for incompatible data sizes between ZMQ endpoints. Fixes #1080
* gr-zmq: Fix build with gcc6.Philip Balister2016-06-281-1/+1
| | | | Signed-off-by: Philip Balister <philip@balister.org>
* gr-zeromq: Big rework for performance and correctnessSylvain Munaut2016-01-271-0/+198
- Use class hierarchy trying to maximize code re-use. - Dont' drop samples on receive if the output buffer doesn't have enough space. - Don't drop tags on receive by putting tags in the future. - Better metadata creation/parsing avoiding copying lots data. - Always do as much work as possible in a single call to work() to avoid scheduler overhead as long as possible. - Allow setting the high watermark to avoid older version of zeromq's default of buffering infinite messages and causing a paging thrash to/from disk when the flow graph can't keep up. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>