0
0
mirror of https://github.com/zeromq/libzmq.git synced 2024-12-31 01:43:02 +08:00

4022 Commits

Author SHA1 Message Date
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