Gudmundur Adalsteinsson
505edeb336
Problem: Handling multipart messages is complex
...
Solution: Add generic algorithms for sending and receiving multipart
messages.
2019-10-26 19:59:46 +00:00
Gudmundur Adalsteinsson
4bc232c175
Problem: recv return value should not be ignored
...
Solution: add nodiscard attribute to recv functions
2019-10-26 12:31:51 +00:00
Simon Giesecke
fdb2f13971
Merge pull request #356 from phlptp/addon_include_convention
...
Switch zmq_addon.hpp to include zmq.hpp using "zmq.hpp" instead
2019-10-16 15:17:24 +02:00
Philip Top
563d2355a0
Switch zmq_addon.hpp to include zmq.hpp using "zmq.hpp" instead of <zmq.hpp> This allows it to look in the current directory for the header file. This enables the ability to have cppzmq as a subdirectory of an included folder vs needing to have the cppzmq on the include search path, and makes it less likely the wrong version would get included if more than one zmq.hpp header happened to be available.
2019-10-16 05:56:24 -07:00
Simon Giesecke
de05d33029
Merge pull request #355 from phlptp/cpp17_library_fixes
...
C++17 library fixes
2019-10-16 09:48:13 +02:00
Philip Top
d5cbaf4682
Explicitly check for optional and string_view in cases where the C++17 language is operational but the standard library in use does not have those headers.
...
add check for using stdlibc++ with clang or icc to make sure is_trivially_copyable is available.
2019-10-14 07:58:25 -07:00
Simon Giesecke
ca1ca7caae
Merge pull request #354 from gummif/gfa/clang-test
...
Problem: No tests with clang
2019-10-07 11:00:24 +02:00
Gudmundur Adalsteinsson
0abc513be9
Problem: No tests with clang
...
Solution: Add clang-8 to travis matrix
2019-10-05 20:12:05 +00:00
Simon Giesecke
e08ab12de2
Merge pull request #349 from gummif/gfa/clang-error
...
Problem: Build error with clang
2019-09-19 13:28:11 +02:00
Simon Giesecke
a0fab1854f
Merge pull request #338 from gummif/gfa/clarify-example
...
Clarify example requirements
2019-09-19 13:27:06 +02:00
Gudmundur Adalsteinsson
34ea5b7805
Problem: Build error with clang
...
Solution: Some compilers incorrectly define __GNUC__, added workaround for clang and icc.
2019-09-17 20:24:44 +00:00
Gudmundur Adalsteinsson
4b443fc59b
Clarify example requirements
2019-09-14 20:10:47 +00:00
Simon Giesecke
b2fa1192bd
Merge pull request #343 from gummif/gfa/str-buffer
...
Problem: Sending string literals is awkward
2019-09-13 09:40:08 +02:00
Gudmundur Adalsteinsson
7d9e5cb421
Add user-defined string literals to create buffers
2019-09-11 20:38:47 +00:00
Gudmundur Adalsteinsson
ab588fb7c9
Assertion and constexpr improvements for str_buffer
2019-09-11 20:21:02 +00:00
Simon Giesecke
88ada98d0b
Merge pull request #347 from gummif/gfa/aliasing-warning
...
Problem: Strict aliasing warning in tests
2019-09-11 13:13:11 +02:00
Gudmundur Adalsteinsson
57d3681ee4
Problem: Strict aliasing warning in tests
...
Solution: Use memcpy instead of reinterpret_cast
2019-09-10 20:13:45 +00:00
Gudmundur Adalsteinsson
13cc1e0fe9
Problem: Sending string literals is awkward
...
Solution: A function str_buffer specifically for
creating buffers for null terminated string literals.
2019-09-03 14:06:19 +00:00
Simon Giesecke
3b1038d035
Merge pull request #337 from gummif/gfa/clang-warnings
...
Problem: Warnings about send being deprecated
2019-09-02 12:26:20 +02:00
Simon Giesecke
527a873954
Merge pull request #339 from gummif/gfa/detect-14
...
Problem: C++14 features not detected using MSVC
2019-09-02 12:25:05 +02:00
Gudmundur Adalsteinsson
e5f1a2d045
Problem: C++14 features not detected using MSVC
...
Solution: Detect C++14 via C++17
2019-08-31 12:07:18 +00:00
Simon Giesecke
1f66e996d5
Merge pull request #341 from gummif/gfa/cpp11-gcc
...
Problem: C++11 partially supported on gcc 4.8
2019-08-31 12:41:13 +02:00
Gudmundur Adalsteinsson
4f1ff4952d
Fix for lacking SFINAE support on older GCC
2019-08-30 23:14:16 +00:00
Gudmundur Adalsteinsson
9e0b9b4a38
Fix tests
2019-08-30 22:33:49 +00:00
Gudmundur Adalsteinsson
9b20c461a0
Use C++11 when testing with GCC 4.9
2019-08-30 22:23:52 +00:00
Gudmundur Adalsteinsson
b6765e5692
Add GCC 4.9 to travis tests
2019-08-30 21:31:31 +00:00
Gudmundur Adalsteinsson
6137b485a0
Problem: C++11 partially supported on gcc 4.8
...
Solution: Use intrinsic instead of std::is_trivially_copyable for gcc
versions older than 5.
2019-08-30 20:46:32 +00:00
Simon Giesecke
ef2e3284c2
Merge pull request #340 from boldorider4/master
...
Fix ASCII character detection in conversion to std::string
2019-08-30 13:04:19 +02:00
Jack Olivieri
f910c90149
Fix ASCII character detection in conversion to std::string
...
the 'Space' ASCII character should also be recognized as such.
2019-08-30 12:39:35 +02:00
Gudmundur Adalsteinsson
85b3a945d4
Problem: Warnings about send being deprecated
...
Solution: Refactoring and addition deprecation of a send function taking
int flags
2019-08-14 20:42:36 +00:00
Simon Giesecke
81c2938faa
Update version to v4.5.0 to prepare for next development iteration
2019-07-24 15:16:41 +02:00
Simon Giesecke
f5b36e5635
Update version to 4.4.1
2019-07-24 15:15:09 +02:00
Simon Giesecke
86876d7307
Merge pull request #328 from xiphon/fix-recv-flags-default
...
Fix 'recv' function 'flags_' argument default value
2019-07-24 14:42:31 +02:00
xiphon
19b5222e4e
Fix 'recv' function 'flags_' argument default value
2019-06-02 02:01:42 +00:00
Simon Giesecke
4e37816dfa
Merge pull request #325 from gummif/gfa/msg-range-ctor
...
Problem: message_t ctor for ranges too greedy
2019-06-01 16:23:46 +02:00
Gudmundur Adalsteinsson
f412ea9e34
Improved range detection supporting ADL
2019-05-31 12:09:20 +00:00
Simon Giesecke
0672e31780
Merge pull request #324 from gummif/gfa/event-flags
...
Clean up and test event flags implementation
2019-05-29 08:48:47 +02:00
Simon Giesecke
7f9da8d49b
Merge pull request #323 from gummif/gfa/msg-iter-ctor
...
Problem: message_t ctor for iterators double initializes the message
2019-05-29 08:44:29 +02:00
Simon Giesecke
3e88f06e15
Merge pull request #326 from girtsf/fix-gcc-4.8.1
...
make poller_t work with ancient gcc 4.8.1
2019-05-29 08:42:18 +02:00
Girts Folkmanis
63250e15e8
make poller_t work with ancient gcc 4.8.1
...
For some reason that I didn't get to the root cause, gcc 4.8.1 (that I'm
stuck with) does not like the initializer for `unique_ptr` implemented
as a lambda:
```
third_party/zmqcpp/repo/zmq.hpp: In constructor 'zmq::poller_t<T>::poller_t() [with T = std::function<void(zmq::event_flags)>]':
third_party/zmqcpp/repo/zmq.hpp:1871:5: error: converting to 'std::unique_ptr<void, zmq::poller_t<std::function<void(zmq::event_flags)> >::destroy_poller_t>' from initializer list would use explicit constructor 'std::unique_ptr<_Ty, _Dx>::unique_ptr(std::unique_ptr<_Ty, _Dx>::pointer) [with _Ty = void; _Dx = zmq::poller_t<std::function<void(zmq::event_flags)> >::destroy_poller_t; std::unique_ptr<_Ty, _Dx>::pointer = void*]'
poller_t() = default;
^
In file included from networking/ipc/ipc.cc:6:0:
third_party/zmqcpp/repo/zmq_addon.hpp: At global scope:
third_party/zmqcpp/repo/zmq_addon.hpp:447:40: note: synthesized method 'zmq::poller_t<T>::poller_t() [with T = std::function<void(zmq::event_flags)>]' first required here
poller_t<handler_type> base_poller{};
^
In file included from ./networking/ipc/ipc.h:13:0,
from networking/ipc/ipc.cc:1:
third_party/zmqcpp/repo/zmq.hpp: In constructor 'zmq::poller_t<T>::poller_t() [with T = zmq::socket_t]':
third_party/zmqcpp/repo/zmq.hpp:1871:5: error: converting to 'std::unique_ptr<void, zmq::poller_t<zmq::socket_t>::destroy_poller_t>' from initializer list would use explicit constructor 'std::unique_ptr<_Ty, _Dx>::unique_ptr(std::unique_ptr<_Ty, _Dx>::pointer) [with _Ty = void; _Dx = zmq::poller_t<zmq::socket_t>::destroy_poller_t; std::unique_ptr<_Ty, _Dx>::pointer = void*]'
poller_t() = default;
^
networking/ipc/ipc.cc: In member function 'void networking::ipc::Ipc::ThreadMain()':
networking/ipc/ipc.cc:313:36: note: synthesized method 'zmq::poller_t<T>::poller_t() [with T = zmq::socket_t]' first required here
::zmq::poller_t<::zmq::socket_t> poller;
^
```
This moves the initialization to constructor, and makes gcc happy.
2019-05-28 14:14:04 -07:00
Gudmundur Adalsteinsson
2d496cb296
Remove ctor draft check
2019-05-15 17:05:34 +00:00
Gudmundur Adalsteinsson
09ab20801a
Problem: message_t ctor for ranges too greedy
...
Solution: Detect ranges with enable_if idiom
2019-05-15 16:49:22 +00:00
Gudmundur Adalsteinsson
0ce8ef06d5
Clean up and test event flags implementation
2019-05-15 11:32:23 +00:00
Gudmundur Adalsteinsson
95d519fade
Rename template parameter to reflect requirements
2019-05-15 11:20:31 +00:00
Gudmundur Adalsteinsson
1f4dd23a94
Problem: message_t ctor for iterators double initializes the message
...
Solution: Remove constructor call
2019-05-15 11:19:42 +00:00
Simon Giesecke
d25c58a05d
Merge pull request #322 from gummif/gfa/ignore-build-dirs
...
Problem: Only one build directory ignored
2019-05-15 08:35:51 +02:00
Gudmundur Adalsteinsson
0458f7d16c
Problem: Type-safety of poller_t and active_poller_t can be improved ( #318 )
...
Problem: Type-safety of poller_t and active_poller_t can be improved
2019-05-15 08:35:12 +02:00
Simon Giesecke
6f0fb2a3ea
Merge pull request #317 from gummif/gfa/typesafe-send-recv
...
Problem: send/recv functions lack type-safety
2019-05-14 18:30:34 +02:00
Gudmundur Adalsteinsson
bec2818703
Problem: Only one build directory ignored
...
Solution: Ignore all *build directories
2019-05-13 15:30:08 +00:00
Gudmundur Adalsteinsson
88cee88d08
Change recv and send to return optional types
2019-05-10 14:22:04 +00:00