Commit Graph

703 Commits

Author SHA1 Message Date
Gudmundur Adalsteinsson
0f9e4c12d0 Problem: Changes in Catch2 causes errors
Solution: Use a fixed commit instead of a branch
2020-10-25 18:04:25 +00:00
Gudmundur Adalsteinsson
d57ffc5cf7 Problem: connected() is confusing
Solution: Deprecated it, it is not related to connect/disconnect.
2020-10-24 18:00:52 +00:00
Gudmundur Adalsteinsson
2af0c0105a Problem: Poller size function missing
Solution: Add it to poller_t
2020-10-10 21:22:16 +00:00
Gudmundur Adalsteinsson
379793cbab Compile and update the examples in the README 2020-10-10 15:32:51 +00:00
Gudmundur Adalsteinsson
7a6c904f94 Problem: Examples are not compiled
Solution: Compile the examples when tests are compiled and using C++11
or greater.
2020-10-10 13:42:00 +00:00
Simon Giesecke
03243ad64d
Merge pull request #447 from SylvainCorlay/vs2015-syntax-error
Fix VS 2015 syntax error with macro
2020-10-05 14:48:18 +02:00
Sylvain Corlay
c34d8eaaec Fix VS2015 syntax error with ZMQ_DEPRECATED macro. 2020-10-05 12:26:28 +02:00
Simon Giesecke
07ac9fef63
Bump version number to 4.8.0 after release to prepare for next development iteration 2020-09-30 12:24:28 +02:00
Simon Giesecke
fef905d598
Merge pull request #399 from gummif/gfa/message-ctor
Problem: message_t ctor string inconsistency
2020-09-08 11:42:55 +02:00
Gudmundur Adalsteinsson
e9716fa6e6
Problem: C++ version not correctly estimated (#429)
* Problem: C++ version not correctly estimated

Solution: Include headers before checking macros and add additional checks for _MSVC_LANG.
2020-09-08 11:38:06 +02:00
Gudmundur Adalsteinsson
ae570b0835 Apply clang-format 2020-09-07 21:37:44 +00:00
Gudmundur Adalsteinsson
1897488a28 Problem: message_t ctor string inconsistency
Solution: Constuctor taking generic ranges including
string literals includes the null terminated char in
the message. Deprecate function and add overloads
for strings.
2020-09-07 21:37:01 +00:00
Simon Giesecke
bf4f75b971
Merge pull request #405 from gummif/gfa/active-poller-handler
Problem: Active poller double add mutates handler
2020-09-07 10:01:26 +02:00
Gudmundur Adalsteinsson
d237615a25 Problem: Active poller double add mutates handler
Solution: Check if socket already added before storing.
2020-09-06 13:46:08 +00:00
Gudmundur Adalsteinsson
3e3fe85b33 Add ctor to error_t taking errno and add noexcept specifiers 2020-09-06 13:25:11 +00:00
Simon Giesecke
7efc9b153f
Merge pull request #432 from or17191/bugfix/socket-move-assignment-not-initializing-ctxptr
Bugfix: socket_t move assignment doesn't initialize ctxptr
2020-09-04 11:33:41 +02:00
serg06
12c3003aa2
Add an example (#423)
I had a really tough time figuring out how to do simple pub-sub with cppzmq; I finally figured it out so I'd like to add it.
2020-09-04 11:23:56 +02:00
Simon Giesecke
4ceb2c8722
Merge pull request #395 from franzhollerer/Issue_#394_fix_cmake_library_dependency
[#394] fixes dependency on libzmq libraries
2020-09-04 11:15:03 +02:00
Franz Hollerer
96ce61fab7 [#394] fixes dependency on libzmq libraries
simplified logic according @tau-mask suggestion
2020-09-04 10:13:17 +02:00
or17191
37e6334d5f Bugfix: socket_t move assignment doesn't initialize ctxptr
Until now, we only assigned the _handle on
`zmq::socket_t::operator=(socket_t&&)`. This manifests when trying to
monitor a socket initialized by that constructor.

To avoid changing the public interface of the socket_t class, we tested
for the specific monitor usecase, since it's the only class accessing
zmq::socke_t::ctxptr.

NOTE: When running the new unit-test without the fix, it might hang on
`zmq_socket_monitor(socket_, NULL, 0)`. We haven't figured out the cause
for that, but we deemed it unimportant (or at least out of scope).
2020-07-18 19:17:19 +03:00
Simon Giesecke
89f4d1b187
Merge pull request #408 from gummif/gfa/ctx-handle
Problem: implicit conversion operators in context
2020-06-19 18:10:38 +02:00
Simon Giesecke
452f736fb7
Merge pull request #416 from gummif/gfa/macro-doc
Problem: Feature checking inconsistencies
2020-06-19 18:02:51 +02:00
Gudmundur Adalsteinsson
8b64a341ac Add requirement that the handler is non-null in active_poller 2020-05-24 22:38:35 +00:00
Gudmundur Adalsteinsson
e9c5546e04 Add CHECK_THROWS_ZMQ_ERROR and check error codes 2020-05-24 22:16:55 +00:00
Gudmundur Adalsteinsson
d2c5fef2c1 Apply clang-format 2020-05-24 21:53:56 +00:00
Gudmundur Adalsteinsson
1fc3a9a873 Document macro usage and simplify code 2020-05-24 21:34:42 +00:00
Simon Giesecke
c4d4cf75dd
Merge pull request #417 from gummif/gfa/pre-refactoring
Problem: Warnings and duplication
2020-05-22 10:12:44 +02:00
Gudmundur Adalsteinsson
76e6bacc80 Move string literal into variable 2020-05-16 13:22:52 +00:00
Gudmundur Adalsteinsson
6143343edf Fix nodiscard warning 2020-05-16 13:20:48 +00:00
Gudmundur Adalsteinsson
6d71b9b541 Replace checks for C++17 with string view macro 2020-05-16 12:39:54 +00:00
Gudmundur Adalsteinsson
5a3dee082e Problem: implicit conversion operators in context
Solution: add handle() and mark operators as deprecated
2020-05-15 20:38:05 +00:00
Simon Giesecke
a2ef92ef57
Merge pull request #415 from sigiesec/poll-array
Add poll overload accepting std::array
2020-05-15 13:09:57 +02:00
Critical2104
b0e72439bd Deprecate poll overload accepting a long timeout value 2020-05-15 12:58:51 +02:00
Critical2104
8d35b8c934 Added poll() overload accepting std::array 2020-05-15 12:50:22 +02:00
Simon Giesecke
b495021ac8
Merge pull request #404 from gummif/gfa/encoding-endian
Problem: No endian check in encoding
2020-05-15 11:58:04 +02:00
Simon Giesecke
9b824dd36f
Merge pull request #407 from jcfr/fix-macos-10.11.6-default-init-error
Fix error: default initialization of an object of const type
2020-05-14 12:32:05 +02:00
Simon Giesecke
bb321ee46f
Merge pull request #413 from Magikhead/fix-grammatical-error-in-multipart_t-str
Address Grammatical Error in multipart_t:str()
2020-05-14 12:05:14 +02:00
Simon Giesecke
a6ca65cbfc
Merge pull request #401 from gummif/gfa/msg-ub
Problem: UB in message_t constructor
2020-05-14 12:04:22 +02:00
Collin H. Reed
0bba33d91c Address Grammatical Error in multipart_t:str()
Fixes grammatical error in multipart_t:str() function.
2020-05-11 13:20:06 +00:00
Jean-Christophe Fillion-Robin
5e2862320d
Fix error: default initialization of an object of const type
This commit fixes a regression introduced in a3e5b54c3 (Problem: Socket
options lack type-safety (#393)).

It addresses the following error reported when building the project
on macOS 10.11.6.

Errors like the following:

  cppzmq/zmq.hpp:1325:39: error: default initialization of an object of const type 'const affinity_t' (aka 'const integral_option<4, unsigned long long, false>') without a user-provided default constructor

Compiler version:

  Apple LLVM version 8.0.0 (clang-800.0.42.1)
  Target: x86_64-apple-darwin15.6.0
  Thread model: posix
  InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Similar issues:

 * https://github.com/tensorflow/tensorflow/issues/28839
  error: default initialization of an object of const type 'const Subgraph::Identity' without a user-provided default constructor

 * https://bugzilla.mozilla.org/show_bug.cgi?id=1451088
   Clang 3.8: error: default initialization of an object of const type 'const js::jit::ArithPolicy' without a user-provided default constructor

 * https://github.com/googleapis/google-cloud-cpp/issues/1593
   [osx] error: default initialization of an object of const type

Co-authored-by: Gudmundur Adalsteinsson <ofpgummi@yahoo.com>
2020-05-05 17:54:34 -04:00
Simon Giesecke
3746e5c2d5
Merge pull request #406 from gummif/gfa/rfc-mme
Problem: Missing reference to rfc
2020-04-25 12:54:37 +02:00
Gudmundur Adalsteinsson
acd7104992 Problem: Missing reference to rfc
Solution: Add link
2020-04-24 20:27:28 +00:00
Gudmundur Adalsteinsson
4784b74c37 Problem: No endian check in encoding
Solution: Always write message part sizes
using network order.
2020-04-18 13:59:42 +00:00
Gudmundur Adalsteinsson
1793a5b586 Problem: UB in message_t constructor
Solution: Add check to guard against passing null to memcpy
2020-04-05 20:25:00 +00:00
Gudmundur Adalsteinsson
a3e5b54c3c
Problem: Socket options lack type-safety (#393)
Solution: Implement a type for each socket option.

Each option has an associated type, therefore they
can't be simply defined as an enum class.

Use new sockopt getter in test util

Add socket option get function for strings and tests
2020-03-24 09:33:50 +01:00
Brett Viren
10431084bb
Problem: lack conversion message_t and multipart_t (#391)
Solution: add encode/decode methods to multipart_t giving a codec compatible with the CZMQ equivalent.
2020-03-20 10:59:15 +01:00
Simon Giesecke
2f1ab4c2a7
Merge pull request #390 from gummif/gfa/multipart-cpp11
Problem: send_multipart fails on old gcc versions
2020-03-07 15:55:57 +01:00
Simon Giesecke
c7766c083a
Merge pull request #389 from SylvainCorlay/wrap-find-package-zeromq
Wraping calls to find_package
2020-03-07 15:04:22 +01:00
Gudmundur Adalsteinsson
5ecbf86bcf Problem: send_multipart fails on old gcc versions
Solution: remove template type checks if there is only partial C++11 support
2020-03-07 13:22:01 +00:00
Sylvain Corlay
9cb042e711 Also skip if libzmq-static is defined 2020-03-05 13:59:45 +01:00