Pieter Hintjens
7470c00d4d
Problem: ZMQ_TCP_RECV_BUFFER/SEND_BUFFER are redundant
...
These options are confusing and redundant. Their names suggest
they apply to the tcp:// transport, yet they are used for all
stream protocols. The methods zmq::set_tcp_receive_buffer and
zmq::set_tcp_send_buffer don't use these values at all, they use
ZMQ_SNDBUF and ZMQ_RCVBUF.
Solution: merge these new options into ZMQ_SNDBUF and ZMQ_RCVBUF.
This means defaulting these two options to 8192, and removing the
new options. We now have ZMQ_SNDBUF and ZMQ_RCVBUF being used both
for TCP socket control, and for input/output buffering.
Note: the default for SNDBUF and RCVBUF are otherwise 4096.
2016-02-09 10:53:52 +01:00
Pieter Hintjens
884c7f78e9
Problem: zmq_getsockopt wrongly referred to ZMQ_THREADSAFE
...
The proper name is ZMQ_THREAD_SAFE
Solution: fix in the documentation.
2016-02-09 10:53:52 +01:00
Pieter Hintjens
7f6ed167fc
Problem: ZMQ_XPUB_VERBOSE_UNSUBSCRIBE is clumsy
...
This option has a few issues. The name is long and clumsy. The
functonality is not smooth: one must set both this and
ZMQ_XPUB_VERBOSE at the same time, or things will break mysteriously.
Solution: rename to ZMQ_XPUB_VERBOSER and make an atomic option.
That is, implicitly does ZMQ_XPUB_VERBOSE.
2016-02-09 10:53:52 +01:00
Pieter Hintjens
da8ce55a14
Problem: ZMQ_TCP_RETRANSMIT_TIMEOUT is a clumsy name
...
Solution: rename to ZMQ_MAXRT
This is the option name used on Windows, so easier to use and
remember.
2016-02-09 10:53:52 +01:00
Pieter Hintjens
5eccd874d6
Merge pull request #1785 from bluca/one_more_rename
...
Problem: ZMQ_USEFD does not follow conventions
2016-02-09 10:40:39 +01:00
Luca Boccassi
edc4ee03e8
Problem: ZMQ_USEFD does not follow conventions
...
Solution: rename socket option (and variables and files) from usefd
to use_fd.
2016-02-09 09:36:14 +00:00
Constantin Rack
15846f2fe4
Merge pull request #1784 from bluca/rename_pre_allocated_fd
...
Problem: ZMQ_PRE_ALLOCATED_FD is too long
2016-02-09 00:10:47 +01:00
Luca Boccassi
c158178798
Problem: ZMQ_PRE_ALLOCATED_FD is too long
...
Solution: rename socket option (and variables and files) from
pre_allocated_fd to usefd.
2016-02-08 22:46:34 +00:00
Pieter Hintjens
66d9a5f5ae
Merge pull request #1783 from bluca/travis_tweetnacl
...
CMake and tweetnacl CI
2016-02-08 14:46:02 +01:00
Luca Boccassi
c23cc65735
Problem: no CMake Travis CI build
...
Solution: add builds/cmake/ci_build.sh and call it from travis.yml
2016-02-08 13:30:25 +00:00
Luca Boccassi
918c1ec620
Problem: CMake uses command added in 2.8.12
...
Solution: bump CMake required version to 2.8.12 to avoid:
CMake Error at tests/CMakeLists.txt:110 (target_include_directories):
Unknown CMake command "target_include_directories".
2016-02-08 13:13:55 +00:00
Luca Boccassi
84544ca6e2
Problem: no CI build with tweetnacl
...
Solution: add builds/tweetnacl/ci_build.sh and add it in travis.yml
2016-02-08 12:31:05 +00:00
Luca Boccassi
6681bcf08c
Problem: tweetnacl/contrib/randombytes need C++0x
...
Solution: disable -pedantic when building with tweetnacl to avoid
warning about "long long" not existing in ISO C++ 98
2016-02-08 12:31:05 +00:00
Pieter Hintjens
c59670dbc2
Merge pull request #1782 from minrk/configure-with-tweetnacl
...
fallback on tweetnacl if libsodium is not found and not explicitly requested
2016-02-08 12:00:40 +01:00
Min RK
e86650794f
fallback on tweetnacl if libsodium is not found and not explicitly requested
2016-02-08 11:58:30 +01:00
Min RK
2902fd60b9
add --with-tweetnacl to configure
...
allows building with tweetnacl without cmake
2016-02-08 11:40:50 +01:00
Luca Boccassi
135c4112c8
Merge pull request #1780 from hintjens/master
...
Fixes to Windows builds
2016-02-07 11:33:43 +00:00
Pieter Hintjens
58059939fc
Problem: compile warnings on Windows in new radio/dish code
...
Solution: fix these.
2016-02-07 12:27:23 +01:00
Pieter Hintjens
e0f02bdfb8
Problem: libzmq uses different build.bat style than zproject
...
Solution: at least for vs2015, add vs2015/build.bat to work the
same was as zproject.
2016-02-07 10:36:17 +01:00
Pieter Hintjens
07cba2307d
Merge pull request #1779 from obache/neatsrc/fix-a-typo-for-ZMTP-heartbeats
...
Fix a typo in "Add ZMTP heartbeats" changes
2016-02-07 10:31:33 +01:00
Pieter Hintjens
8a1dcca8c2
Merge pull request #1778 from obache/neatsrc/fix1768
...
Change to detect POSIX Thread priority support properly
2016-02-07 10:31:19 +01:00
Pieter Hintjens
4c6753346b
Merge pull request #1777 from brian-peloton/master
...
Use memcpy instead of assuming option values are aligned
2016-02-07 10:31:06 +01:00
OBATA Akio
99495bbab8
Fix a typo in "Add ZMTP heartbeats" changes
2016-02-07 17:09:19 +09:00
OBATA Akio
7cd60fae59
Change to detect POSIX Thread priority support properly
2016-02-07 16:43:46 +09:00
Brian Silverman
273b54715e
Use memcpy instead of assuming option values are aligned
...
Otherwise, it's undefined behavior. ubsan catches alignment issues in
the libzmq test suite without this.
2016-02-06 22:22:51 -05:00
Constantin Rack
ffe4a1c615
Merge pull request #1776 from hintjens/master
...
Refinement of #f4fe375
2016-02-06 14:26:03 +01:00
Pieter Hintjens
a1f51b695f
Problem: unclear rules for passing null arguments
...
Solution: be more explicit in the code, and in the zmq_recv man
page (which is the most unobvious case). Assert if length is not
zero and buffer is nonetheless null.
2016-02-06 14:13:13 +01:00
Pieter Hintjens
27a8961c37
Problem: resolution of int optval_ was made more verbose
...
There's no value in this as the same pattern is repeated in several
places and it's fair to expect people to understand it.
Solution: revert to the old, one-liner style.
2016-02-06 14:12:43 +01:00
Pieter Hintjens
c8318912f5
Problem: test case is using internal API
...
It is poor style for test cases to use the internal API (i.e.
libzmq classes or header files), as this code serves the purpose
of teaching developers how to use the library (it doesn't do this
very well, it's an ambition).
Also, including headers in src/ creates problems when compiling.
Solution: remove use of src/macros.hpp.
2016-02-06 14:12:43 +01:00
Pieter Hintjens
0d7e7bfac0
Problem: MSVC project filters were out of date
...
Solution: update (with correct one from VS2015)
2016-02-06 14:12:43 +01:00
Pieter Hintjens
39563d70c5
Merge pull request #1775 from CommanderBubble/patch-2
...
updates for bumped _WIN32_WINNT version with mingw builds
2016-02-06 13:56:45 +01:00
Michael
7270d4de65
windows.hpp needs to be included before zmq.h
...
windows.hpp must be included first due to increases _WIN32_WINNT version
2016-02-06 23:31:56 +11:00
Pieter Hintjens
a9666d7f0c
Merge pull request #1774 from brian-peloton/master
...
Don't call memcpy with 0 size and NULL pointer(s)
2016-02-06 13:19:31 +01:00
Michael
d06314df84
added windows includes as well as unix includes
...
added conditional includes for unix / windows
2016-02-06 23:19:10 +11:00
Michael
75bea4bc13
update for mingw's default _WIN32_WINNT
...
mingw defaults with _WIN32_WINNT as 0x0502 which doesn't define inet_pton(), so add a conditional check
2016-02-06 23:03:12 +11:00
Michael
05b5633b8d
update for mingw's default _WIN32_WINNT
...
mingw defaults with _WIN32_WINNT as 0x0502 which doesn't define inet_pton(), so add a conditional check
2016-02-06 23:01:26 +11:00
Michael
596fd2408a
added ZMQ_HAVE_WINDOWS check to _WIN32_WINNT usage
2016-02-06 22:59:58 +11:00
Michael
b98b1495af
added ZMQ_HAVE_WINDOWS check to _WIN32_WINNT usage
2016-02-06 22:59:13 +11:00
Michael
595181d301
added ZMQ_HAVE_WINDOWS check to _WIN32_WINNT usage
2016-02-06 22:58:38 +11:00
Michael
56efddd182
remove c++11 requirement and -Werror=sign-compare
...
used static_cast<signed int> around WSA_WAIT_FAILED as it is an unsigned implicitly defined as (0xFFFFFFFF ion winbase.h) and causes a comparison error.
removed use of c++11 style initialiser list for 'sockaddr addr { 0 }' and changed it to 'sockaddr addr = { 0 }'
2016-02-06 22:55:24 +11:00
Michael
988d33bcf8
added windows.hpp with include check
...
includes windows.hpp if on windows build for mingw build errors from including zmq.h before windows.h
2016-02-06 22:39:53 +11:00
Michael
f472893da1
changed order of includes
2016-02-06 22:37:45 +11:00
Michael
3cdc9218c2
remove include that is already in header
2016-02-06 22:36:37 +11:00
Michael
def0336e9a
increase mingw's minimum _WIN32_WINNT version
2016-02-06 22:26:50 +11:00
Brian Silverman
f4fe375bd1
Don't call memcpy with 0 size and NULL pointer(s)
...
It's undefined behavior, and ubsan flags it.
2016-02-05 14:04:22 -05:00
Joe Eli McIlvain
c9c9a777d6
Merge pull request #1773 from bluca/libsodium_stable
...
Problem: CI builds libsodium from dev branch
2016-02-04 16:45:27 -08:00
Luca Boccassi
3641f705e1
Problem: CI builds libsodium from dev branch
...
Solution: checkout stable branch instead.
Several warnings are printed when building from the master branch,
and developers recommend using the stable branch instead.
2016-02-04 23:47:16 +00:00
Joe Eli McIlvain
b9e4fa82a2
Merge pull request #1772 from hintjens/master
...
Problem: commit a464eec7 really broke VS2015 builds
2016-02-04 15:40:39 -08:00
Pieter Hintjens
86aa7bb1bc
Problem: commit a464eec7 really broke VS2015 builds
...
Took me over 8 hours to track down the cause of bizarre link
errors when building with libsodium. The VS project files are
not simple things.
Note to self and other maintainers: when someone is obviously
out of their depth, do not merge their changes to build scripts
without cynical appraisal.
Solution: undo the damage.
2016-02-05 00:25:59 +01:00
Joe Eli McIlvain
02120203b2
Merge pull request #1771 from bluca/valgrind_iterator
...
Problem: Valgrind reports read of freed memory
2016-02-04 14:36:59 -08:00
Luca Boccassi
a9aeb492dc
Problem: Valgrind reports read of freed memory
...
Solution: when iterating over a map and conditionally deleting
elements, an erased iterator gets invalidated. Call erase using postfix
increment on iterator to avoid using an invalid element in the next
iteration.
2016-02-04 22:21:29 +00:00
Pieter Hintjens
c5bf0dc0a4
Merge pull request #1770 from bluca/systemd
...
Problem: no support for pre-allocated file descriptors [systemd | upstart socket-based activation]
2016-02-04 18:51:28 +01:00
Luca Boccassi
84ad4bf0ff
Problem: cannot use new pre-allocated FD with TCP
...
Solution: parse the value set by the ZMQ_PRE_ALLOCATED_FD sockopt
when creating a new TCP socket and use it if valid.
Add new tests/test_pre_allocated_fd_tcp.cpp unit test.
2016-02-04 16:57:26 +00:00
Luca Boccassi
9b885b7c00
Problem: cannot use new pre-allocated FD with IPC
...
Solution: parse the value set by the ZMQ_PRE_ALLOCATED_FD sockopt
when creating a new IPC socket and use it if valid.
Add new tests/test_pre_allocated_fd_ipc.cpp unit test.
2016-02-04 16:57:26 +00:00
Luca Boccassi
4bcbb3055e
Problem: cannot use pre-allocated FDs. Fixes #777
...
Solution: add new [set|get]sockopt ZMQ_PRE_ALLOCATED_FD to allow
users to let ZMQ use a pre-allocated file descriptor instead of
allocating a new one. Update [set|get]sockopt documentation and
test accordingly.
The main use case for this feature is a socket-activated systemd
service. For more information about this feature see:
http://0pointer.de/blog/projects/socket-activation.html
2016-02-04 16:57:26 +00:00
Constantin Rack
8b0fdd94d3
Merge pull request #1767 from hintjens/master
...
Problem: Android build is slow and noisy
2016-02-04 11:59:12 +01:00
Pieter Hintjens
a3d9b46a60
Problem: Android build is slow and noisy
...
Solution: use --without-docs (changed from --without-documentation)
and also --quiet.
2016-02-04 11:24:25 +01:00
Joe Eli McIlvain
08cfbdef7d
Merge pull request #1766 from hintjens/master
...
Problem: MSVC build does not detect libsodium
2016-02-03 15:12:02 -08:00
Pieter Hintjens
31d181effb
Problem: MSVC build does not detect libsodium
...
Caused by error in last commit which used HAVE_LIBSODIUM instead
of HAVE_SODIUM.
Solution: use HAVE_LIBSODIUM as we do in other configure scripts.
The project is called 'libsodium' and not 'sodium'.
2016-02-03 23:45:01 +01:00
Constantin Rack
8fad51c270
Merge pull request #1765 from hintjens/master
...
Windows command-line build is now configurable
2016-02-03 22:52:02 +01:00
Pieter Hintjens
6a9af8ed62
Problem: can't build without libsodium from command line (MSVC)
...
There is an option to enable/disable libsodium via the Visual Studio
UI. This is not practical for command-line usage (via msbuild).
Solution: add configure.bat that searches for libsodium in sibling
directory to libzmq; if it finds it, defines HAVE_LIBSODIUM 1.
This is consistent with zproject, which has the same problem and
is getting the same solution for all dependency resolution on
Windows.
Note that this approach also provides a way to support tweetnacl
via a configure option.
Also, removed duplicate props files and re-copy in configure.bat
as it was an insane nightmare to update these by hand. (and not
clear that they were identical. Now it's forced.)
2016-02-03 22:44:06 +01:00
Pieter Hintjens
984699c427
Problem: was ignoring directories with build files
...
Solution: fix .gitignore
2016-02-03 21:13:54 +01:00
Luca Boccassi
d7a7f48918
Problem: my name is not in the AUTHORS file
...
Solution: add myself to the list
2016-02-03 17:32:02 +00:00
Pieter Hintjens
3d9984efe2
Merge pull request #1764 from GreatFruitOmsk/master
...
Make VMCI work on Windows
2016-02-03 16:21:53 +01:00
Constantin Rack
ad286d9442
Merge pull request #1763 from CommanderBubble/patch-1
...
configure doesn't correctly determine mingw64
2016-02-03 15:05:09 +01:00
Ilya Kulakov
538e5d4742
Make VMCI to work on Windows.
...
select was improved to support multiple service providers on Windows.
it should be slightly faster because of optimized iteration
over selected sockets.
2016-02-03 19:12:11 +06:00
Ilya Kulakov
d7e59d6188
Fix integer overflow error when calculating throughput.
2016-02-03 19:00:51 +06:00
Michael
f38062e6e3
fix configure errors for 64bit mingw
...
changes the search pattern for host_os from *mingw32* to *mingw* so that mingw64 can be used, and any mingw32 variable name change to mingw.
2016-02-03 23:54:22 +11:00
Michael
0463926db8
change references from mingw32 to mingw
...
conformity update for mingw32 variables to mingw
2016-02-03 23:51:52 +11:00
Michael
bdda5189f0
fix configure errors for 64bit mingw
...
changes the search pattern for host_os from *mingw32* to *mingw* so that mingw64 can be used
2016-02-03 23:38:33 +11:00
Constantin Rack
0329402d0a
Merge pull request #1762 from hintjens/master
...
Fixed VS2015 build
2016-02-02 23:19:53 +01:00
Pieter Hintjens
d218e03884
Problem: project files have tool version in two places
...
Leading to extra work when copying between versions of VS.
Solution: remove second unnecessary definition.
2016-02-02 22:49:15 +01:00
Pieter Hintjens
4ce9c7c742
Problem: does not build on VS2015
...
Solution: add missing project files
(Also, updated FD_SETSIZE to 16K as a bonus.)
2016-02-02 22:31:18 +01:00
Constantin Rack
963dffb54a
Merge pull request #1760 from hintjens/master
...
Problem: not building on VS2015
2016-02-02 22:30:18 +01:00
Pieter Hintjens
b92055fa56
Problem: not building on VS2015
...
Solution: fixed project files, and warning in timers.cpp
2016-02-02 22:05:56 +01:00
Constantin Rack
c6b11ae4a7
Merge pull request #1758 from zeromq/revert-1757-revert-1756-replace-zmq-term
...
Revert "Revert "Problem: deprecated use and reference of `zmq_term`""
2016-02-01 23:02:32 +01:00
Pieter Hintjens
44c6b0484e
Revert "Revert "Problem: deprecated use and reference of zmq_term
""
2016-02-01 23:00:06 +01:00
Constantin Rack
c143a7d397
Merge pull request #1757 from zeromq/revert-1756-replace-zmq-term
...
Revert "Problem: deprecated use and reference of `zmq_term`"
2016-02-01 22:46:54 +01:00
Pieter Hintjens
1708bfefb7
Revert "Problem: deprecated use and reference of zmq_term
"
2016-02-01 22:41:51 +01:00
Joe Eli McIlvain
d44a8ccddb
Merge pull request #1756 from c-rack/replace-zmq-term
...
Problem: deprecated use and reference of `zmq_term`
2016-02-01 13:35:33 -08:00
Constantin Rack
a26bb743d4
Problem: docs are still referring to deprecated zmq_term
...
Solution: Replace with `zmq_ctx_term`
2016-02-01 22:00:35 +01:00
Constantin Rack
589464ced9
Problem: comments still refer to deprecated zmq_term
.
...
Solution: replace with `zmq_ctx_term`
Also fix whitespace (tabs instead of spaces)
2016-02-01 21:51:54 +01:00
Constantin Rack
10d9ef8a5f
Problem: perf use deprecated zmq_term
...
Solution: replace all occurrences with `zmq_ctx_term`
2016-02-01 21:44:01 +01:00
Constantin Rack
0d171563d0
Problem: tests use deprecated zmq_term
function
...
Solution: replace all occurrences with `zmq_ctx_term`
2016-02-01 21:40:24 +01:00
Constantin Rack
d92e40901d
Merge pull request #1755 from UsamaMehboob/master
...
fixed issue #1754
2016-02-01 21:30:08 +01:00
Usama Mehboob
a72cb5d43d
added #include<unistd.h> in udp_engine.cpp to solve error 'close was not declared in scope'
2016-02-02 01:17:12 +05:00
Pieter Hintjens
e1254e100e
Merge pull request #1751 from c-rack/remove-zmq-utils-includes
...
Problem: deprecated `zmq_utils.h` is still included
2016-02-01 12:05:01 +01:00
Constantin Rack
7da3ee138e
Problem: deprecated zmq_utils.h
is still included
...
Solution: remove all remaining references to `zmq_utils.h`
2016-02-01 11:34:36 +01:00
Constantin Rack
435535ce92
Merge pull request #1750 from hintjens/master
...
Problem: various errors in build scripts
2016-02-01 11:22:13 +01:00
Pieter Hintjens
6f94af8cca
Problem: various errors in build scripts
...
- zmq_utils.h was removed
- udp_address.cpp and udp_engine.cpp were added
Solution: patch all affected build scripts
2016-02-01 11:18:08 +01:00
Pieter Hintjens
3cf6c33132
Merge pull request #1748 from sunkin351/master
...
Added "udp_address" and "udp_engine" to VS2015 project
2016-02-01 10:25:17 +01:00
sunkin351
9b01ae826e
Restoring zmq_utils.h from previous version
...
I hope restoring this from a previous version doesn't do any damage, it
is missing in the current version of this repository and is vital for
the lib to compile anywhere.
2016-01-31 20:19:04 -08:00
sunkin351
a464eec7df
Added "udp_address" and "udp_engine" to enable windows build
...
Altered VS2015 files to enable building of the library.
2016-01-31 17:54:31 -08:00
Joe Eli McIlvain
d7ef68d6b7
Merge pull request #1747 from c-rack/remove-zmq-utils-h
...
Problem: `zmq_utils.h` is deprecated since 2014-07-09
2016-01-31 17:31:47 -08:00
Constantin Rack
af775c0c8b
Problem: zmq_utils.h
is deprecated since 2014-07-09
...
Solution: remove this file
2016-02-01 00:54:53 +01:00
Constantin Rack
8dbda15e21
Merge pull request #1745 from somdoron/master
2016-01-30 22:23:35 +01:00
Constantin Rack
4f4e475331
Merge pull request #1746 from minrk/allow-underscore-dns
2016-01-30 22:23:09 +01:00
Min RK
cdec4dc9ee
allow underscores in domain names
...
Since they are allowed
(They are not, however, allowed in hostnames)
2016-01-30 21:30:30 +01:00
somdoron
389e853c6d
Fix compilation errors on windows
2016-01-30 13:29:41 +02:00
Doron Somech
add4e7675f
Merge pull request #1744 from jcfr/fix-gcc-warnings
...
Fix unused-parameter/unused-but-set-variable/missing-field-initializers warnings
2016-01-30 09:08:09 +01:00