0
0
mirror of https://github.com/zeromq/libzmq.git synced 2025-01-01 19:05:18 +08:00

4743 Commits

Author SHA1 Message Date
Pieter Hintjens
f448dcde35 Merge pull request #1458 from tkoeppe/master
Add support for <atomic> in C++11
2015-06-30 22:39:40 +02:00
Thomas Köppe
68f5926ec6 Add support for <atomic> in C++11 2015-06-30 20:57:38 +01:00
KAPP Arnaud
f3ef027e87 Merge pull request #1457 from calid/ignore-unbind-tests
ignore unbind tests
2015-06-30 10:56:52 +02:00
Dylan Cali
ee787664bb ignore unbind tests 2015-06-29 03:19:24 -05:00
Pieter Hintjens
818491e7ee Merge pull request #1455 from calid/update-gitignore
update gitignore with additional tests
2015-06-29 08:08:57 +02:00
Pieter Hintjens
9802dd5933 Merge pull request #1456 from calid/issue-949-tests
add tests for #949
2015-06-29 08:04:53 +02:00
Dylan Cali
0f208c122d be pedantic and call zmq_close in tests 2015-06-28 22:32:15 -05:00
Dylan Cali
d14f419743 another errant comment 2015-06-28 21:29:23 -05:00
Dylan Cali
6dac5092ad fix errant comments 2015-06-28 21:27:06 -05:00
Dylan Cali
a9fd750e1c add tests for #949 2015-06-28 21:23:25 -05:00
Dylan Cali
34129593f0 update gitignore with additional tests 2015-06-28 21:13:02 -05:00
Pieter Hintjens
6ab66ca51a Merge pull request #1451 from jbreams/heartbeat-defaults
Fix units and default values for heartbeats options
2015-06-26 20:31:46 +02:00
Jonathan Reams
e9a5bc8d1e Fix units and default values for heartbeats options
Set the ZMQ_HEARTBEAT_TIMEOUT to default to the value of
ZMQ_HEARTBEAT_IVL if it's not explicitly set.
Change the units of ZMQ_HEARTBEAT_TTL to milliseconds in the API
and round down to the nearest decisecond so that all the options
are using the same units.
Make the maximum heartbeat TTL match the spec (6553 seconds)
2015-06-26 14:25:58 -04:00
Pieter Hintjens
2e5435e38f Merge pull request #1449 from jbreams/heartbeats-docswindows
Add documentation for ZMTP heartbeats/fix test
2015-06-24 21:13:32 +02:00
Jonathan Reams
85417ba2fc Add documentation for ZMTP heartbeat socket options 2015-06-24 15:02:53 -04:00
Jonathan Reams
df0c7076bd Fix test_heartbeats compile in VS2013 2015-06-24 14:28:36 -04:00
Pieter Hintjens
3a27be3b6c Merge pull request #1448 from jbreams/heartbeats
Add ZMTP connection heartbeats
2015-06-24 19:42:41 +02:00
Jonathan Reams
cbb3b176a6 Add ZMTP heartbeats
This commit adds ZMTP connection heartbeats described in
http://rfc.zeromq.org/spec:37/ZMTP.
2015-06-24 13:24:53 -04:00
Constantin Rack
4b4e00bde0 Merge pull request #1446 from dnaeon/typo-fix
Typo fix
2015-06-23 10:47:31 +02:00
Marin Atanasov Nikolov
fa3b5d8b03 Typo fix 2015-06-23 14:45:51 +03:00
Richard Newton
f9d0dab630 Merge pull request #1445 from c-rack/fix-resolve-ipv6
Problem: zmq::socket_base_t::connect fails on tcp ipv6 address
2015-06-23 08:10:48 +01:00
Constantin Rack
15f9ee19cb Solution: allow brackets in tcp ipv6 address 2015-06-23 08:54:49 +02:00
Pieter Hintjens
d33fb6a2af Merge pull request #1441 from jens-auer/rebase3
Rebase3
2015-06-14 14:13:49 +02:00
Jens Auer
e70b5efa0b Reuse buffer when no messages depend on it. 2015-06-14 14:01:04 +02:00
Jens Auer
51cb57e2c9 Fixed wrong handling of shared messages
The shared reference count was not shared but copied. msg_t cannot
store the refcnt itsef but has to store a pointer to an externally
allocated (shared) refcnter. The changes to lmsg are reverted to
use content_t again. Howver, this introduces an allocation in v2_decoder
when creating the message which can be avoided. When allocating the reception
buffer, space is allocated for the maximum number of reference counts
(8192 / max_vsm_size = 8192/64 = 128 zmq:atomic_counter objects). This
increases the buffer by 128*sizeof(atomic_counter) = 128*4 = 512 bytes only.
When creating a message, the refcnt member is set to the address of one of the
pre-allocated atomic_counter_t objects. To do so, a new msg_t type zcmsg
is introduced because msg::copy must discriminate between the message types
when releasing memory.
2015-06-14 13:35:33 +02:00
Jens Auer
dfe1908008 Fixed wrong buffer end detection in v2_decoder.
zero-copy msg_t::init cannot be used when the message exceeds either
the buffer end or the last received byte. To detect this, the buffer
is now resized to the numnber of received bytes.
2015-06-14 13:35:23 +02:00
Constantin Rack
b3f2acf7d6 Merge pull request #1440 from xaqq/fix_solaris_build
Probably fix build issue on Solaris.
2015-06-13 22:20:23 +02:00
Kapp Arnaud
8ffd723271 Probably fix build issue on Solaris.
See #1220 recent comments. This change is untested yet seems
safe.
2015-06-13 22:08:14 +02:00
KAPP Arnaud
6d4d7a5820 Merge pull request #1439 from hintjens/master
Problem: 4.1 broke the ABI yet did not bump ABI number
2015-06-12 01:32:22 +02:00
Pieter Hintjens
6f1d1142d1 Problem: 4.1 broke the ABI yet did not bump ABI number
Solution: bump to ABI version 5
2015-06-11 23:53:23 +02:00
Pieter Hintjens
8fb5590ba8 Merge pull request #1437 from ricnewton/master
Fix windows build
2015-06-10 18:17:56 +02:00
Richard Newton
f696d0399c Fix tabbing 2015-06-10 16:47:23 +01:00
Richard Newton
8484e1606d Fix windows build 2015-06-10 16:43:59 +01:00
Pieter Hintjens
52191af60e Merge pull request #1435 from minrk/test-ffn
test zmq_msg custom free-function
2015-06-09 00:26:58 +02:00
Min RK
fdb7d68056 test zmq_msg custom free-function
new allocation caused reference counters to lose track on copy
2015-06-08 15:18:53 -07:00
Pieter Hintjens
426733469d Merge pull request #1433 from minrk/single-socket-proxy
don't check POLLOUT for single-socket proxies
2015-06-07 08:10:17 +02:00
Min RK
f34cc24bd7 test proxy with single REP socket 2015-06-06 21:05:55 -07:00
Min RK
158d77d63e don't check POLLOUT for single-socket proxies 2015-06-06 21:05:32 -07:00
Thomas Rodgers
d3bb450892 Merge pull request #1432 from xaqq/fix_init_order
Fix initialization order.
2015-06-06 20:06:07 -05:00
Kapp Arnaud
c35971a603 Fix initialization order.
Fixes #1431.
2015-06-07 02:21:32 +02:00
KAPP Arnaud
5cbd197d10 Merge pull request #1430 from junovitch/fix-man-install-without-doc-build
Enable install of man pages when BUILD_DOC is not set by shifting INS…
2015-06-06 04:23:58 +02:00
Jason Unovitch
45610c354d Enable install of man pages when BUILD_DOC is not set by shifting INSTALL_MAN outside of BUILD_DOC's if/endif 2015-06-05 21:43:39 -04:00
Pieter Hintjens
f4da5442ba Merge pull request #1427 from xaqq/doc-patch
Update documentation for zmq_setsockopt.
2015-06-05 22:15:44 +02:00
Kapp Arnaud
4ad9a5e570 Update documentation for zmq_setsockopt.
Pull request #1426 now allow for changing the watermark
after and connect() or a bind(). This patch reflect the
change in the documentation.

Also closes #1416.
2015-06-05 22:14:40 +02:00
Constantin Rack
c0cda2e699 Merge pull request #1426 from ricnewton/master
Allow changing of high water marks after connection is established
2015-06-05 20:34:21 +02:00
Richard Newton
dc949624e1 Handle infinite hwms properly 2015-06-05 19:06:36 +01:00
Richard Newton
15eecf4cf4 Update high water marking to allow changing high water mark after connection established. 2015-06-05 17:14:55 +01:00
KAPP Arnaud
a3b8f80fe5 Merge pull request #1425 from mipaaa/master
Fixed executable name in the usage string
2015-06-05 15:19:03 +02:00
Mipa
b0296bc66f Fixed executable name in the usage string 2015-06-05 16:01:42 +03:00
Constantin Rack
bc2f5f76f8 Merge pull request #1424 from ricnewton/master
Fix xpub test to set hwm before bind.
2015-06-05 13:48:20 +02:00
Richard Newton
dc105ffc78 Fix xpub test to set hwm before bind. 2015-06-05 12:19:48 +01:00
Pieter Hintjens
d4b11b0d17 Merge pull request #1423 from ricnewton/master
Fail ZMQ_SNDHWM and ZMQ_RCVHWM setsockopt if already connected.
2015-06-05 12:24:17 +02:00
Richard Newton
32770d2e60 Remove accidentally committed appveyor file. 2015-06-05 10:50:02 +01:00
Richard Newton
9f8b8af926 Fail ZMQ_SNDHWM and ZMQ_RCVHWM setsockopt if already connected. 2015-06-05 10:43:40 +01:00
Richard Newton
64e711eb50 Merge branch 'master' of https://github.com/zeromq/libzmq 2015-06-05 08:47:20 +01:00
Constantin Rack
383f67a5cc Merge pull request #1422 from hintjens/master
Problem: tests/test_socketopt_hwm fails and breaks CI
2015-06-05 00:00:50 +02:00
Pieter Hintjens
e37d715702 Problem: tests/test_socketopt_hwm fails and breaks CI
Solution: mark this as XFAIL
2015-06-04 23:57:50 +02:00
Richard Newton
1540737561 Merge branch 'master' of https://github.com/zeromq/libzmq 2015-06-04 08:24:05 +01:00
Pieter Hintjens
bfb0ac1cc4 Merge pull request #1418 from xaqq/setsockopt
Introduce a failing test against zmq_setsockpt().
2015-06-04 06:41:35 +02:00
Kapp Arnaud
fb960147ca Introduce a failing test against zmq_setsockpt().
Problem: zmq_setsockpt() returns success when changing the
HWM after a bind or connect() even though the call has no effect.

Solution: Introduce a failing test a reminder we need to patch it.
2015-06-04 01:38:45 +02:00
Pieter Hintjens
9e80f07a8d Merge pull request #1417 from jens-auer/zero_copy
Zero copy message receive in v2_decoder
2015-06-03 23:09:03 +02:00
Jens Auer
e9b403a7b1 zero-copy message receive
Construct messages from a reference-counted buffer allocated once
per receive instead of copying the data.
2015-06-03 23:03:14 +02:00
Jens Auer
611e96c701 Allocation-free msg::init_data
With a msg_t size of 64 bytes, it becomes possible to embedd the content_t's members
struct for large messages directly in the msg_t. This saves the dynamic allocation
of content_t obejcts when using msg_t::init_data.

content_t contains a zmq::atomic_counter_t object which is not a POD in C++98
and thus it cannot be used as a member of the union u. To bypass this, C++11
is used which has relaxed rules for POD and atomic_counter is a C++11-POD. An
alternative would have been to make atomic_counter a classical POD by removing
constructors and all private member functions, i.e. have a struct and free functions
to manipulate it.

A new msg_t::init function is added which decides to either to copy the data for size<64 bytes
or use msg_t::init_data to do zero-copy initialization.
2015-06-03 22:44:33 +02:00
KAPP Arnaud
03d6a7341b Merge pull request #1415 from hintjens/master
Fixes to README
2015-06-03 00:40:42 +02:00
Pieter Hintjens
3e330d6e2b Fixes to README 2015-06-02 23:44:12 +02:00
Pieter Hintjens
a07244cda2 Merge pull request #1414 from hintjens/master
Problem: source file headers are somewhat confusing about LGPLv3
2015-06-02 23:40:52 +02:00
Pieter Hintjens
8620c3e032 Problem: source file headers are somewhat confusing about LGPLv3
Of course people still "can" distributed the sources under the
LGPLv3. However we provide COPYING.LESSER with additional grants.

Solution: specify these grants in the header of each source file.
2015-06-02 22:33:55 +02:00
Constantin Rack
1e10222b8f Merge pull request #1413 from malexzx/master
HPUX build and gmake check issues solution. Fixes #1412
2015-06-02 17:41:36 +02:00
ALEKSANDR MELNIKOV
1eb8e2a69f HPUX build and gmake check issues solution (#1412) 2015-06-02 20:17:15 +06:00
Constantin Rack
4676e6551f Merge pull request #1411 from jens-auer/address-sanitizer
Fixed out-of-bounds access when releasing socket handles.
2015-05-31 17:50:32 +02:00
Jens Auer
d337cf5a96 Fixed out-of-bounds access when releasing socket handles. 2015-05-31 17:42:26 +02:00
Constantin Rack
a146503d30 Merge pull request #1409 from rikvdh/master
Fix another degradation, CPU maxes out when POLLOUT is set
2015-05-27 14:50:24 +02:00
Rik van der Heijden
aa2e74c2a2 Fix another degradation, CPU maxes out when POLLOUT is set because poll exits on POLLOUT and doesn't wait for POLLIN. 2015-05-27 14:27:53 +02:00
Pieter Hintjens
d8077bb3da Merge pull request #1406 from rikvdh/master
Fix degradation from #1382, POLLOUT was tested but not requested
2015-05-24 22:58:46 +02:00
Rik van der Heijden
ae630cf3eb Fix degradation from #1382, POLLOUT was tested but not requested 2015-05-24 22:39:36 +02:00
Pieter Hintjens
099fd43836 Merge pull request #1405 from c-rack/fix-brackets
Problem: missing brackets
2015-05-23 23:20:29 +02:00
Constantin Rack
8a3296c1aa Solution: add missing brackets 2015-05-23 23:18:10 +02:00
Constantin Rack
f9315e1980 Merge pull request #1403 from dfons/master
doc/zmq_socket.txt: Remove note about ZMQ_PAIR being experimental.
2015-05-22 21:07:44 +02:00
Diego Fons
fcf7b22b92 doc/zmq_socket.txt: Remove note about ZMQ_PAIR being experimental. 2015-05-22 15:46:28 -03:00
Richard Newton
dfaa55fa7b Merge branch 'master' of https://github.com/zeromq/libzmq 2015-05-21 15:00:05 +01:00
Pieter Hintjens
f03a78bbfc Merge pull request #1401 from taotetek/master
Problem: libzmq has temp debug printf
2015-05-19 17:48:20 +02:00
Brian Knox
537626258f remove temp printf from stream_engine 2015-05-19 09:38:53 -04:00
Constantin Rack
d35473ecae Merge pull request #1398 from jacmet/pkgconfig-static-linking
libzmq: Fix pkg-config files for static linking
2015-05-13 08:34:51 +02:00
Peter Korsgaard
e89577d30c libzmq: Fix pkg-config files for static linking
Libzmq uses C++ standard library features, so users of it should link
against that as well when statically linking.

Add it to Libs.private so users using pkg-config automatically gets the
correct linker flags.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-05-13 08:01:34 +02:00
Pieter Hintjens
4c36c93a31 Merge pull request #1397 from danriegsecker/master
Some test fail to build targeting less that Windows Vista
2015-05-07 22:56:40 +02:00
Dan Riegsecker
f4f918ba73 Some test fail to build targeting less that Windows Vista
When targeting a version of Windows less than Windows Vista, the
security tests fail to build. Added a check for Windows version
and substituted inet_pton for inet_addr. Fixes libzmq issue #1396.
2015-05-07 16:52:37 -04:00
Constantin Rack
59add707cd Merge pull request #1395 from anton-sergeev/master
Add CMake option for perf-tools
2015-05-06 18:23:57 +02:00
Anton Sergeev
5f9b258295 Make CMake option for perf-tools
This allow disable making perf-tools in Release build type

Signed-off-by: Anton Sergeev <Anton.Sergeev@elecard.ru>
2015-05-06 21:25:26 +06:00
Pieter Hintjens
3699242c4e Merge pull request #1394 from BurningEnlightenment/master
REPLACE CMAKE MSVC VERSION SUFFIX VARIABLE
2015-05-05 22:05:55 +02:00
Henrik S. Gaßmann
f0a76318f4 REPLACE MSVC VERSION SUFFIX VARIABLE
Replace _zmq_COMPILER with CMAKE_VS_PLATFORM_TOOLSET; so the suffix can
be automagically generated for every MSVC compiler supported by cmake.
2015-05-05 21:39:50 +02:00
Pieter Hintjens
959ab527f4 Merge pull request #1391 from CommanderBubble/master
FD_SETSIZE Increase to 1024
2015-05-01 18:21:11 +02:00
Michael
1bfff06b8d Merge pull request #3 from CommanderBubble/FD-SETSIZE-update
FD_SETSIZE Increase to 1024
2015-05-02 01:17:56 +10:00
Michael
166a14c4a5 Update configure.ac 2015-05-02 01:13:33 +10:00
Michael
bd795d6f7a Update configure.ac 2015-05-02 01:12:22 +10:00
Michael
095741cd9c set FD_SETSIZE to 1024 on mingw
Sets FD_SETSIZE to 1024 under mingw systems, increasing it from the default of 64, and brings it into line with the previous limit for CMake builds on mingw.
2015-05-02 01:11:54 +10:00
Michael
235a1dbf7d Merge pull request #2 from zeromq/master
update to current master
2015-05-02 00:54:49 +10:00
Richard Newton
43a1192ca4 Merge pull request #1390 from hintjens/master
Problem: incomplete specs for test_proxy_terminate
2015-05-01 10:52:05 +01:00
Pieter Hintjens
74888769d6 Problem: incomplete specs for test_proxy_terminate
Solution: fixed this in Makefile.am
2015-05-01 11:31:45 +02:00
Pieter Hintjens
eead3bc661 Merge pull request #1388 from rikvdh/issue-1382
Fix for issue #1382
2015-05-01 11:18:56 +02:00
Rik van der Heijden
7b9e9b838d Issue #1382: Do not send data to backend when there are no listeners (+ tests) 2015-05-01 10:39:29 +02:00