Gudmundur Adalsteinsson
16f16eeaad
Problem: message_t lacks empty() function
...
Solution: Add function and qualify with nodiscard like std types
2019-04-04 17:55:27 +00:00
Simon Giesecke
5c95a07d72
Merge pull request #306 from gummif/gfa/detect-std
...
Problem: Missing detection of standards greater than C++11
2019-04-04 16:56:16 +02:00
Simon Giesecke
d1e7c538cc
Merge pull request #303 from gummif/gfa/swap
...
Problem: Missing swap functions
2019-04-04 14:51:10 +02:00
Simon Giesecke
5c69a36b95
Merge pull request #304 from gummif/gfa/monitor-move
...
Problem: monitor_t incorrectly deletes socket_t move assignment operator
2019-04-04 09:15:55 +02:00
Simon Giesecke
d34f192b37
Merge pull request #305 from gummif/gfa/message-move-copy
...
Problem: message_t move and copy are mutating but take const
2019-04-04 09:12:11 +02:00
Gudmundur Adalsteinsson
77575ce705
Problem: Missing detection of standards greater than C++11
...
Solution: Add macros detecting C++14 and C++17
2019-04-03 17:03:39 +00:00
Gudmundur Adalsteinsson
b6a07be512
Problem: monitor_t incorrectly deletes socket_t move assignment operator
...
Solution: Implement a move assignment operator for monitor_t
2019-04-03 14:04:58 +00:00
Gudmundur Adalsteinsson
72f0e1bcba
Problem: message_t move and copy are mutating but take const
...
Solution: Deprecate old functions and add overloads taking non-const
references
2019-04-03 13:56:11 +00:00
Gudmundur Adalsteinsson
83b91c8b7e
Problem: Missing swap functions
...
Solution: Implement for socket_t, context_t, message_t and poller_t
Additionally remove dependency on <functional> by refactoring poller_t
and remove unused <unordered_map> include.
2019-04-03 13:23:17 +00:00
Simon Giesecke
e1fe5e5209
Merge pull request #301 from gummif/gfa/proxy
...
Problem: proxy is not typesafe
2019-04-01 08:28:54 +02:00
Simon Giesecke
a89e0d7b81
Merge pull request #302 from gummif/gfa/inline-mem-fn
...
Problem: Redundant inline specifiers for member functions
2019-04-01 08:27:22 +02:00
Gudmundur Adalsteinsson
3fecadfb86
Problem: Redundant inline specifiers for member functions
...
Solution: Remove specifiers, since they are implicitly inline
2019-03-31 22:39:58 +00:00
Gudmundur Adalsteinsson
1eedfaf9a5
Problem: proxy is not typesafe
...
Solution: Add overloads to proxy and proxy_steerable taking socket_t
objects
2019-03-31 22:30:10 +00:00
Simon Giesecke
9e03629dae
Merge pull request #298 from gummif/gfa/poll-const
...
Problem: poll is mutating by definition
2019-03-28 09:25:19 +01:00
Gudmundur Adalsteinsson
0e55254bd6
Problem: poll is mutating by definition
...
Solution: Remove const qualifiers and const_cast
2019-03-27 20:47:36 +00:00
Simon Giesecke
47df7b0cb9
Merge pull request #299 from gummif/gfa/remove-friend
...
Problem: Friendship between socket_t and context_t
2019-03-27 11:58:31 +01:00
Gudmundur Adalsteinsson
ff23b4ce95
Problem: Friendship between socket_t and context_t
...
Solution: Not needed since the void* can be obtained from the API of
context_t
2019-03-26 21:58:38 +00:00
Simon Giesecke
91fd0b5e0e
Merge pull request #297 from trya/master
...
Unit tests for message_t::get()
2019-03-14 20:50:39 +01:00
trya
a91522f65e
Unit tests for message_t::get()
...
Testing ZMQ_SHARED property only, since other properties (ZMQ_MORE and
ZMQ_SRCFD) depend on socket operations.
2019-03-14 14:25:50 +01:00
Ivan Čukić
7d59f129c8
Removed warnings when compiling with C++11 enabled ( #296 )
...
* Removed warnings when compiling with C++11 enabled
* ZMQ_NOTHROW now means throw() for pre-C++11
2019-03-13 19:18:27 +01:00
Simon Giesecke
0fd9bea760
Merge pull request #295 from trya/master
...
Add message_t::get()
2019-03-13 11:38:49 +01:00
trya
16fa983281
Add message_t::get()
...
Uses zmq_msg_get() to get some integer properties on the message.
2019-03-08 16:40:21 +01:00
Luca Boccassi
bfdc7885b8
Merge pull request #292 from sigiesec/build-zeromq-4-3-1
...
Update default libzmq version to 4.3.1
2019-02-04 17:08:20 +00:00
Simon Giesecke
4043617afe
Problem: test cases for error behaviour of (active_)poller_t failing with libzmq 4.3.x
...
Solution: adapt test cases to changed behaviour
2019-02-04 15:25:35 +01:00
Simon Giesecke
c5fe9d1c27
Problem: current libzmq is not tested
...
Solution: update default libzmq version to 4.3.1, and add explicit test for 4.2.5, update README accordingly
2019-02-04 10:32:46 +01:00
Simon Giesecke
663944180f
Merge pull request #286 from kurdybacha/ctest_integration
...
Problem #268 : CTest output without tests details
2019-01-28 09:53:14 +01:00
Pawel Kurdybacha
6982fb7017
Problem #268 : CTest output without tests details
...
Solution: Added integration with CTest to existing unit test framework
based on Catch. ctest -v returns list of run tests now.
Changes:
* downloading and using Catch cmake modules that `unit_tests
--list-test-names-only` for add_test internally
2019-01-23 08:48:11 +00:00
Simon Giesecke
6a4fe1fdb2
Merge pull request #285 from kurdybacha/pthread_link_issue
...
Problem #284 : tests and pthread link error with with gcc
2019-01-23 08:32:06 +01:00
Pawel Kurdybacha
6a6aebb845
Problem #284 : test pthread link error with with gcc
...
Solution: Use Threads cmake module as suggested in this thread:
https://cmake.org/pipermail/cmake/2016-February/062729.html
I was able to reproduce with gcc 8.2.1 and cmake 3.13.2.
2019-01-22 20:55:06 +00:00
Simon Giesecke
d641d1de4c
Merge pull request #275 from egpbos/retry_ctx_destroy
...
Add retry of zmq_ctx_destroy in context_t::close()
2018-11-08 11:20:33 +01:00
E. G. Patrick Bos
fbe82b07cd
Add retry of zmq_ctx_destroy in context_t::close()
...
Fixes #171
2018-11-05 20:09:28 +01:00
Simon Giesecke
c444c5d5e2
Merge pull request #268 from kurdybacha/header_only_test_framework
...
Problem: Dependency on googletest framework
2018-10-17 18:14:13 +02:00
Pawel Kurdybacha
ae15964907
Problem: Dependency on googletest framework
...
Currently cppzmq as relatively simple and header only library depends on rather
complex unit test framework googletest.
Current issues:
- Googletest requires downloading and building it every time on travis
as cache support is limited there
- Googletest build is signifficant with comparison to cppzmq unittests
total runtime
Solution: Port existing tests to Catch - header only C++ framework and
gain ~20% build speed up on travis.
Why Catch?
It is well know C++ header only testing framework. It works well, it is
being kept up to date and maintainers seem to pay attention to
community's comments and issues.
We can not use Catch2 currently as we still support pre-C++11 compilers.
2018-10-17 15:22:07 +01:00
tangfu
5af24314c3
add front and back ( #269 )
...
* add front and back
i'll get the last message in some situations,but have to do like this :
```
multimsg msgs;
auto msg = msgs[msgs.size() - 1];
func(msg.size());
auto *msg = msgs.end() - 1;
```
but, std::queue have some method 'front' and 'back'. so maybe i can simply do this ? :
```
multimsg msgs;
auto msg = msgs.back();
```
* add test for front and back
2018-10-17 08:41:21 +01:00
Luca Boccassi
1547b6ec22
Merge pull request #267 from ffontaine/master
...
fix install without static libzmq
2018-09-21 00:03:03 +01:00
Fabrice Fontaine
bffb0eda34
fix install without static libzmq
...
If libzmq is only available as a shared library and not a static one
then cmake fails with:
-- CMake libzmq package not found, trying again with pkg-config (normal install of zeromq)
-- Found PkgConfig: /home/fabrice/buildroot/output/host/bin/pkg-config (found version "0.28")
CMake Error at CMakeLists.txt:20 (message):
ZeroMQ was not found, neither as a CMake package nor via pkg-config
This is due to the fact that ZeroMQ_FOUND is not set to ON even if
ZEROMQ_LIBRARY is TRUE:
if(ZeroMQ_LIBRARY AND ZeroMQ_STATIC_LIBRARY)
set(ZeroMQ_FOUND ON)
endif()
So change AND by OR as suggested in
https://github.com/zeromq/cppzmq/issues/266
Fix #266
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2018-09-20 23:28:24 +02:00
Luca Boccassi
bcb59608c8
Merge pull request #265 from sigiesec/fix-breaking-ambiguity
...
Problem: addition of new single-argument message_t introduces ambigui…
2018-08-22 13:57:35 +01:00
Simon Giesecke
7d53a04e81
Set version to 4.3.1 to prepare bugfix release
2018-08-21 13:51:17 +02:00
Simon Giesecke
120c7ae3f2
Problem: no test case for previously existing send functionality
...
Solution: added test case
2018-08-21 13:50:02 +02:00
Simon Giesecke
ab09f5da98
Problem: addition of new single-argument message_t introduces ambiguity when calling e.g. socket_t::send
...
Solution: make single-argument constructor explicit
2018-08-21 13:50:02 +02:00
Luca Boccassi
8ff83257ac
Merge pull request #264 from sigiesec/start-4-4-0
...
Update version to 4.4.0 for next development iteration
2018-08-15 17:17:20 +01:00
Simon Giesecke
f5963ceade
Update version to 4.4.0 for next development iteration
2018-08-15 17:55:43 +02:00
Luca Boccassi
213da0b04a
Merge pull request #256 from Tulon/radio_dish_support
...
Add support for RADIO/DISH sockets if draft API is enabled
2018-07-15 12:06:19 +01:00
Joseph Artsimovich
751f27d635
Add support for RADIO/DISH sockets if draft API is enabled
...
This commit introduces new socket_type enumeration values as well
as the following supporting functions:
socket_t::join()
socket_t::leave()
message_t::group()
message_t::set_group()
2018-07-13 16:01:15 +03:00
Luca Boccassi
73f171abb2
Merge pull request #255 from kurdybacha/issue_fix
...
Problem: #209 and monitor_t tests not event driven
2018-07-05 09:05:57 +01:00
Pawel Kurdybacha
57454dff4b
Problem: monitor_t tests not event driven
...
Solution: instead of waiting for fixed amount of time for events, react
as soon as events are triggered.
- Total running time of unittest reduced 10x (from ~300ms to 30ms).
- Reduced code duplication by reusing testutil's constructs.
2018-07-05 00:23:31 +01:00
Pawel Kurdybacha
4a066be66a
Problem: #209 cppzmq fails with cmake 3.6.3 and above
...
Solution: remove problematic cmake lines as they seem to be not necessary.
2018-07-05 00:12:34 +01:00
Simon Giesecke
837c0c9a97
Merge pull request #250 from esromneb/master
...
editing "typename I" to "typename T" due to error: expected nested-na…
2018-06-15 08:55:50 +02:00
Ben
a604af95d7
editing "typename I" to "typename T" due to error: expected nested-name-specifier before ‘(’ token
...
on c++ (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
2018-06-10 23:54:20 -07:00
Luca Boccassi
97d2cb2498
Merge pull request #249 from sigiesec/add-monitor-tests
...
Add first tests for monitor_t and fix monitor_t::abort
2018-06-05 16:39:58 +01:00