aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/transport/nirio/rpc
Commit message (Collapse)AuthorAgeFilesLines
* uhd: Remove superfluous boost/bind.hpp includesMartin Braun2021-12-031-1/+0
| | | | | On newer versions of Boost, they show deprecation notes. However, they're not actually used any more so they can go.
* uhd: Replace Boost mutexes and locks with standard optionsMartin Braun2021-10-191-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a very mechanical task that could almost have been done with sed. Boost versions of mutexes and locks were removed, and replaced with std:: versions. The replacement tables are as follows: == Mutexes == - boost::mutex -> std::mutex - boost::recursive_mutex -> std::recursive_mutex Mutexes behave identically between Boost and std:: and have the same API. == Locks == C++11 has only two types of lock that we use/need in UHD: - std::lock_guard: Identical to boost::lock_guard - std::unique_lock: Identical to boost::unique_lock Boost also has boost::mutex::scoped_lock, which is a typedef for boost::unique_lock<>. However, we often have used scoped_lock where we meant to use lock_guard<>. The name is a bit misleading, "scoped lock" sounding a bit like an RAII mechanism. Therefore, some previous boost::mutex::scoped_lock are now std::lock_guard<>. std::unique_lock is required when doing more than RAII locking (i.e., unlocking, relocking, usage with condition variables, etc.). == Condition Variables == Condition variables were out of the scope of this lock/mutex change, but in UHD, we inconsistently use boost::condition vs. boost::condition_variable. The former is a templated version of the latter, and thus works fine with std::mutex'es. Therefore, some boost::condition_variable where changed to boost::condition. All locks and mutexes use `#include <mutex>`. The corresponding Boost includes were removed. In some cases, this exposed issues with implicit Boost includes elsewhere. The missing explicit includes were added.
* lib: transport: Mark typecast as intendedMartin Anderseck2021-08-171-1/+2
| | | | | Remove warning about potential data loss in VS due to typecast by marking it as intended.
* lib: transport: Initialize _hshake_args_serverMartin Anderseck2021-08-171-1/+1
| | | | | Initialize _hshake_args_server to safely use this struct and its contents in line 70.
* usrprio: catch exceptions if rpc data read failsSteven Koo2020-12-211-3/+17
| | | | | | | | | This is an unhandled exception case that can cause silent failures for detecting ethernet x310 devices if the niusrpriorpc service is enabled. The "out_args >> vtr_size" read can throw an exception if there are no PCIe devices connected. Signed-off-by: Steven Koo <steven.koo@ni.com>
* uhd: Apply clang-format against all .cpp and .hpp files in host/Martin Braun2020-03-032-104/+134
| | | | | Note: template_lvbitx.{cpp,hpp} need to be excluded from the list of files that clang-format gets applied against.
* uhd: Replace all occurrences of boost::bind with std::bindMartin Braun2019-11-261-2/+3
| | | | | | | | | | | | | | | | | | | | | Note: Replacing everything with a lambda would be even better, but that can't be easily scripted so we'll do this as a first step to reduce the Boost footprint. This also removes occurences of #include <boost/bind.hpp>, and makes sure all usages of std::bind have an #include <functional>. clang-format wasn't always applied to minimize the changeset in this commit, however, it was applied to the blocks of #includes. Due to conflicts with other Boost libraries, the placeholders _1, _2, etc. could not be directly used, but had to be explicitly called out (as std::placeholders::_1, etc.). This makes the use of std::bind even uglier, which serves as another reminder that using std::bind (and even more so, boost::bind) should be avoided. nirio/rpc/rpc_client.cpp still contains a reference to boost::bind. It was not possible to remove it by simply doing a search and replace, so it will be removed in a separate commit.
* uhd: mpm: update all license header w/ "-or-later"Brent Stapleton2019-03-081-1/+1
| | | | Updating all SPDX license identifiers to include "-or-later"
* nirio: Demote RPC client cancel/abort to TRACEMartin Braun2018-08-211-1/+1
| | | | | | This is a common message that will always occur during device init when there is no RIO device available. Because it looks like an error, it confuses people and was thus reduced to TRACE.
* lib: Unbreak build against Boost 1.67Jan Beich2018-04-181-1/+1
| | | | | Some uses of boost::posix_time were incorrect and would cause compiler errors on Boost 1.67.
* niusrprio: Move a const from header to implMartin Braun2018-04-181-0/+5
| | | | This avoids having to redeclare the static const to avoid linker errors.
* uhd: Update license headersMartin Braun2018-02-193-2/+5
| | | | | | | All copyright is now attributed to "Ettus Research, a National Instruments company". SPDX headers were also updated to latest version 3.0.
* Move all license headers to SPDX format.Martin Braun2017-12-223-36/+3
|
* logging: Demoted a number of DEBUG messages to TRACEMartin Braun2017-04-051-3/+3
|
* utils: introduce new logging API and remove msg APIAndrej Rode2017-02-201-11/+11
|
* Remove all boost:: namespace prefix for uint32_t, int32_t etc. (fixed-width ↵Martin Braun2016-11-082-7/+7
| | | | | | | | types) - Also removes all references to boost/cstdint.hpp and replaces it with stdint.h (The 'correct' replacement would be <cstdint>, but not all of our compilers support that).
* Updated code to work for new minimum dependenciesNicholas Corgan2016-03-211-22/+2
| | | | | * Removed code referencing now-unsupported versions of Boost * Added <stdint.h> includes where needed
* Fixed minor warningsNicholas Corgan2015-07-241-1/+1
|
* x300: support new 120 MHz bandwidth versions of the NI-branded X310sBrooks2014-12-221-1/+1
|
* x300: Bugfix#602: X3x0 not found over PCIe with no Eth interfacesAshish Chaudhari2014-10-091-1/+6
| | | | - X3x0 not found over PCIe when only a loopback network interface exists on the host
* BUG #465: UHD: "Error: Connection refused" for USRP1 and B100michael-west2014-05-141-0/+5
| | | | - Added catch for unhandled error
* Added handling for responses that do not have data.michael-west2014-03-131-11/+14
|
* Added assertion to make sure we are resizing buffer to a value >0.michael-west2014-03-111-0/+2
|
* Fix for Bug #378: rpc_client::call() dereferences NULL pointersmichael-west2014-03-071-3/+6
| | | | - Added check for empty data before write
* rpc: Make usrp3 compile again on RHEL6.Moritz2014-02-261-9/+27
| | | | | | | | | | * boost::asio::connect appears in boost 1.47 added conditional for older machines * boost::system::get_system_category() instead of boost::system::system_category. Signed-off-by: Moritz <moritz@ettus.com>
* Merging USRP X300 and X310 support!!Ben Hilburn2014-02-043-0/+459