Commit Graph

4138 Commits

Author SHA1 Message Date
Joe Eli McIlvain
fb57110b94 Merge pull request #1577 from hintjens/master
Various cleanups for CLIENT-SERVER sockets
2015-09-11 14:24:51 -07:00
Pieter Hintjens
f3ee8c69db Problem: request-reply pattern is lousy
REQ-REP barely work, and DEALER-ROUTER are misnamed. As we move to
formalizing CLIENT-SERVER, we can deprecate request-reply.

Solution: move this section to the end of the man page, and mark as
"will be deprecated".
2015-09-11 17:22:37 -04:00
Pieter Hintjens
e7da0ea07b Problem: client/server pattern is not documented
Solution: add man pages/sections for:

 * ZMQ_SERVER
 * ZMQ_CLIENT
 * ZMQ_THREADSAFE
 * zmq_msg_routing_id
 * zmq_msg_set_routing_id
2015-09-11 17:12:58 -04:00
Pieter Hintjens
4db73fc18b Problem: msg.cpp:set_routing_id accepts a zero routing ID
Solution: check/reject a zero routing ID with EINVAL.
2015-09-11 17:09:24 -04:00
Pieter Hintjens
6b00f40f74 Problem: test_client/server_drop_more are invalid
These tests connected CLIENT and SERVER to DEALER... this isn't
allowed. I changed to CLIENT-to-SERVER in both cases. The result
was aborts in client.cpp and server.cpp which cannot handle
invalid multipart data.

I removed the asserts in each of these in xsend.

Solution: fix the test cases and remove the (unwanted?) asserts
in client.cpp:xsend and server.cpp:xsend.
2015-09-11 17:07:50 -04:00
Pieter Hintjens
c2dffb9908 Problem: threadsafe test uses CLIENT-to-CLIENT
Solution: fix to use CLIENT-to-SERVER and increase number of messages
sent to 100K per thread, to better stress thread safety.
2015-09-11 17:01:27 -04:00
Pieter Hintjens
d416ffcec5 Problem: cannot build single test case in tests
This is due to the mangled include of platform.h, which was to make
CMake happy.

Solution: in CMakeLists.txt, define USING_CMAKE and then look for
platform.h in current directory if that is defined, else look in
../src/ as one would expect.
2015-09-11 16:42:26 -04:00
Pieter Hintjens
5e936fe955 Problem: routing ID cycles back to zero
It should never be zero.

Solution: if rid cycles back to zero, bump to 1.
2015-09-11 14:30:27 -04:00
Pieter Hintjens
60fdfd9a1b Problem: whitespace at end of lines, removed 2015-09-11 14:30:20 -04:00
Pieter Hintjens
c5b1de368a Problem: code lets CLIENT connect to CLIENT
This has no sense IMO; people who need this can still use DEALER-DEALER.

Solution: let CLIENT talk only to SERVER.
2015-09-11 13:46:02 -04:00
Pieter Hintjens
87f2dff38c Problem: zmq_msg_get_routing_id () is not consistent with API
We do not use 'get' for getters.

Solution: rename to zmq_msg_routing_id () for public API.
2015-09-11 13:15:00 -04:00
Pieter Hintjens
7be6ad0504 Replaced tabs in some files, with spaces 2015-09-11 13:03:31 -04:00
Constantin Rack
d0ffb91323 Merge pull request #1574 from pijyoi/master
avoid dereferencing uint32_t on unaligned address
2015-09-08 11:40:04 +02:00
KIU Shueng Chuan
25a50ca0d5 avoid dereferencing uint32_t on unaligned address 2015-09-08 17:26:31 +08:00
Pieter Hintjens
734a73c63d Merge pull request #1571 from c-rack/fix-typos
Solution: fix typos
2015-09-06 19:00:56 +02:00
Constantin Rack
bd923f0fbb Problem: some comments contain typos 2015-09-06 18:46:32 +02:00
Pieter Hintjens
3e43258769 Merge pull request #1570 from djelenc/deque_bug
Problem: Tests in Travis are failing randomly
2015-09-06 02:01:02 +02:00
David Jelenc
64ffda90d2 Problem: Tests in Travis are failing randomly
Tests were failing, because some deque calls were causing undefined
behavior: calling front() or pop_front() on an empty deque. Such
calls are now safeguarded.
2015-09-06 01:49:50 +02:00
Constantin Rack
39a0d33912 Merge pull request #1569 from djelenc/xpub_manual_lost_subscriptions
Fixed missing subscriptions on XPUB with manual subscriptions
2015-09-05 16:30:36 +02:00
David Jelenc
8fd71d631d Fixed missing subscriptions on XPUB with manual subscriptions
The patch fixes the issue #1568.
2015-09-05 15:56:26 +02:00
Pieter Hintjens
47e1216e1e Merge pull request #1567 from djelenc/xpub_manual_proxy_disconnect_unsubscribe
Problem: lingering subscriptions on XPUB sockets (#1566)
2015-09-05 12:14:27 +02:00
David Jelenc
dd35e1db0f Problem: lingering subscriptions on XPUB sockets (#1566)
The patch fixes lingering subscriptions that occur upon disconnection
on XPUB sockets with option XPUB_MANUAL when used in a XPUB-XSUB
proxies.
2015-09-05 12:07:50 +02:00
Pieter Hintjens
9e8e81cf9a Merge pull request #1564 from c-rack/issue-1558-2
Solution: do not call poller->add_fd() with -1. Fixes #1558
2015-09-03 12:41:55 +02:00
Constantin Rack
5dad00ebdc Problem: do not call poller->add_fd() with -1. Fixes #1558 2015-09-03 12:31:55 +02:00
Pieter Hintjens
23c55612e4 Merge pull request #1563 from zeromq/revert-1561-issue-1558
Revert "Solution: check return code of make_fdpair() with zmq_assert"
2015-09-03 12:15:42 +02:00
Constantin Rack
2159618b56 Revert "Solution: check return code of make_fdpair() with zmq_assert" 2015-09-03 10:56:26 +02:00
Constantin Rack
13db11c6ae Merge pull request #1562 from markuspf/fix-dragonfly-compile-2
Make DragonFly a first class citizen in terms of compilation
2015-09-03 10:19:42 +02:00
Markus Pfeiffer
ee984b1fe6 Make DragonFly a first class citizen in terms of compilation 2015-09-03 09:00:12 +01:00
Pieter Hintjens
32d7da1103 Merge pull request #1561 from c-rack/issue-1558
Solution: check return code of make_fdpair() with zmq_assert
2015-09-02 23:25:51 +02:00
Constantin Rack
bb9788867f Problem: return code of make_fdpair() is not checked. Fixes #1558 2015-09-02 23:19:27 +02:00
Constantin Rack
801f39dbef Merge pull request #1557 from hintjens/master
Cleaned up test case
2015-09-02 10:02:56 +02:00
Pieter Hintjens
1fdf8f78e4 Cleaned up test case 2015-09-02 09:55:19 +02:00
Constantin Rack
146be48495 Merge pull request #1553 from flub/master
Update zmq_inproc manpage for bind/connect order
2015-08-27 12:50:17 +02:00
Floris Bruynooghe
f86264db3e Update zmq_inproc manpage for bind/connect order
The order of zmq_bind() and zmq_connect() is no longer important
for the inproc transport since libzmq 4.0.  This updates this
in the zmq_inproc manpage.
2015-08-27 10:40:21 +01:00
Constantin Rack
0e1448a26f Merge pull request #1550 from xaqq/master
Problem: Identity frame from router has no metadata
2015-08-24 22:35:31 +02:00
Pieter Hintjens
bc513b6381 Merge pull request #1547 from jemc/master
Problem: Private/internal macros defined in public header.
2015-08-22 09:09:56 +02:00
Joe Eli McIlvain
33419425eb Problem: Private/internal macros defined in public header.
Solution: Move the macros to a private header.
2015-08-21 16:12:22 -07:00
Pieter Hintjens
735c02ed5e Merge pull request #1546 from reza-ebrahimi/master
rename ZMQ_UNUSED macro to LIBZMQ_UNUSED
2015-08-21 23:57:18 +02:00
reza.ebrahimi
63260d8701 rename ZMQ_UNUSED macro to LIBZMQ_UNUSED 2015-08-22 00:31:25 +04:30
Constantin Rack
b07b1e270e Merge pull request #1545 from ricnewton/master
Fix zmq crash when calling shutdown with a pending inproc socket connect
2015-08-21 11:25:45 +02:00
Richard Newton
096007c574 Fix zmq crash when calling shutdown with a pending inproc socket connect 2015-08-21 10:06:54 +01:00
Constantin Rack
4e5843b8ff Merge pull request #1543 from csiro-workspace/master
Set signaler_port to 0 which allows the OS to find a free port
2015-08-21 08:12:09 +02:00
Matt Bolger
7e09306cb3 -Set signaler_port to 0 which allows the OS to find a free port, rather than crashing if 5905 is in use (https://github.com/zeromq/libzmq/issues/1542)
-Added config.hpp to the source list so it shows up in generated projects
-Remove CMAKE_BUILD_TYPE setting for generators that don't use it
2015-08-21 13:45:59 +10:00
Constantin Rack
ec98916e82 Merge pull request #1541 from jemc/master
Problem: Source files contain mixed tabs and spaces.
2015-08-20 16:54:03 +02:00
Joe Eli McIlvain
61217a2686 Problem: Source files contain mixed tabs and spaces.
Solution: Convert to spaces and remove trailing whitespace in these files.
2015-08-20 07:46:34 -07:00
Richard Newton
6aa5c20b3d Merge pull request #1540 from djelenc/fix_failing_tests
Fixes failing tests regarding XPUB sockets.
2015-08-20 14:44:45 +01:00
David Jelenc
1240d7ac83 Fixes failing tests regarding XPUB sockets.
Fixes tests that were introduced in a previous pull request. See
https://github.com/zeromq/libzmq/pull/1539#issuecomment-132968987
2015-08-20 15:32:23 +02:00
Constantin Rack
391bc12d17 Merge pull request #1539 from djelenc/issue1116
Addresses zeromq/libzmq#1116.
2015-08-20 12:34:19 +02:00
David Jelenc
b9634e11a3 Addresses zeromq/libzmq#1116.
This patch  adds a new member of type deque to the
xpub class that contains pointers to metadata_t.
This deque is then used (alongside pending_data
and pending_flags) to preserve metadata when
copying messages.
2015-08-20 12:09:56 +02:00
Kapp Arnaud
370b8c9bb1 Problem: Identity frame from router has no metadata
The routing id (identity) frame return when reading from
a router doesn't have the same metadata as the "real"
message that follows.
For example, The ZAP "User-Id" property is missing.

This patch attach the "data message"'s metadata
to the "identity message" when it is read from the router.
2015-08-20 01:15:18 +02:00