summaryrefslogtreecommitdiff
path: root/gr-zeromq/lib
Commit message (Collapse)AuthorAgeFilesLines
* classic modules: use common precompiled headersMarcus Müller2021-07-191-0/+4
| | | | | | | This commit contains all the additions to gr-*/lib/CMakeLists.txt applicable to modules already present in 3.8. Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* zeromq: replace ::bind with lambdaMarcus Müller2021-03-204-10/+4
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* fixup! zeromq: Fix warnings with recv()Martin Braun2021-02-153-6/+6
| | | | Signed-off-by: Martin Braun <martin@gnuradio.org>
* zeromq: Fix warnings with recv()Martin Braun2021-02-156-29/+71
| | | | | | | | 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>
* C++14: Use std::make_unique instead of boost::make_uniqueMarcus Müller2021-01-044-9/+9
| | | | | | Also, clean up includes Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* modernization: `override` instead of virtual in all compilation unitsMarcus Müller2020-11-037-7/+7
|
* 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-2218-159/+127
| | | | | I believe this fixes a memory leak, as the thread objects were never deleted.
* Replace all calls to `get_initial_sptr` with `make_block_sptr`Thomas Habets2020-07-3012-18/+18
| | | | | | | | | | | | | | 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 in most componentsJohannes Demel2020-06-042-2/+2
| | | | | With this commit, all components except gr-qtgui use lambdas instead of `boost::bind` to register msg handlers.
* zeromq: Add bind argument for message based zeromq blocks.Jacob Gilbert2020-04-1012-30/+62
| | | | | | This is needed to support N:1 patterns. To avoid confusion, since this is probably a feature only needed by those who Know What They Are Doing, the option is added to the Advanced block property tab.
* zmq: Handle the PMT exceptionsVasil Velichkov2020-03-103-7/+18
| | | | | | | | | | | Handle the PMT exceptions when deserializing the received ZMQ messages, log an error message and continue the execution. Previously the unhandled exceptions were aborting the process: terminate called after throwing an instance of 'pmt::exception' what(): pmt::deserialize: malformed input stream, tag value = : 50 Aborted (core dumped)
* gr-zeromq: Add optional key filteringAndriy Gelman2020-03-026-24/+87
| | | | | | | | | 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-2731-403/+31
|
* gr-zeromq: Fix warnings deprecated send since 4.3.1 extends PR #2503Brennan Ashton2019-11-0113-9/+20
| | | | | | | | | Wrap some missed send calls with helper define and make sure zmq_common_impl.h is being used everywhere instead of zmq.hpp Most were already pulling this in via the base_impl.h Signed-off-by: Brennan Ashton <bashton@brennanashton.com>
* zeromq: fix inconsistent use of overrideBastian Bloessl2019-09-0510-14/+14
|
* clang-format: Ordering all the includesMarcus Müller2019-08-0921-31/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-0929-1042/+1078
|
* zeromq: fixes to allow building using CPPZMQ 4.3.1 as well as priorMichael Dickens2019-06-1513-21/+83
| | | | 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.
* cmake: Update to modern CMake usageAndrej Rode2019-03-041-49/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This includes using target based setting of includes and link libraries. This will transitively add the includes and linking flags to dependent targets. This is still a work in progress since only the dynamic libraries have been touched and not all of include_directories directives are gone yet. cmake: remove GR_INCLUDE_SUBDIRECTORY macro Previously this macro was used to inject subdirectories in the current CMake namespace. This is generally undesired and pollutes the current context. previously GNU Radio CMake had a non-default option ENABLE_STATIC_LIBS to build both, shared libraries and static libraries. This seems to be a construction taken over from autotools and serves no purpuose in CMake and complicates the library building. cmake: remove GR_LIBTOOL and la generation support This looks like it was primarily used to support projects using autotools, but comments state that the generated .la files aren't compatible with autotools anyway. cmake: Bump required CMake version to 3.8 UseSWIG cmake uses syntax which requires at least CMake 3.8 and is non-trivial to change
* gr-zeromq: Remove VLA from last_endpoint()Brennan Ashton2018-12-127-14/+14
|
* gr-zeromq: Add last_endpoint function to zmq source and sink blocksBrennan Ashton2018-11-2814-0/+58
| | | | | | 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.
* Merge remote-tracking branch 'origin/next' into merge_nextMarcus Müller2018-08-311-2/+2
|\
| * Merge branch 'master' into nextMartin Braun2018-02-032-2/+2
| |\
| * \ Merge branch 'master' into nextJohnathan Corgan2017-04-131-2/+15
| |\ \
| * | | cmake: nuke cpack from existenceJohnathan Corgan2016-08-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | CPack is not used, unmaintaned, and broken. This does not eliminate any MSVC build functionality.
* | | | zeromq: remove call to pmt::intern when checking queueMarcus Müller2018-02-232-4/+7
| | | | | | | | | | | | | | | | | | | | The rep_msg_sink was checking the head_delete_nowait status with a freshly constructed pmt intern.
* | | | zeromq: remove unnecessary call to pmt::intern at runtimeMarcus Müller2018-02-236-9/+15
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | typical usage: message_port_pub(pmt::mp("out_port"), …) which is bad, as it implies hashing of a string, allocation of memory, deallocation, finding the hashed string in the table of interned strings and returning a unique pointer (which for reasons of PMT awesomeness isn't even unique) to the interned port name. Replacing all these port name ad hoc ::mp() calls by reusing one, private, port name member.
* | | Comment typo fixing.luz.paz2018-02-032-2/+2
| |/ |/| | | | | 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-287-8/+8
| | | | Signed-off-by: Philip Balister <philip@balister.org>
* MSVC-specific fixes for compatibilitygnieboer2016-05-303-3/+9
| | | | | | | | | | | | | | | | | | | * Changed dtv_viterbi_decoder to use __GR_ATTR_ALIGNED macro for cross-compiler compatibility * Replace usleep() with boost equivalent for cross-compiler compatibility * Includes windows-specific headers for portaudio * Added macro to handle use of VLAs on non-C99 compilers (MSVC) using alloca to declare variable length arrays * Remove setting SO_LINGER option for the UDP source. SO_LINGER is not an applicable option for a UDP socket. Windows will throw an exception if set. Linux allows it to be set but does not use it. * VS 2013+ supports round()
* gr-zeromq: Big rework for performance and correctnessSylvain Munaut2016-01-2717-456/+531
| | | | | | | | | | | | | | | - 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>
* zmq: fix for data corruption when not using tagsTim O'Shea2015-02-083-11/+29
|
* zeromq: minor cleanupJohnathan Corgan2015-01-125-56/+67
|
* zeromq: cleanup and made req_msg_source derive from gr::blockJohnathan Corgan2015-01-122-43/+33
|
* zeromq: cleanup and converted rep_msg_sink to derive from gr::blockJohnathan Corgan2015-01-122-68/+47
|
* zeromq: cleanup and made pull_msg_source derive from gr::blockJohnathan Corgan2015-01-122-38/+30
|
* zeromq: cleanup and converted push_msg_sink to derive from gr::blockJohnathan Corgan2015-01-122-50/+13
|
* zeromq: cleanup and convert sub_msg_source to derive from gr::blockJohnathan Corgan2015-01-122-41/+33
|
* zeromq: cleanup and convert pub_msg_sink to derive from gr::blockJohnathan Corgan2015-01-122-18/+10
|
* zmq: rep/req msg blocks now workingTim O'Shea2014-12-304-68/+108
|
* zmq: pull_msg_source should be workingTim O'Shea2014-12-302-43/+46
|
* zmq: building working versions of additional zmq message blocks in place ↵Tim O'Shea2014-12-3011-1/+693
| | | | (push/pull + rep/req)
* zmq: Adding zmq pub/sub blocks for message passingTim O'Shea2014-12-295-0/+314
|
* zmq: adding header informationTim O'Shea2014-12-281-1/+23
|
* zmq: stream tag passing now worksTim O'Shea2014-12-266-20/+18
|
* zeromq: fix segfault in tag_headersJohnathan Corgan2014-12-261-2/+15
|
* zeromq: fixups and stylistic changes before mergeJohnathan Corgan2014-10-3110-34/+98
|