0
0
mirror of https://github.com/zeromq/libzmq.git synced 2025-01-02 03:08:04 +08:00

2315 Commits

Author SHA1 Message Date
Pieter Hintjens
dcf0693d6e Merge pull request #450 from hurtonm/issue_447
Resolve LIBZMQ-447
2012-10-29 03:21:09 -07:00
Martin Hurton
3aa30329d1 Use correct types when returning value in read/write methods 2012-10-29 10:46:33 +01:00
Martin Hurton
03deb2c97a Resolve LIBZMQ-447 2012-10-29 10:15:51 +01:00
Hardeep
83387b4073 Added support for non-zmq tcp client connections to router socket.
- Created a new option ZMQ_ROUTER_RAW_SOCK
    - Added new raw_encoder and raw_decoder to receive and send messages in raw form to remote client
    - Added test case file tests/test_raw_sock.cpp

    o To create a raw router sock set the ZMQ_ROUTER_RAW_SOCK option
    o ZMQ_MSGMORE flag is ignored for non-id messages
    o To terminate a remote connection send id message followed by zero length data message
2012-10-29 00:03:36 -07:00
Ian Barber
19f77a1ccf Merge pull request #449 from hintjens/master
Fixed code formatting
2012-10-27 18:25:42 -07:00
Pieter Hintjens
0bf8a4d2d2 Code formatting 2012-10-28 07:36:18 +09:00
Pieter Hintjens
6b45262086 Merge pull request #448 from jgm-radez/master
resolve issue 456
2012-10-27 14:01:48 -07:00
John Muehlhausen
500f6cffe3 patch for issue 456
Do not filter out duplicate subscriptions on the XSUB side of
XSUB/XPUB, so that ZMQ_XPUB_VERBOSE doesn't get blocked by forwarding
devices (as long as the devices all use ZMQ_XPUB_VERBOSE)
2012-10-27 15:51:03 -05:00
Ian Barber
bb59dc1b2a Merge pull request #447 from hintjens/master
Cleanups to man pages
2012-10-26 19:50:32 -07:00
Pieter Hintjens
171897f4e8 Cleanups to man pages 2012-10-27 09:43:19 +09:00
Pieter Hintjens
0b13872ff4 Merge pull request #446 from hurtonm/issue_452
Resolve LIBZMQ-452
2012-10-25 02:21:31 -07:00
Pieter Hintjens
01be614593 Merge pull request #445 from hurtonm/issue_417
Resolve LIBZMQ-417
2012-10-25 02:15:46 -07:00
Martin Hurton
ef794925b4 Resolve LIBZMQ-452
Ref: https://zeromq.jira.com/browse/LIBZMQ-452
2012-10-25 09:13:48 +02:00
Martin Hurton
4824237761 Resolve LIBZMQ-417
Ref: https://zeromq.jira.com/browse/LIBZMQ-417
2012-10-25 09:13:09 +02:00
Pieter Hintjens
d2ee38acfe Merge pull request #444 from vortechs2000/fix_aix
Fix Build Regression #449: Move socket_base.hpp and err.hpp after poll.h include
2012-10-24 06:50:02 -07:00
AJ Lewis
422c418a15 Move socket_base.hpp and err.hpp after poll.h include
These two headers also include zmq.h somewhere in their dependency
chain, so must be included after poll.h is included for builds to work
on AIX.
2012-10-24 08:37:00 -05:00
Ian Barber
2675a9d31b Merge pull request #443 from hintjens/master
Fixed whitespace and style
2012-10-23 18:02:48 -07:00
Pieter Hintjens
4ba34c9d70 Whitespace and style fixes 2012-10-24 09:18:52 +09:00
Ian Barber
7abb6ccb6a Merge pull request #442 from hintjens/master
Fixed build regression #449
2012-10-19 15:05:23 -07:00
Pieter Hintjens
066606322c Added unbind/disconnect man pages, notes to deprecated methods 2012-10-19 16:23:21 +09:00
Pieter Hintjens
ee21fac8b8 Added ZMQ_FAIL_UNROUTABLE alias back as deprecated 2012-10-19 15:16:36 +09:00
Pieter Hintjens
a3889d00c3 Fixed issue #451 2012-10-19 15:09:52 +09:00
Pieter Hintjens
45c063725b Fixed issue #449 2012-10-18 11:32:13 +09:00
Ian Barber
7f63fc6579 Merge pull request #441 from hintjens/master
Fixed build regression
2012-10-17 19:21:26 -07:00
Pieter Hintjens
96811575c3 Fixed issue #448 2012-10-18 11:04:51 +09:00
Ian Barber
9bab346690 Merge pull request #440 from hintjens/master
Packages did not build - fixed
2012-10-15 23:32:16 -07:00
Pieter Hintjens
3a43bd7354 Several include files were missing 2012-10-16 10:01:26 +09:00
Ian Barber
6e676af45e Merge pull request #439 from hintjens/master
Updated master version to 3.2.2
2012-10-15 04:33:24 -07:00
Pieter Hintjens
351eff5448 Bumped version to 3.3.0 2012-10-15 13:23:00 +09:00
Pieter Hintjens
8e7892b72f Upated version for next release 2012-10-15 13:06:19 +09:00
Pieter Hintjens
a7b2e9d017 Upated NEWS for 3.2.1 v3.2.1 2012-10-15 12:52:54 +09:00
Pieter Hintjens
cdcaca2dc4 Merge pull request #438 from steve-o/master
Duplicate CMake patch set from zeromq3-x
2012-10-12 19:58:55 -07:00
Steven McCoy
c62fb89ed8 Update to libzmq source set. 2012-10-12 22:48:02 -04:00
Steve-o
7a1a5f9f7f Update AsciiDoc version details with CMake detected ZeroMQ version. 2012-10-12 22:46:59 -04:00
Steve-o
8ddb9fc7ea Enable parallel make and LTO by default. 2012-10-12 22:46:58 -04:00
Steve-o
dfe7d15a88 MSVC11 not getting defined in CMake 2.8.9, punt to version string. 2012-10-12 22:46:57 -04:00
Steve-o
ebe4eab477 Detect compiler version to tag libraries. 2012-10-12 22:46:55 -04:00
Steve-o
046c8ec7eb Add metadata to CMake options; mark executables advanced to hide from default view; fix WoW64 redirections. 2012-10-12 22:46:54 -04:00
Steve-o
56bb3df1f6 Detect ZeroMQ version at build time; hide NSIS dependencies in new cmake folder. 2012-10-12 22:46:52 -04:00
Steve-o
b42e45adb8 Make OpenPGM a CMake option, default disabled. 2012-10-12 22:46:51 -04:00
Steve-o
c53cf0d239 Minor refactor of CMake build script. 2012-10-12 22:46:50 -04:00
John Murphy
000d1a5fba Update CMakeLists.txt
Removed check for COPYING.txt
2012-10-12 22:46:48 -04:00
John Murphy
58f7c2179f added artificacts for windows and openpgm build 2012-10-12 22:46:47 -04:00
Ian Barber
73537e67e3 Merge pull request #437 from rohanbedarkar/master
Explicit comments
2012-10-11 13:39:04 -07:00
Rohan
93a7a37893 fixed trailing whitespace 2012-10-11 09:32:54 -05:00
Rohan
a438e63498 explicit comments on multicast loopback 2012-10-10 16:22:52 -05:00
rohanbedarkar
11c22912d7 commented out TOS related opt for PGM 2012-10-10 10:08:06 -05:00
Ian Barber
1ef63bc2ad Merge pull request #436 from hintjens/master
Renamed ZMQ_ROUTER_BEHAVIOR to ZMQ_ROUTER_MANDATORY
2012-10-09 02:19:41 -07:00
Pieter Hintjens
983ee761b1 Renamed ZMQ_ROUTER_BEHAVIOR to ZMQ_ROUTER_MANDATORY for clarity 2012-10-08 16:36:35 +09:00
Ian Barber
db690e3d99 Merge pull request #435 from hintjens/master
Added ZMQ_XPUB_VERBOSE option
2012-10-07 12:48:18 -07:00
Pieter Hintjens
f87bf38293 Fixed issue #443 2012-10-08 00:57:43 +09:00
Pieter Hintjens
e41e071b05 Merge pull request #434 from vaughan0/master
Small documentation error I noticed
2012-10-06 04:26:20 -07:00
Vaughan Newton
ce53fe0337 Minor documentation fix: zmq_msg_recv instead of zmq_msg_send 2012-10-06 13:15:17 +02:00
Pieter Hintjens
d6e0ae24f3 Prepared for release 3.2.1 2012-10-01 22:52:24 +02:00
Pieter Hintjens
2440863292 Merge pull request #433 from michelp/reject-no-fds-avail
Ported from libxs revision 123c0f5387ecef287dd11f4dc790fb76ee1c0f67
2012-09-30 12:21:15 -07:00
Michel Pelletier
b84d0119b5 Ported from libxs revision 123c0f5387ecef287dd11f4dc790fb76ee1c0f67
Handle insufficient resources on accept() decently

    If accept() call fails due to insuffient OS resources
    the new connection is rejected.
2012-09-30 11:52:43 -07:00
Pieter Hintjens
81482ec84a Merge pull request #432 from hurtonm/master
Make socket IO more robust
2012-09-29 03:28:18 -07:00
Martin Hurton
82d7238f08 Make socket IO more robust
See also https://zeromq.jira.com/browse/LIBZMQ-433
2012-09-29 11:36:52 +02:00
Ian Barber
343ec62282 Merge pull request #431 from ipechorin/master
Forward-port fix for LIBZMQ-211
2012-09-26 23:29:18 -07:00
Ian Barber
5b83fe778c Merge pull request #430 from ipechorin/master
Update MSVC2008 project after recent changes; fix compilation errors
2012-09-26 12:27:43 -07:00
Ivan Pechorin
725f141fd7 Fix LIBZMQ-211: REP socket asserting when getting malformed request
REP socket demands at least an empty address stack. The server asserted on (msg_->flags () & msg_t::more) in rep.cpp:75 when receiving a malformed request without empty part.

This patch makes a REP socket to discard and silently ignore such malformed requests.
2012-09-26 16:49:38 +04:00
Pieter Hintjens
a49e392e34 Merge pull request #429 from ipechorin/dcf683aacb533634c273bb2f51fa3ceaadf89202
Update MSVC2010 project after recent renames and additions
2012-09-26 05:24:41 -07:00
Ivan Pechorin
9b58372a38 Fix compilation using MSVC 2008: its <algorithm> defines wrong min/max without NOMINMAX
Visual Studio 2008 compiler defines min/max as macros in its <algorithm> even if <windows.h> is not included at all. This patch defines NOMINMAX to remove these macros and fix compilation on Visual Studio 2008.
2012-09-26 16:09:55 +04:00
Ivan Pechorin
396b4e3046 Fix compilation using MSVC 2008: stdint.h is not present in this compiler
This patch fixes the two headers added recently to include our own "stdint.hpp" instead of system <stdint.h> because the latter is not available in Visual Studio versions prior to 2010.
2012-09-26 16:06:20 +04:00
Ivan Pechorin
4de27b6c10 Update MSVC2008 project after recent renames and additions
This patch updates MSVC2008 project after device was renamed to proxy and new files were added (tcp.cpp, v1_encoder.cpp and v1_decoder.cpp).
2012-09-26 16:04:00 +04:00
Pieter Hintjens
2eb849ccda Merge pull request #428 from ipechorin/9056c13e1ebbfd7798ddd7b5cfdb9950933c710e
Use <stdint.h> shipped with Visual Studio 2010 and later
2012-09-26 04:48:02 -07:00
Ivan Pechorin
dcf683aacb Update MSVC2010 project after recent renames and additions
This patch updates MSVC2010 project after device was renamed to proxy and new files were added (v1_encoder.cpp and v1_decoder.cpp).
2012-09-26 15:25:16 +04:00
Ivan Pechorin
9056c13e1e Use <stdint.h> shipped with Visual Studio 2010 and later
Visual Studio didn’t have <stdint.h> until 2010, therefore we had a bunch of typedefs for int8_t, int16_t and the likes in "stdint.hpp". This patch limits these typedefs to Visual Studio versions older than 2010 and uses compiler-shipped <stdint.h> on 2010 and newer.
2012-09-26 15:13:13 +04:00
Pieter Hintjens
ff264cb044 Merge pull request #427 from ianbarber/master
Init msg in pgm_receiver drop subs
2012-09-25 23:44:40 -07:00
Ian Barber
afa4933c1e Init message in drop subscription
Fixes reported issue with PGM receiver on 32bit Suse where asserts
were hit due to the msg flags not being zeroed.
2012-09-25 22:58:25 +01:00
Pieter Hintjens
2a209140f7 Merge pull request #426 from methodmissing/fix-monitor
Fix monitor
2012-09-25 13:49:27 -07:00
Lourens Naudé
b1776e234b Merge branch 'master' into fix-monitor 2012-09-25 01:26:32 +01:00
Pieter Hintjens
a6c6054ef2 Merge pull request #425 from Astellar/zmq_msg_t
zmq_msg_t will now typedef a named struct.
2012-09-21 09:09:00 -07:00
Astellar
7bf516ded7 zmq_msg_t will now typedef a named struct.
This change allows forward declaration of struct zmq_msg_t.
2012-09-21 19:57:50 +04:00
Lourens Naudé
8a57e4a5d7 Merge branch 'master' into fix-monitor 2012-09-21 12:55:01 +01:00
Lourens Naudé
759d453368 Significantly reworked the monitoring infrastructure with a more granular per socket API and to play well with monitoring endpoints in application threads 2012-09-21 12:53:31 +01:00
Pieter Hintjens
d981c91f80 Merge pull request #424 from vaughan0/patch-1
Update doc/zmq_msg_get.txt
2012-09-20 11:41:27 -07:00
Vaughan Newton
f6a840b65b Update doc/zmq_msg_get.txt 2012-09-20 21:39:45 +03:00
Ian Barber
86eb7bcae0 Merge pull request #423 from jmgao/patch-1
Add pthread.h include to test_connect_delay.cpp
2012-09-18 13:52:52 -07:00
Joshua Gao
67d88bcb41 Add pthread.h include to test_connect_delay.cpp
This test case uses pthreads, but doesn't include the header.
2012-09-18 13:46:48 -07:00
Ian Barber
7a40df6d3a Merge pull request #422 from hintjens/master
Replaced device concept with proxy concept
2012-09-07 03:25:31 -07:00
Pieter Hintjens
5db28752f3 Removed 'device' concept and introduced proxies
* zmq_device is now a wrapper that calls zmq_proxy
* zmq_proxy adds capture socket
2012-09-07 18:38:50 +09:00
Pieter Hintjens
f074f6b6b9 Merge pull request #412 from Quuxplusone/test-release-builds-too
Add "#undef NDEBUG" to all tests.
2012-09-06 19:56:46 -07:00
Arthur O'Dwyer
cf20932df0 Add "#undef NDEBUG" to all tests.
This change makes sure that even if the tests are built in a
"release" configuration (with optimizations and NDEBUG turned on),
the assertions won't get compiled out of the tests themselves.

The C standard guarantees that the most recent inclusion of
<assert.h> is the one that counts, so it's important that the
"#undef NDEBUG/#include <assert.h>" come as the last thing in
the block of header files.

"testutil.hpp" includes <assert.h>, so I've left <assert.h> out
of any test that #includes "testutil.hpp", just for the sake of
brevity.
2012-09-06 10:03:12 -07:00
Pieter Hintjens
aaac4b84cb Code cleanups 2012-09-06 18:20:33 +09:00
Ian Barber
84728cd961 Merge pull request #421 from hurtonm/master
New message encoder/decoder + code simplification
2012-09-05 12:59:28 -07:00
Martin Hurton
2a41c8d7b4 Simplify initial handshaking 2012-09-05 20:17:34 +02:00
Martin Hurton
3f6148abdf Implement new message encoder/decoder
This is supposed to become part of the ZMTP/1.1.

The main differences from the ZMTP/1.0 framing protocol are:
- flags field comes first, followed by the length field
- long messages are signaled using a flag rather then 0xff escape
- length field does not include the flags field, 0 is a valid value
2012-09-05 20:17:22 +02:00
Martin Hurton
8672f5829e Introduce abstract interface for message encoder/decoder 2012-09-05 18:31:27 +02:00
Pieter Hintjens
a224c97329 Merge pull request #420 from ianbarber/master
Fix some PGM refactor breakages
2012-09-04 16:03:58 -07:00
Ian Barber
d7331b7b1f Fixing PGM issues
Hopefully fixed LIBZMQ-427 - there was a slight typo in the init_address
refactor. The encoder refactoring had also broken pgm_sender and
receiver, but just required updating to use the new functions.
2012-09-04 23:24:48 +01:00
Ian Barber
d0687876c0 Merge pull request #419 from hurtonm/code_cleanup
Code cleanup
2012-09-03 13:58:06 -07:00
Martin Hurton
9d17ead33d Remove superfluous statement 2012-09-03 19:26:52 +02:00
Martin Hurton
7e6db47e65 Remove unused member variable 2012-09-03 19:07:57 +02:00
Ian Barber
9143ac5156 Merge pull request #418 from hurtonm/versioned_ztp
Introduce versioning into ZTP
2012-09-02 15:24:09 -07:00
Martin Hurton
d9307c9ff0 Make ZMQ interoperate with ZMQ 2.x SUB sockets
Since ZMQ 2.x does not support subscription forwarding, it's not
possible to use ZMQ 2.x SUB socket to receive messages from a PUB
socket.

This patch adds some compatibility layer so that ZMQ 2.x SUB socket
receives messages from PUB socket.
2012-09-02 22:46:26 +02:00
Martin Hurton
dfc0222ee6 Decouple encoder_t and decoder_t from session_base_t
This patch introduces i_msg_sink and i_msg_source interfaces. This
allows us to make message encoder and decoder more general.
2012-09-02 22:46:26 +02:00
Martin Hurton
1bca4f6f03 Extend ZTP/1.0 protocol
The new protocol adds support for protocol version and  exchanges the
socket type, so that the library can reject a connection when the
sockets do not match.

The protocol was designed so that it's possible to detect and fully
support ZTP/1.0 peers.

When a new connection is set up, peers exchange greeting messages. The
greeting message encodes both the protocol verion and the socket type.
The format of the greeting message is as follows:

    greeting    = tag1, adaptation, tag2, version, length, socket_type
    tag1        = BYTE / 0xff
    adaptation  = 8 BYTES
    tag2        = BYTE / 0x7f
    version     = BYTE / 1
    length      = BYTE / 1
    socket_type = BYTE

The protocol does not define the value of adaptation field.

When interoperability with ZTP/1.0 peers is required, the adaptaion
encodes, in network byte order, the length of identity message increased
by 1. When adaptaion consists of eight zeros, the current
implementatatio of 0MQ 2.x closes the connection.

This patch supports both ZTP/1.0 and new protocol.
2012-09-02 22:46:26 +02:00
Mikko Koppanen
6347f8b0c9 Merge pull request #416 from hintjens/master
Fixed COPYING.LESSER
2012-08-28 04:40:38 -07:00
Pieter Hintjens
ab8248847c Fixed license to remove references to X11 code 2012-08-28 20:39:38 +09:00