From 5ba1cb20fe6f6699cef1cc726718e760cd4c9af1 Mon Sep 17 00:00:00 2001 From: Martin Lucina Date: Mon, 23 Jan 2012 08:53:25 +0100 Subject: Imported Upstream version 2.0.9.dfsg --- AUTHORS | 6 + ChangeLog | 10338 +++++++++++++++++++++---- Makefile.am | 20 +- Makefile.in | 39 +- NEWS | 67 +- README | 2 +- builds/msvc/Makefile.in | 4 +- builds/msvc/c_local_lat/c_local_lat.vcproj | 4 - builds/msvc/c_local_thr/c_local_thr.vcproj | 4 - builds/msvc/c_remote_lat/c_remote_lat.vcproj | 4 - builds/msvc/c_remote_thr/c_remote_thr.vcproj | 4 - builds/msvc/libzmq/libzmq.vcproj | 16 +- builds/msvc/platform.hpp | 2 +- configure | 91 +- configure.in | 5 +- devices/Makefile.in | 4 +- devices/zmq_forwarder/Makefile.in | 4 +- devices/zmq_queue/Makefile.in | 4 +- devices/zmq_streamer/Makefile.in | 4 +- doc/Makefile.am | 2 +- doc/Makefile.in | 6 +- doc/asciidoc.conf | 56 + doc/zmq.7 | 8 +- doc/zmq.html | 6 +- doc/zmq.txt | 3 +- doc/zmq_bind.3 | 13 +- doc/zmq_bind.html | 11 +- doc/zmq_bind.txt | 2 + doc/zmq_close.3 | 15 +- doc/zmq_close.html | 14 +- doc/zmq_close.txt | 3 +- doc/zmq_connect.3 | 13 +- doc/zmq_connect.html | 11 +- doc/zmq_connect.txt | 2 + doc/zmq_cpp.7 | 16 +- doc/zmq_cpp.html | 7 +- doc/zmq_cpp.txt | 4 + doc/zmq_epgm.7 | 6 +- doc/zmq_epgm.html | 3 +- doc/zmq_errno.3 | 6 +- doc/zmq_errno.html | 3 +- doc/zmq_forwarder.1 | 6 +- doc/zmq_forwarder.html | 3 +- doc/zmq_getsockopt.3 | 28 +- doc/zmq_getsockopt.html | 26 +- doc/zmq_getsockopt.txt | 17 +- doc/zmq_init.3 | 6 +- doc/zmq_init.html | 3 +- doc/zmq_inproc.7 | 6 +- doc/zmq_inproc.html | 3 +- doc/zmq_ipc.7 | 6 +- doc/zmq_ipc.html | 3 +- doc/zmq_msg_close.3 | 6 +- doc/zmq_msg_close.html | 3 +- doc/zmq_msg_copy.3 | 6 +- doc/zmq_msg_copy.html | 3 +- doc/zmq_msg_data.3 | 6 +- doc/zmq_msg_data.html | 3 +- doc/zmq_msg_init.3 | 6 +- doc/zmq_msg_init.html | 3 +- doc/zmq_msg_init_data.3 | 6 +- doc/zmq_msg_init_data.html | 3 +- doc/zmq_msg_init_size.3 | 6 +- doc/zmq_msg_init_size.html | 3 +- doc/zmq_msg_move.3 | 6 +- doc/zmq_msg_move.html | 3 +- doc/zmq_msg_size.3 | 6 +- doc/zmq_msg_size.html | 3 +- doc/zmq_pgm.7 | 6 +- doc/zmq_pgm.html | 3 +- doc/zmq_poll.3 | 13 +- doc/zmq_poll.html | 11 +- doc/zmq_poll.txt | 2 + doc/zmq_queue.1 | 6 +- doc/zmq_queue.html | 3 +- doc/zmq_recv.3 | 18 +- doc/zmq_recv.html | 18 +- doc/zmq_recv.txt | 7 +- doc/zmq_send.3 | 13 +- doc/zmq_send.html | 11 +- doc/zmq_send.txt | 2 + doc/zmq_setsockopt.3 | 23 +- doc/zmq_setsockopt.html | 21 +- doc/zmq_setsockopt.txt | 12 +- doc/zmq_socket.3 | 187 +- doc/zmq_socket.html | 212 +- doc/zmq_socket.txt | 102 +- doc/zmq_streamer.1 | 6 +- doc/zmq_streamer.html | 3 +- doc/zmq_strerror.3 | 6 +- doc/zmq_strerror.html | 3 +- doc/zmq_tcp.7 | 20 +- doc/zmq_tcp.html | 18 +- doc/zmq_tcp.txt | 11 +- doc/zmq_term.3 | 15 +- doc/zmq_term.html | 14 +- doc/zmq_term.txt | 3 +- doc/zmq_version.3 | 6 +- doc/zmq_version.html | 3 +- foreign/openpgm/libpgm-2.1.26.tar.gz | Bin 352620 -> 342443 bytes foreign/xmlParser/xmlParser.hpp | 2 +- include/zmq.h | 13 +- include/zmq_utils.h | 57 + perf/Makefile.am | 9 +- perf/Makefile.in | 22 +- perf/helpers.cpp | 86 - perf/helpers.h | 40 - perf/local_lat.cpp | 4 +- perf/local_thr.cpp | 8 +- perf/remote_lat.cpp | 6 +- perf/remote_thr.cpp | 6 +- src/Makefile.am | 12 +- src/Makefile.in | 59 +- src/app_thread.cpp | 12 +- src/ctx.cpp | 1 + src/decoder.hpp | 4 +- src/downstream.cpp | 101 - src/downstream.hpp | 61 - src/encoder.hpp | 4 +- src/forwarder.cpp | 26 +- src/i_poll_events.hpp | 2 +- src/ip.cpp | 7 +- src/msg_store.cpp | 307 + src/msg_store.hpp | 114 + src/pair.cpp | 3 + src/pipe.cpp | 146 +- src/pipe.hpp | 32 +- src/platform.hpp.in | 3 + src/poll.cpp | 23 +- src/prefix_tree.cpp | 12 +- src/prefix_tree.hpp | 2 +- src/pull.cpp | 98 + src/pull.hpp | 62 + src/push.cpp | 101 + src/push.hpp | 61 + src/queue.cpp | 43 +- src/select.cpp | 15 +- src/session.cpp | 4 +- src/signaler.cpp | 26 +- src/socket_base.cpp | 29 +- src/streamer.cpp | 26 +- src/tcp_connecter.cpp | 15 +- src/tcp_listener.cpp | 2 +- src/tcp_socket.cpp | 3 +- src/upstream.cpp | 98 - src/upstream.hpp | 62 - src/uuid.cpp | 4 +- src/xrep.cpp | 29 +- src/xrep.hpp | 6 + src/xreq.cpp | 27 +- src/xreq.hpp | 3 - src/yarray_item.hpp | 4 +- src/ypipe.hpp | 17 + src/zmq.cpp | 113 + src/zmq_decoder.cpp | 7 + zeromq.spec | 2 +- 156 files changed, 11387 insertions(+), 2443 deletions(-) create mode 100644 doc/asciidoc.conf create mode 100644 include/zmq_utils.h delete mode 100644 perf/helpers.cpp delete mode 100644 perf/helpers.h delete mode 100644 src/downstream.cpp delete mode 100644 src/downstream.hpp create mode 100644 src/msg_store.cpp create mode 100644 src/msg_store.hpp create mode 100644 src/pull.cpp create mode 100644 src/pull.hpp create mode 100644 src/push.cpp create mode 100644 src/push.hpp delete mode 100644 src/upstream.cpp delete mode 100644 src/upstream.hpp diff --git a/AUTHORS b/AUTHORS index 79f100a..1279d7f 100644 --- a/AUTHORS +++ b/AUTHORS @@ -5,6 +5,8 @@ Alexej Lotz Asko Kauppi Barak Amar Bernd Prager +Bernd Melchers +Brian Buchanan Chris Wong Conrad D. Steenberg Dhruva Krishnamurthy @@ -14,6 +16,7 @@ Erik Rigtorp Frank Denis George Neill Gonzalo Diethelm +Ivo Danihelka Joe Thornber Jon Dyte Kamil Shakirov @@ -22,9 +25,11 @@ Martin Lucina Martin Sustrik Matus Hamorsky McClain Looney +Mikael Helbo Kjaer Pavel Gushcha Pavol Malosek Pieter Hintjens +Piotr Trojanek Steven McCoy Tamara Kustarova Tero Marttila @@ -56,3 +61,4 @@ Peter Busser Peter Lemenkov Robert Zhang Toralf Wittner + diff --git a/ChangeLog b/ChangeLog index c741998..e34c369 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,2231 +1,9649 @@ -0MQ version 2.0.7 (Beta) was released on 2010/06/04. +# Generated by Makefile. Do not edit. -Changes since 2.0.6: +commit ebf3089735329f0d083a992c98a9fd63b128346e +Author: Martin Sustrik +Date: Sat Sep 4 18:38:20 2010 +0200 -commit 5c97ff9a2eb3e55007fd90b5c3a1c433de7bc60c -Author: Martin Lucina -Date: Fri Jun 4 19:27:55 2010 +0200 + NEWS updated for 2.0.9 - More NEWS for 2.0.7 + NEWS | 12 ++++++++++++ + 1 files changed, 12 insertions(+), 0 deletions(-) -commit e8a9614aaeb45fc619eed2983f93edb744b4cef4 +commit 1e8451961e498abd1da61e64f5baf48890e1563e Author: Martin Lucina -Date: Fri Jun 4 19:20:37 2010 +0200 - - Update NEWS for 2.0.7 release +Date: Sat Sep 4 17:44:11 2010 +0200 -commit 9b8f902d72438752b00d4c1bb3887c40423777e0 -Author: Martin Sustrik -Date: Fri Jun 4 18:49:55 2010 +0200 + Update .gitignore - initial version of 2.0.7 NEWS + .gitignore | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) -commit baf659fde5136c20f879ef713ec3effc34854ba6 +commit 32fd916c731901944e01c0cb445d32ce0d162693 Author: Martin Lucina -Date: Fri Jun 4 17:12:51 2010 +0200 +Date: Sat Sep 4 17:42:33 2010 +0200 - Move news from ChangeLog into NEWS + doc: Add 0MQ version to XHTML11 backend footer + + Thanks to Matt Weinstein for the suggestion. -commit 94dfe1368ac1cd4a456c86b8fc800d7c3911cfd3 + doc/asciidoc.conf | 14 ++++++++++++++ + 1 files changed, 14 insertions(+), 0 deletions(-) + +commit a6d3629fb4f87c018c7ba2f8c4ff69f7eda07790 Author: Martin Lucina -Date: Fri Jun 4 17:02:16 2010 +0200 +Date: Sat Sep 4 17:26:36 2010 +0200 - Fix MINGW build + build: Generate ChangeLog in 'make dist', ZIP automatically - Mingw seems to define NOMINMAX, so don't redefine it if already defined - -commit cf048bb1f8a665370d9e39aee2a7363327911b08 -Author: Martin Sustrik -Date: Fri Jun 4 16:29:36 2010 +0200 + Change 'make dist' to generate the Git ChangeLog file, that way it doesn't + have to be manually updated nor kept in Git which causes unnecessary work. + + Also change 'make dist' to invoke 'dist-zip' automatically to generate a + ZIP as well as a .tar.gz. + + Thanks to http://live.gnome.org/Git/ChangeLog for the inspiration to + automatically generate ChangeLog. - platform.hpp for MSVC contains only very basic stuff + ChangeLog | 2724 ---------------------------------------------------------- + Makefile.am | 20 +- + configure.in | 2 +- + 3 files changed, 17 insertions(+), 2729 deletions(-) -commit 927993863eda325c66fc678810eeadd0c744cdf2 +commit db7fe858d6356988fb9a9270c235178e523b2370 Author: Martin Sustrik -Date: Fri Jun 4 15:47:22 2010 +0200 +Date: Sat Sep 4 17:12:08 2010 +0200 - MSVC build fixed + Broken device numbering reverted -commit 621d7415b3cdee1f79787e2961f113b00d237615 -Author: Martin Lucina -Date: Fri Jun 4 15:35:14 2010 +0200 + include/zmq.h | 64 ++++++++++++++++++++++++++++---------------------------- + 1 files changed, 32 insertions(+), 32 deletions(-) - Fix Solaris/NetBSD breakage in atomic_ptr.hpp +commit 10227899b1ccdaecf709fbfc7b765e147baf3080 +Author: Dhammika Pathirana +Date: Fri Aug 27 18:06:37 2010 +0200 -commit 67ca7dcbe6b072b74a112ce4df4529cda82c0f13 -Author: Martin Sustrik -Date: Fri Jun 4 15:24:06 2010 +0200 + assert on malformed messages - obsolete API elements removed - this commit breaks backward compatibility + src/zmq_decoder.cpp | 7 +++++++ + 1 files changed, 7 insertions(+), 0 deletions(-) -commit d844a90690af357988b1c5ba027c740d4182d753 -Author: Martin Lucina -Date: Fri Jun 4 15:00:31 2010 +0200 +commit c2f3b3b4458187085e148850068f9719c2567614 +Author: Jon Dyte +Date: Fri Aug 27 06:59:55 2010 +0200 - zmqd: Removing for now, not ready for 2.0.7 + forwarder and streamer devices handle multi-part messages correctly -commit 606c77368cccd2a277437b5de8764772295fdf89 -Author: Martin Lucina -Date: Fri Jun 4 14:48:49 2010 +0200 + src/forwarder.cpp | 17 ++++++++++++++--- + src/queue.cpp | 15 ++++++++------- + src/streamer.cpp | 17 ++++++++++++++--- + 3 files changed, 36 insertions(+), 13 deletions(-) - Move perf helper functions to perf/helpers.cpp +commit ae567be0c295d9c18da5ba4be4f8403cc844a9a3 +Author: Ivo Danihelka +Date: Thu Aug 26 12:14:53 2010 +0200 -commit 05b4a7ae787760d5c24e048612b786fa0283854a -Author: Martin Lucina -Date: Fri Jun 4 13:58:49 2010 +0200 + improved null checking in zmq_term - Remove PGM examples from build + AUTHORS | 1 + + src/zmq.cpp | 7 ++++--- + 2 files changed, 5 insertions(+), 3 deletions(-) -commit 4d65d7a5a98cbb95430a5b02706ab87d3fa0f56c +commit 51a84c15ded2d70985c9d971ebdf3f3c9c18d590 Author: Martin Lucina -Date: Fri Jun 4 13:53:40 2010 +0200 +Date: Sat Sep 4 16:12:33 2010 +0200 - Documentation: zmq_tcp(7) update for 2.0.7 + zmq::select_t, zmq_poll(): assert if FD_SETSIZE reached - Document MORE bit in flags field - -commit 7fc15c21a17cfa58e60e4a513360cb12b542a570 -Author: Martin Lucina -Date: Thu Jun 3 14:36:44 2010 +0200 + Ensure that 0MQ does not attempt to call select() on more than FD_SETSIZE + file descriptors. - Documentation: zmq_cpp(7) update for 2.0.7 + src/select.cpp | 4 ++++ + src/zmq.cpp | 4 ++++ + 2 files changed, 8 insertions(+), 0 deletions(-) -commit 10f4bf3f35ab3da05fe5ca8a28cd131e3781249f +commit f850190c16df0d55015dc15cd5c0c50289db5dda Author: Martin Lucina -Date: Thu Jun 3 14:15:05 2010 +0200 +Date: Sat Sep 4 16:10:14 2010 +0200 - Documentation: Cosmetic changes + zmq.h: Fix typo and use of C99 comment -commit 8076fd1a3abece7dc91c2b2309dd0ecba57e882f + include/zmq.h | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +commit ee3444ff93888a052cd1ba48aa22892f7077a7a0 Author: Martin Lucina -Date: Thu Jun 3 14:08:36 2010 +0200 +Date: Sat Sep 4 16:00:26 2010 +0200 - Documentation: zmq_errno(3) + doc: Update zmq_socket(3) for 2.0.8 API changes -commit 7c9b09bc511236c8cc5f6cea7623a8b98fedf302 + doc/zmq_socket.txt | 40 ++++++++++++++++++++++------------------ + 1 files changed, 22 insertions(+), 18 deletions(-) + +commit 26b39bcdef390f45bb316c4488b51470c27086e2 Author: Martin Lucina -Date: Wed Jun 2 18:36:34 2010 +0200 +Date: Sat Sep 4 15:55:41 2010 +0200 - Documentation: Flow control, zmq_socket(3) + Revert "Added man page for the zmq_device method" - Mostly Flow control and additions to zmq_socket(3) - Removed/changed lots of text regarding message queues - More fixes for 2.0.7 changes + This reverts commit f575f252c99c99d3622f313d6bbad6635197a1e4. + + Conflicts: + + doc/zmq_device.txt -commit 9d00d300b0d6b45d2954792540cc95a0c3fb6a01 + doc/zmq_device.txt | 99 ---------------------------------------------------- + 1 files changed, 0 insertions(+), 99 deletions(-) + +commit 8800ac7de5d50426b0459ebea4568bb77954ea3d Author: Martin Lucina -Date: Tue Jun 1 22:22:50 2010 +0200 +Date: Sat Sep 4 15:55:19 2010 +0200 - Documentation: zmq_init() API changes for 2.0.7 + Revert "Added clean target that deletes generated man pages" + + This reverts commit 6cd90304476c1c6873d67068009def63e520b848. -commit 8ba1d3c8ed32b39bb1133330d496587d96020e7e -Author: Martin Lucina -Date: Tue Jun 1 22:22:29 2010 +0200 + doc/Makefile.am | 7 ++----- + 1 files changed, 2 insertions(+), 5 deletions(-) - Documentation: zmq_term() and ETERM for 2.0.7 +commit 32baeb610e779862b58c56f66571b01599743a9e +Author: Martin Lucina +Date: Sat Sep 4 15:55:11 2010 +0200 -commit 74a03dfd7dbb762be5d50eca4df214f8825ad44a -Merge: 99e6179 8a77135 + Revert "Various changes to documentation project:" + + This reverts commit 77a3c36ff1f11215229a4efdb821a3cb83a9d6fc. + + doc/asciidoc.conf | 15 ------ + doc/zmq.txt | 19 +++++++ + doc/zmq_bind.txt | 9 +++- + doc/zmq_close.txt | 4 ++ + doc/zmq_connect.txt | 4 ++ + doc/zmq_cpp.txt | 4 ++ + doc/zmq_deviced.txt | 123 --------------------------------------------- + doc/zmq_errno.txt | 4 ++ + doc/zmq_forwarder.txt | 4 ++ + doc/zmq_getsockopt.txt | 4 ++ + doc/zmq_init.txt | 4 ++ + doc/zmq_inproc.txt | 4 ++ + doc/zmq_ipc.txt | 4 ++ + doc/zmq_msg_close.txt | 4 ++ + doc/zmq_msg_copy.txt | 4 ++ + doc/zmq_msg_data.txt | 4 ++ + doc/zmq_msg_init.txt | 4 ++ + doc/zmq_msg_init_data.txt | 4 ++ + doc/zmq_msg_init_size.txt | 4 ++ + doc/zmq_msg_move.txt | 4 ++ + doc/zmq_msg_size.txt | 4 ++ + doc/zmq_pgm.txt | 5 ++- + doc/zmq_poll.txt | 4 ++ + doc/zmq_queue.txt | 4 ++ + doc/zmq_recv.txt | 4 ++ + doc/zmq_send.txt | 4 ++ + doc/zmq_setsockopt.txt | 4 ++ + doc/zmq_socket.txt | 31 ++++++------ + doc/zmq_streamer.txt | 4 ++ + doc/zmq_strerror.txt | 4 ++ + doc/zmq_tcp.txt | 4 ++ + doc/zmq_term.txt | 5 ++ + doc/zmq_version.txt | 4 ++ + 33 files changed, 155 insertions(+), 156 deletions(-) + +commit 4cb6dbd52f5ab65350a448ceb07ff77eacc2b84c Author: Martin Lucina -Date: Tue Jun 1 21:49:50 2010 +0200 +Date: Sat Sep 4 15:55:03 2010 +0200 - Merge branch 'master' of github.com:sustrik/zeromq2 + Revert "Reverting 'clean' change to Makefile" + + This reverts commit c51de31f2fd31f782e419bfac2fb8d40d689f3e3. -commit 8a771350795dc4f9aae6a89534f1391d7b63b10c -Author: Martin Sustrik -Date: Tue Jun 1 10:42:55 2010 +0200 + doc/Makefile.am | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) - Pieter Hintjens added to 'authors' section +commit 48d3e2d6607499b8c5feb1258c9bd40519923c69 +Author: Martin Lucina +Date: Sat Sep 4 15:54:53 2010 +0200 -commit 0b0716661e99a2b55151650ec94cd5fd268d0334 -Author: Pieter Hintjens -Date: Tue Jun 1 10:40:12 2010 +0200 + Revert "Removed empty man pages for old standalone devices" + + This reverts commit 6ff193999d96487f7aa7e578980ab5554e61d8dc. - multiple vulnerabilities in xml paerser fixed + doc/asciidoc.conf | 2 +- + doc/zmq_forwarder.txt | 29 +++++++++++++++++++++++++++++ + doc/zmq_queue.txt | 29 +++++++++++++++++++++++++++++ + doc/zmq_streamer.txt | 29 +++++++++++++++++++++++++++++ + 4 files changed, 88 insertions(+), 1 deletions(-) -commit 99e6179edd9e3552fcdb7f4fce3306cd174f3359 +commit 6c393f53e28f41118eed9a8d034d8d46f2555572 Author: Martin Lucina -Date: Mon May 31 17:24:50 2010 +0200 +Date: Sat Sep 4 15:54:34 2010 +0200 - Documentation updates + Revert "Further cleanups on reference manual" - The option_value parameter for zmq_getsockopt is in and out. - -commit b4f3e0acd72de97bc5ef46ea74d9cd7ed7f9efc2 + This reverts commit 13f3481e127a6b2390e847af6b01ee88f1b4ae61. + + Conflicts: + + doc/zmq_device.txt + doc/zmq_tcp.txt + + doc/zmq.txt | 22 +++++++++++------ + doc/zmq_bind.txt | 13 +++------- + doc/zmq_connect.txt | 13 +++------- + doc/zmq_device.txt | 60 +++++++++++------------------------------------ + doc/zmq_deviced.txt | 50 +++++++++++---------------------------- + doc/zmq_getsockopt.txt | 2 +- + doc/zmq_pgm.txt | 4 +- + doc/zmq_poll.txt | 4 +- + doc/zmq_setsockopt.txt | 2 +- + doc/zmq_tcp.txt | 8 +++--- + 10 files changed, 60 insertions(+), 118 deletions(-) + +commit 6647e61243fdfbdc600ef3bfbd15b7c2ca6e853e Author: Martin Lucina -Date: Mon May 31 17:21:51 2010 +0200 +Date: Sat Sep 4 15:51:40 2010 +0200 - Documentation updates + Revert "Small improvements to zmq_device(3) page" - Clarify multi-part messages + This reverts commit 96bcc9e6cf73781c31042278eb960c0363a78805. -commit 7bbe754cb4987669d4273ec37f5f50d29b9931df + doc/zmq_device.txt | 32 ++++++++++---------------------- + 1 files changed, 10 insertions(+), 22 deletions(-) + +commit 83d253d72d4fe83f4a001a7cfb4059ccc52b04e0 Author: Martin Lucina -Date: Mon May 31 17:21:12 2010 +0200 +Date: Sat Sep 4 15:51:09 2010 +0200 - Documentation updates + Revert "Removed wip zmq_deviced from master" - Clarify pipeline and exclusive pair patterns + This reverts commit de0173754cc82f6c08875a892892f043a804554c. -commit 8a4df431de872623c761fdeb291748d3d153b8d1 -Author: Martin Lucina -Date: Mon May 31 14:18:51 2010 +0200 + doc/Makefile.am | 2 +- + doc/zmq.txt | 4 +- + doc/zmq_deviced.txt | 145 +++++++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 149 insertions(+), 2 deletions(-) - Documentation updates +commit 14853c2db528b3fd6eed84786053549e71f61bb7 +Author: Jon Dyte +Date: Thu Sep 2 07:52:02 2010 +0200 + + Prior to this patch prefix_tree asserts. - Add getsockopt to Makefile.am + This is because as it adds the 255th element at a node it attempts to calculate + the count member var which is an unsigned char via count = (255 -0) + 1; and + pass the result to realloc. Unfortunately the result is zero and realloc returns + null; the prefix_tree asserts. I have fixed it by making the count an unsigned + short. -commit dfbaf4f9668f0493649d6ba1328cced64e5340b0 -Author: Martin Lucina -Date: Mon May 31 14:18:37 2010 +0200 + src/prefix_tree.cpp | 12 ++++++------ + src/prefix_tree.hpp | 2 +- + 2 files changed, 7 insertions(+), 7 deletions(-) - Documentation updates - - Multi-part messages +commit 8ec0743c7551de3c76126d080961cece732370f1 +Author: Bernd Melchers +Date: Thu Sep 2 07:33:57 2010 +0200 -commit 0fa73b039462c1754d407de85306904e9b0c73be -Author: Martin Lucina -Date: Mon May 31 14:13:41 2010 +0200 + Fix for signaler_t on HP-UX and AIX platforms - Documentation updates + AUTHORS | 1 + + src/signaler.cpp | 6 +++--- + 2 files changed, 4 insertions(+), 3 deletions(-) + +commit d5b6f680a54c682da066e769c46075a4bc57bd55 +Author: Martin Sustrik +Date: Thu Sep 2 07:26:14 2010 +0200 + + Mikael Kjaer added to AUTHORS + + AUTHORS | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +commit 59315ebdcb565d23ba78ba0ca8581cef465fc9bd +Author: Mikael Helbo Kjær +Date: Wed Sep 1 18:39:12 2010 +0200 + + Erasure of retired fd's in select.cpp causes an assertion in MSVC 2008 STL - Add getsockopt to index + I was hitting an issue with an SCL enabled STL library in connection with the + way select_t::loop was erasing retired fd's. The problem as identified by the + SCL assertion was that by the time the iterator given to the erase method was + called it was considered invalid by the library. I am not sure this isn't just + a "quirk" of the MSVC STL library as the other code looks valid to me as well. -commit eb9ff1e77977c6199c0a0439f4dd35fa39f3bd3c + src/select.cpp | 11 +++++++---- + 1 files changed, 7 insertions(+), 4 deletions(-) + +commit 99ddfa7d65a4556bdbb68fd1831e2de73595f0c7 +Author: Martin Sustrik +Date: Wed Sep 1 18:22:03 2010 +0200 + + maint: will become 2.0.9 + + builds/msvc/platform.hpp | 2 +- + configure.in | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 1e089f7163c8c59b60b39742ee4bc40e1ca843c5 Author: Martin Lucina -Date: Mon May 31 14:12:27 2010 +0200 +Date: Wed Aug 25 13:11:20 2010 +0200 - Documentation updates - - Multi-part messages + Update ChangeLog for v2.0.8 -commit 8becacf82c950af951f477e3dc3f7ac79e110fc1 + ChangeLog | 493 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 files changed, 493 insertions(+), 0 deletions(-) + +commit c9076c5d8b9b69f4e1bf797127735a563b712eb9 Author: Martin Lucina -Date: Mon May 31 12:53:40 2010 +0200 +Date: Wed Aug 25 12:50:16 2010 +0200 - Documentation updates + Basic documentation for XREQ/XREP socket types - Add zmq_getsockopt(3), clean up zmq_setsockopt(3). + Add some basic documentation for XREQ/XREP socket types, including + a brief description of the most common use case (REQ -> XREP) and (XREQ -> + REP). -commit be6019abd1ac6fe11c9c51dbadf9c72b37349c2a -Author: Martin Sustrik -Date: Mon May 31 09:28:36 2010 +0200 + doc/zmq_socket.txt | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 files changed, 59 insertions(+), 0 deletions(-) - issue 28. - SNDMORE/ RCVMORE is dropping every other message +commit 6d275a8788ad06dda451845402877010f114d6d4 +Merge: 98bea86 d788c1f +Author: Pieter Hintjens +Date: Wed Aug 25 12:09:55 2010 +0200 -commit 2e9be56a4059cf230f6aa92eb1c71db5f1200b8e -Author: Martin Sustrik -Date: Mon May 31 06:17:58 2010 +0200 + Updated NEWS for stable 2.0.8 release - memory leak in REQ socket fixed +commit 98bea86240c3e2cb0c1c9832f5660994a0a11f34 +Author: Pieter Hintjens +Date: Wed Aug 25 11:43:52 2010 +0200 -commit 3bb60da0d085b1089ddec4617fcd40f2cda88567 -Merge: 04fcd4d da37c45 -Author: Martin Sustrik -Date: Mon May 31 06:11:42 2010 +0200 + Updated NEWS for stable 2.0.8 release - Merge branch 'master' of git@github.com:sustrik/zeromq2 + NEWS | 54 ++++++++++++++++++++++++++++++++++++++++++++++++------ + 1 files changed, 48 insertions(+), 6 deletions(-) -commit 04fcd4d55b3b01e75d1d0d547987841811a2d610 -Author: Martin Sustrik -Date: Mon May 31 06:11:20 2010 +0200 +commit d788c1f7e49305976f3e1d0540c5671c47348880 +Author: Pieter Hintjens +Date: Wed Aug 25 11:43:52 2010 +0200 - memory leak in REP socket fixed + Updated NEWS for stable 2.0.8 release -commit da37c45b0c7200eea96118952e671972b71df4ce + NEWS | 47 +++++++++++++++++++++++++++++++++++++++++------ + 1 files changed, 41 insertions(+), 6 deletions(-) + +commit c06a3cc5101a36bf70c593937374371cafbacfc3 Author: Martin Lucina -Date: Fri May 28 01:38:43 2010 +0200 +Date: Wed Aug 25 11:24:24 2010 +0200 - Clarify zmq_bind/zmq_connect - - Use the term 'endpoint' correctly, and drop the nonsense about local/remote addresses which doesn't clearly explain what is going on + Update version number to 2.0.8 -commit 74f1a4a579d3b09b3420092d9f076827be31c4e7 + builds/msvc/platform.hpp | 2 +- + configure.in | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit b66dd7afd20b82668a3d7756900c91680bd1d91e Author: Martin Lucina -Date: Fri May 28 00:55:04 2010 +0200 +Date: Wed Aug 25 09:50:45 2010 +0200 - RPM packaging cleanups + zmq_stopwatch_stop: Don't return EFAULT - - ditch -utils package - - add descriptions from Debian packaging + Function returning unsigned long int cannot return (-1) -commit b4cc7b97ecaf743f3259f9df7d687558892b8a72 -Author: Mikko Koppanen -Date: Fri Apr 16 10:26:22 2010 +0100 + src/zmq.cpp | 4 ---- + 1 files changed, 0 insertions(+), 4 deletions(-) - dist-hook for copying zeromq.spec to top-level +commit 2b2accb8bf574bfb7d85893696f477d5bc6ca272 +Author: Pieter Hintjens +Date: Sat Aug 21 15:47:10 2010 +0200 -commit 8bd3f743f50a61355b6cf18046d59c7d0289836b -Author: Mikko Koppanen -Date: Fri Apr 16 00:01:13 2010 +0100 + Added calls to zmq_msg_close in examples - Import redhat packaging + doc/zmq_recv.txt | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) -commit 5219e4ce8f9aa082c5f91e248a9f66639c69727d -Author: Martin Lucina -Date: Fri May 28 00:49:13 2010 +0200 +commit c52d1f2d47ac93e391ff707b50245aa33d7e8323 +Author: Pieter Hintjens +Date: Sat Aug 21 13:46:03 2010 +0200 - Clarify socket types in documentation, reinstate ZMQ_PAIR + Fixed example for multipart zmq_recv() -commit 8408ae066dce123fc93e4f53dbadb1f60b7f2e8a -Author: Martin Sustrik -Date: Tue May 25 15:03:57 2010 +0200 + doc/zmq_recv.txt | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) - LWM is computed rather than explicitly specified by user +commit 87612be91d4ff5252613196f061bd89d3bce25ec +Merge: de0035b 5be54b9 +Author: Pieter Hintjens +Date: Fri Aug 20 01:06:34 2010 +0200 -commit f34a468a263c7b4013a267297ee7f121e12dfb9d -Author: Martin Sustrik -Date: Tue May 25 10:57:54 2010 +0200 + Merge branch '46_device_robustness' - coding style fixed in zmqd +commit de0035b6d9fc1c5423d10fbac468b0e17188510f +Author: Pieter Hintjens +Date: Thu Aug 19 14:31:04 2010 +0200 -commit 7773fdddfb357145cb15faaa5228fb3b2d0f6f78 -Merge: 091e92a 89783c3 -Author: Martin Sustrik -Date: Thu May 20 18:02:34 2010 +0200 + Fixed git URL in README - Merge branch 'master' of git@github.com:sustrik/zeromq2 + README | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) -commit 091e92a11dec353e674cbacbf2455a48bdb4e01d +commit 7aba2d10338727b030c3a9ff4ec34f7086ea5023 Author: Martin Sustrik -Date: Thu May 20 18:01:58 2010 +0200 +Date: Wed Aug 18 12:00:26 2010 +0200 - Pieter Hintjens added to AUTHORS file + documentation leftover from v2.0.6 cleaned in zmq(7) -commit 89783c37d2b8a7b5519eab7922b460449aa0bf3f -Author: Martin Sustrik -Date: Wed May 19 06:31:57 2010 +0200 + doc/zmq.txt | 3 +-- + 1 files changed, 1 insertions(+), 2 deletions(-) - incomplete messages can be stored in ypipe +commit de0173754cc82f6c08875a892892f043a804554c +Author: Pieter Hintjens +Date: Wed Aug 11 21:12:10 2010 +0200 -commit f40ce4e500d32b4240395e09e0ce3359734f0189 -Author: Jon Dyte -Date: Sat May 15 12:37:45 2010 +0200 + Removed wip zmq_deviced from master - single 0MQ daemon (zmqd) - initial version + doc/Makefile.am | 2 +- + doc/zmq.txt | 4 +- + doc/zmq_deviced.txt | 145 --------------------------------------------------- + 3 files changed, 2 insertions(+), 149 deletions(-) -commit 6705a3d5807542ee2ed8a1ef6e3d9f769e5d5a93 -Author: Steven McCoy -Date: Thu May 13 12:43:58 2010 +0200 +commit 5be54b912029381736ee8b8798f95cc9a2544a70 +Author: Pieter Hintjens +Date: Wed Aug 11 17:05:19 2010 +0200 - some more sanity checks in pgm_socket + 46 - Devices vulnerable to invalid messages + + http://github.com/zeromq/zeromq2/issues#issue/46 + Invalid messages are now discarded silently, instead of causing an assertion + failure. -commit ff9d3985556aa58a5d120a3eb72867c7ebea924d -Merge: 56262d7 f6c1c97 -Author: Martin Sustrik -Date: Thu May 13 12:41:39 2010 +0200 + src/xrep.cpp | 9 ++++++--- + 1 files changed, 6 insertions(+), 3 deletions(-) - Merge branch 'master' of git@github.com:sustrik/zeromq2 +commit e74d350068e8a7d2becbd791f19e2c1ef20afae5 +Author: Pieter Hintjens +Date: Wed Aug 11 17:00:12 2010 +0200 -commit 56262d7ba79a9ba19fc1b89fdc07bca3894062f2 -Author: Steven McCoy -Date: Thu May 13 12:41:20 2010 +0200 + Fixed (un)signed type errors in get/setsockopt manual - some more sanity checks in pgm_socket + doc/zmq_getsockopt.txt | 10 +++++----- + doc/zmq_setsockopt.txt | 10 +++++----- + 2 files changed, 10 insertions(+), 10 deletions(-) -commit f6c1c972428f15356af09d6922910ef44d1f6cb3 -Merge: 52ef3f3 127cb89 -Author: Martin Lucina -Date: Wed May 12 16:49:49 2010 +0200 +commit a12f446c4c160e6fb969c35ff01578e5f0965ecc +Author: Pieter Hintjens +Date: Tue Aug 10 12:36:56 2010 +0200 - Merge branch 'master' of github.com:sustrik/zeromq2 + Modified zmq_tcp(7) to emphasize wildcard interfaces -commit 52ef3f3f2c6f3ba1717b2e729556df713c022636 -Author: Martin Lucina -Date: Wed May 12 16:46:59 2010 +0200 + doc/zmq_tcp.txt | 10 +++++----- + 1 files changed, 5 insertions(+), 5 deletions(-) - Revert commit 7cb076e, atomic ops cleanup +commit b6cdd369e328ceca2c46758d92ad8ea6a1f59cd7 +Author: Pieter Hintjens +Date: Sun Aug 8 11:43:32 2010 +0200 + + Added error checking (EFAULT) for null arguments - Reverted to using atomic.h on NetBSD - Removed GNU builtins (see http://lists.zeromq.org/pipermail/zeromq-dev/2010-May/003485.html) - Removed SPARC native atomic ops as they are untested and have been commented out for years - Add "memory" to asm clobber for X86 atomic_counter::sub() + * Fixed zmq_term, zmq_socket, zmq_close, zmq_setsockopt, + * zmq_getsockopt, zmq_bind, zmq_connect, zmq_send, + * zmq_recv, zmq_poll, zmq_device, zmq_stopwatch_stop + * Updated Reference Manual for these methods + + doc/zmq_bind.txt | 2 + + doc/zmq_close.txt | 3 +- + doc/zmq_connect.txt | 2 + + doc/zmq_device.txt | 13 ++++++++- + doc/zmq_getsockopt.txt | 2 + + doc/zmq_poll.txt | 2 + + doc/zmq_recv.txt | 2 + + doc/zmq_send.txt | 2 + + doc/zmq_setsockopt.txt | 2 + + doc/zmq_socket.txt | 3 +- + doc/zmq_term.txt | 3 +- + src/zmq.cpp | 63 ++++++++++++++++++++++++++++++++++++----------- + 12 files changed, 79 insertions(+), 20 deletions(-) + +commit 677b3d906acc97c26855bdc31126492878ad6292 +Author: Pieter Hintjens +Date: Sat Aug 7 20:55:07 2010 +0200 + + Added not-null assertions on pointer arguments in C API functions + * zmq_term + * zmq_socket + * zmq_close + * zmq_setsockopt + * zmq_getsockopt + * zmq_bind + * zmq_connect + * zmq_send + * zmq_recv + * zmq_poll + * zmq_device + * zmq_stopwatch_stop + + src/zmq.cpp | 15 +++++++++++++++ + 1 files changed, 15 insertions(+), 0 deletions(-) + +commit b579aa9510fe6897735ba2aae5db399ef89ad573 +Merge: 6d35e82 2100a91 +Author: Martin Lucina +Date: Fri Aug 6 12:01:40 2010 +0200 -commit 127cb89ac1271bf85798294d450509b7c23019bd -Author: Martin Sustrik -Date: Wed May 12 16:46:07 2010 +0200 + Merge branch 'master' of github.com:zeromq/zeromq2 - MAINTAINERS file added +commit 6d35e82db4178b936b33c2eaa6a9f4a2b597e2f3 +Author: Martin Lucina +Date: Fri Aug 6 12:00:57 2010 +0200 -commit 8e5ac100c95e02ef60aa827b4199002f324617ed -Merge: 714a8d5 9fbb914 -Author: Martin Sustrik -Date: Wed May 12 12:45:38 2010 +0200 + Fix uninitialized use of nbytes in signaler fix - Merge branch 'master' of git@github.com:sustrik/zeromq2 + src/signaler.cpp | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) -commit 714a8d50a03e773320a02247847c58020c96e867 -Author: Brett Cameron -Date: Wed May 12 12:45:12 2010 +0200 +commit 2100a9133312f7feecd22c4f809c8f3912c93274 +Merge: 78e9ee8 16b43e6 +Author: Pieter Hintjens +Date: Fri Aug 6 11:09:29 2010 +0200 - fixes for OpenVMS + Merge branch 'master' of github.com:zeromq/zeromq2 -commit 9fbb9141a8895ac83e8051ac568223a9e57a278d +commit 16b43e657b44902b3b45fbb01228c813cf27ad39 +Merge: 9ac2ff4 96bcc9e Author: Martin Lucina -Date: Mon May 10 16:39:09 2010 +0200 +Date: Thu Aug 5 23:41:49 2010 +0200 - Update historic include paths + Merge branch 'master' of github.com:zeromq/zeromq2 -commit 9d16a415cbfd33f89d2f5afd96ed7cd34a21a634 +commit 9ac2ff449ccfb71cb1f3c9d7b2cf67c440539228 Author: Martin Lucina -Date: Mon May 10 16:32:10 2010 +0200 +Date: Thu Aug 5 23:40:30 2010 +0200 - OpenPGM build flags cleanup + zmq::signaler_t: Restart syscalls on EINTR - Removed various exotic -Wxxx flags in the OpenPGM build to get us to what is actually - required and reasonable; added in -fno-strict-aliasing since OpenPGM generates lots - of warnings about dereferencing typed-punned pointers; removed the OpenPGM extra flags - from libzmq_la_CXXFLAGS and left them only in libzmq_la_CFLAGS so that our code - is not built with the OpenPGM extra flags. - -commit 2cf9f04a460473ea10e901e68e66596583d0d286 -Author: Martin Lucina -Date: Mon May 10 16:24:53 2010 +0200 + This patch restarts the send() or recv() inside zmq::signaler_t if the call fails + due to EINTR. - Update OpenPGM to version 2.1.26 + src/signaler.cpp | 22 +++++++++++++++++----- + 1 files changed, 17 insertions(+), 5 deletions(-) -commit a25414e55caa975185ac6534c40bb601e5c38a9a -Author: Martin Sustrik -Date: Sun May 9 16:59:15 2010 +0200 +commit 78e9ee84bf0e89eeb7134771b1f501ea0f9ccd9d +Author: Pieter Hintjens +Date: Thu Aug 5 18:49:49 2010 +0200 - Fix in zmq_poll (Windows version) + Fixed MSVC project for PULL/PUSH -commit 4d33c43913dd640853cec75ce21080c2b33d8526 -Author: Martin Sustrik -Date: Fri May 7 21:53:55 2010 +0200 + builds/msvc/libzmq/libzmq.vcproj | 8 ++++---- + 1 files changed, 4 insertions(+), 4 deletions(-) - caution about zmq_msg_init_* functions added to the docs +commit 96bcc9e6cf73781c31042278eb960c0363a78805 +Author: Pieter Hintjens +Date: Wed Aug 4 17:06:38 2010 +0200 -commit 4a3b857c4cf35261751d562ad7e4acc5ecf58be0 -Author: Martin Sustrik -Date: Fri May 7 11:08:50 2010 +0200 + Small improvements to zmq_device(3) page + + * Clarified broker model and proxy model + * Added example of proxy model - commands not processed immediatelly in some scenarios; fixed + doc/zmq_device.txt | 32 ++++++++++++++++++++++---------- + 1 files changed, 22 insertions(+), 10 deletions(-) -commit 36b044a0d5a9918841839edf12767b31bfec36a0 -Author: Martin Sustrik -Date: Fri May 7 09:21:15 2010 +0200 +commit 13f3481e127a6b2390e847af6b01ee88f1b4ae61 +Author: Pieter Hintjens +Date: Wed Aug 4 16:05:25 2010 +0200 - ZMQ_PAIR socket removed from the documentation as it is unfinished yet + Further cleanups on reference manual + + - fixed unwrapped text in new man pages + - fixed over-long lines in older pages, where possible + - removed reference to old standalong devices from index page + - added refernce to new zmq_device[3] documented from index page + - some minor spelling corrections + + doc/zmq.txt | 22 ++++++------------ + doc/zmq_bind.txt | 13 +++++++--- + doc/zmq_connect.txt | 13 +++++++--- + doc/zmq_device.txt | 56 ++++++++++++++++++++++++++++++++++++----------- + doc/zmq_deviced.txt | 50 ++++++++++++++++++++++++++++++------------ + doc/zmq_getsockopt.txt | 2 +- + doc/zmq_pgm.txt | 4 +- + doc/zmq_poll.txt | 4 +- + doc/zmq_setsockopt.txt | 2 +- + doc/zmq_tcp.txt | 11 +++++---- + 10 files changed, 117 insertions(+), 60 deletions(-) + +commit 6ff193999d96487f7aa7e578980ab5554e61d8dc +Author: Pieter Hintjens +Date: Wed Aug 4 15:07:15 2010 +0200 + + Removed empty man pages for old standalone devices + + doc/asciidoc.conf | 2 +- + doc/zmq_forwarder.txt | 29 ----------------------------- + doc/zmq_queue.txt | 29 ----------------------------- + doc/zmq_streamer.txt | 29 ----------------------------- + 4 files changed, 1 insertions(+), 88 deletions(-) + +commit c51de31f2fd31f782e419bfac2fb8d40d689f3e3 +Author: Pieter Hintjens +Date: Wed Aug 4 14:56:58 2010 +0200 + + Reverting 'clean' change to Makefile + + doc/Makefile.am | 2 -- + 1 files changed, 0 insertions(+), 2 deletions(-) + +commit 77a3c36ff1f11215229a4efdb821a3cb83a9d6fc +Author: Pieter Hintjens +Date: Wed Aug 4 14:43:33 2010 +0200 + + Various changes to documentation project: + + * Added documentation for zmq_deviced, which we're developing + * Created consistent page footer in documentation template + * Page footer notes doc authors and copyright statement + + doc/asciidoc.conf | 15 ++++++ + doc/zmq.txt | 19 ------- + doc/zmq_bind.txt | 9 +--- + doc/zmq_close.txt | 4 -- + doc/zmq_connect.txt | 4 -- + doc/zmq_cpp.txt | 4 -- + doc/zmq_deviced.txt | 123 +++++++++++++++++++++++++++++++++++++++++++++ + doc/zmq_errno.txt | 4 -- + doc/zmq_forwarder.txt | 4 -- + doc/zmq_getsockopt.txt | 4 -- + doc/zmq_init.txt | 4 -- + doc/zmq_inproc.txt | 4 -- + doc/zmq_ipc.txt | 4 -- + doc/zmq_msg_close.txt | 4 -- + doc/zmq_msg_copy.txt | 4 -- + doc/zmq_msg_data.txt | 4 -- + doc/zmq_msg_init.txt | 4 -- + doc/zmq_msg_init_data.txt | 4 -- + doc/zmq_msg_init_size.txt | 4 -- + doc/zmq_msg_move.txt | 4 -- + doc/zmq_msg_size.txt | 4 -- + doc/zmq_pgm.txt | 5 +-- + doc/zmq_poll.txt | 4 -- + doc/zmq_queue.txt | 4 -- + doc/zmq_recv.txt | 4 -- + doc/zmq_send.txt | 4 -- + doc/zmq_setsockopt.txt | 4 -- + doc/zmq_socket.txt | 31 ++++++------ + doc/zmq_streamer.txt | 4 -- + doc/zmq_strerror.txt | 4 -- + doc/zmq_tcp.txt | 4 -- + doc/zmq_term.txt | 5 -- + doc/zmq_version.txt | 4 -- + 33 files changed, 156 insertions(+), 155 deletions(-) + +commit 6cd90304476c1c6873d67068009def63e520b848 +Author: Pieter Hintjens +Date: Wed Aug 4 14:42:21 2010 +0200 + + Added clean target that deletes generated man pages + + doc/Makefile.am | 7 +++++-- + 1 files changed, 5 insertions(+), 2 deletions(-) + +commit f575f252c99c99d3622f313d6bbad6635197a1e4 +Author: Pieter Hintjens +Date: Wed Aug 4 14:41:43 2010 +0200 + + Added man page for the zmq_device method + + doc/zmq_device.txt | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 files changed, 92 insertions(+), 0 deletions(-) + +commit 11a410b65827a3958fb5f417c29e95c1953a0b42 +Author: Pieter Hintjens +Date: Wed Aug 4 14:38:56 2010 +0200 + + Renamed ZMQ_UPSTREAM to ZMQ_PULL, and ZMQ_DOWNSTREAM to ZMQ_PUSH. Left the old + definitions as aliases, to be removed in release 3.0. Also renamed the source + files implementing these two socket types. This change does not break existing + applications nor bindings, but allows us to fix the documentation and user guide + now, rather than keeping the old (confusing) names. + + include/zmq.h | 61 ++++++++++++++++--------------- + src/Makefile.am | 8 ++-- + src/app_thread.cpp | 12 +++--- + src/downstream.cpp | 101 ---------------------------------------------------- + src/downstream.hpp | 61 ------------------------------- + src/pull.cpp | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++ + src/pull.hpp | 62 ++++++++++++++++++++++++++++++++ + src/push.cpp | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + src/push.hpp | 61 +++++++++++++++++++++++++++++++ + src/upstream.cpp | 98 -------------------------------------------------- + src/upstream.hpp | 62 -------------------------------- + 11 files changed, 364 insertions(+), 361 deletions(-) + +commit 544b36da68729daffefa8f40d2efed5945851a01 +Author: Martin Lucina +Date: Fri Jul 30 16:49:06 2010 +0200 -commit f60d891b2309cdc6f2cc1507a238cec85e4aa9e7 -Author: Martin Sustrik -Date: Thu May 6 10:33:01 2010 +0200 + XREQ: Correct behaviour on hitting ZMQ_HWM + + This reverts part of commit 84e0c7991a9b316ed571533abc628cc1175750a3 to get + correct ZMQ_HWM semantics with XREQ sockets: + + When sending a message to an XREQ socket, the underlying pipe is selected in + a round-robin fashion. If an underlying pipe is full it is skipped. If there + are no underlying pipes, or all underlying pipes are full then zmq_send() + shall block or return EAGAIN, depending on whether or not the call is blocking. + Messages are never dropped. - Issue 23. zmq_init() crashes on illegal numbers + src/xreq.cpp | 27 +++------------------------ + src/xreq.hpp | 3 --- + 2 files changed, 3 insertions(+), 27 deletions(-) -commit 64c58662b7f491f2a3c8cb684f27ea1d5c549552 -Author: Martin Sustrik -Date: Wed May 5 14:33:02 2010 +0200 +commit 66470b2c55d74fb137211f4264bbfc5e3f454534 +Author: Martin Hurton +Date: Mon Jul 26 12:24:00 2010 +0200 - MSVC build fixed + perf: fix typo -commit 835e893e54598ff474067cc68b787440baf6b05c -Author: Martin Sustrik -Date: Wed May 5 14:24:54 2010 +0200 + perf/local_thr.cpp | 2 +- + perf/remote_thr.cpp | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) - dispatcher_t class renamed to ctx_t +commit 10533a560b4af1d3dae63c87c737e25bbdb78998 +Author: Martin Hurton +Date: Wed Jul 14 18:31:17 2010 +0200 -commit 10f5334f2891b187ce57f38186cf977406097ab0 -Merge: 44dd005 3f5465a -Author: Martin Sustrik -Date: Wed May 5 13:03:56 2010 +0200 + pipe: check_read() should check for message delimiter - Merge branch 'master' of git@github.com:sustrik/zeromq2 + src/pipe.cpp | 27 ++++++++++++++++++++++----- + src/pipe.hpp | 3 +++ + src/ypipe.hpp | 11 +++++++++++ + 3 files changed, 36 insertions(+), 5 deletions(-) -commit 44dd005ff05431b05a8e04858a23784b252da870 -Author: Martin Sustrik -Date: Wed May 5 13:03:26 2010 +0200 +commit e1c596b37eef2c2c72c605d7bf4a5c97050add6b +Author: Martin Hurton +Date: Sat Jul 24 16:57:13 2010 +0200 - number of application threads to use 0MQ sockets is unlimited; app_threads parameter in zmq_init is unused and obsolete + Make sure lwm > 0 when hwm > 0 -commit 3f5465ada1b465ac0e360d0416b8f42b0fddfab0 -Author: Martin Sustrik -Date: Tue May 4 10:37:10 2010 +0200 + src/pipe.cpp | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) - Windows port fixed +commit 5b1a6a4bea1cebe860769f82702410f6c1d0ab1b +Author: Martin Lucina +Date: Wed Jul 21 17:33:40 2010 +0200 -commit 235ed3a3dcffb7c658cbc9253eae9de54db24533 -Author: Martin Sustrik -Date: Tue May 4 10:22:16 2010 +0200 + Issue 42 - getaddrinfo() fails - signaler transports commands per se rather than one-bit signals + src/ip.cpp | 7 ++----- + 1 files changed, 2 insertions(+), 5 deletions(-) -commit 8b9bd05726c3df56d7f437889abccba3cbbffdee +commit aedf3f808befd8cf32a16e34b907c60c79eabfd7 Author: Martin Sustrik -Date: Mon May 3 16:21:36 2010 +0200 +Date: Mon Jul 19 08:38:24 2010 +0200 - thread ID and dispatcher made private in object_t + EHOSTUNREACH is a valid return value from recv() -commit 84e0c7991a9b316ed571533abc628cc1175750a3 + src/tcp_socket.cpp | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 269904361b565efa54a106e3eda96091320439bd Author: Martin Sustrik -Date: Sun May 2 20:59:07 2010 +0200 +Date: Tue Jul 13 11:46:56 2010 +0200 - queue device fixed + minor comment clarification -commit 4a6bac1deaedb3c111c7e28b2933ed98367cb193 -Merge: acfd0f8 beb4da3 + src/tcp_connecter.cpp | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +commit da49e5a4dd4602bf893193a5e6e64af54695b51c Author: Martin Sustrik -Date: Fri Apr 30 04:54:10 2010 +0200 +Date: Tue Jul 13 07:57:29 2010 +0200 - Merge branch 'master' of git@github.com:sustrik/zeromq2 + devices exit in case of context termination -commit acfd0f8ca2d15111f35ae0034ed3ce130c96b910 -Author: Martin Sustrik -Date: Fri Apr 30 04:53:41 2010 +0200 + src/forwarder.cpp | 15 +++++++++++++-- + src/queue.cpp | 42 +++++++++++++++++++++++++++++++++++------- + src/streamer.cpp | 15 +++++++++++++-- + 3 files changed, 61 insertions(+), 11 deletions(-) - prefix in XREP recv'd message misses MORE flag +commit ca057c7db8dcb2384e2498c938f3d83f64b78a7d +Author: Martin Hurton +Date: Sat Jul 10 22:57:47 2010 +0200 -commit beb4da3c28cff501a33de34cec95ca110cd3084e -Author: Martin Sustrik -Date: Thu Apr 29 20:53:46 2010 +0200 + Fix identity generation for transient inproc connections - windows port fixed + src/socket_base.cpp | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) -commit ae93ed318a450d6d763a5f629d478467f7362b07 -Author: Martin Sustrik -Date: Thu Apr 29 20:34:48 2010 +0200 +commit 1f61c87ac527e2a75cabbce4ea4c5f916f4532e7 +Author: Martin Hurton +Date: Wed Jul 7 17:15:32 2010 +0200 - signaler rewritten in such a way that any number (>64) of threads can be used + issue 40 - nbytes != -1 (tcp_socket.cpp:216) -commit 1ffc6dd41f2e2ce45c67f3fe08780c5a09cf667d -Author: Martin Sustrik -Date: Thu Apr 29 18:03:54 2010 +0200 + src/tcp_socket.cpp | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) - eventfd-style signaling removed +commit fd707fedc59124ed627780efed081acf33f455d2 +Author: Martin Hurton +Date: Tue Jul 6 22:47:07 2010 +0200 -commit 37128b7b1aeed9ad2bf6816560b85b5f94dd5bec -Author: Martin Sustrik -Date: Thu Apr 29 17:31:57 2010 +0200 + issue 38 - Assertion failed: fetched (xrep.cpp:196) - fd_signaler_t renamed to signaler_t + src/xrep.cpp | 20 ++++++++++++-------- + src/xrep.hpp | 6 ++++++ + 2 files changed, 18 insertions(+), 8 deletions(-) -commit c193fd146661b39027c5e3fa0776dcdf8c6af5e2 -Author: Martin Sustrik -Date: Thu Apr 29 17:20:23 2010 +0200 +commit 805af8241d7450fe1e60174739a78325677897f6 +Author: Martin Lucina +Date: Wed Jun 30 16:23:07 2010 +0200 - lock-free polling removed; ZMQ_POLL flag removed + asciidoc.conf was missing from distribution tarball -commit 7cb076e56a18cb76c49f17bd34bc73c11e01b705 -Author: Steven McCoy -Date: Thu Apr 29 11:36:13 2010 +0200 + doc/Makefile.am | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) - Defer NetBSD atomic ops to GCC builtins. Revert Sun atomic ops #define. +commit 0ab65324195ad70205514d465b03d851a6de051c +Author: Pieter Hintjens +Date: Tue Jun 29 21:08:41 2010 +0200 -commit ad6fa9d0d4f1cf29ce63998d7efe337b1a784ef6 -Author: Martin Sustrik -Date: Tue Apr 27 17:36:00 2010 +0200 + Prevent socket reuse by second bind, on win32 - initial version of multi-hop REQ/REP + src/tcp_listener.cpp | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) -commit 1ad6ade0ed465030716ce720077f3aa31e6cd136 +commit 79a3d07c8587e840548791efc314b0184c584881 Author: Martin Sustrik -Date: Mon Apr 26 16:58:49 2010 +0200 +Date: Tue Jun 29 07:45:11 2010 +0200 MSVC build fixed -commit beffee92a8ec9e14cca21e5901970c4d03967c3d + src/msg_store.cpp | 17 +++++++++-------- + 1 files changed, 9 insertions(+), 8 deletions(-) + +commit ba91644fdb48cec97edc6965c4ca7ab564a3513f Author: Martin Sustrik -Date: Mon Apr 26 16:51:05 2010 +0200 +Date: Sat Jun 26 20:11:40 2010 +0200 - P2P renamed to PAIR + msg_store added to MSVC build -commit 7d9603d722c9c2752dccd0c51f470e68d0e0c48c -Author: Jon Dyte -Date: Sun Apr 25 15:04:23 2010 +0200 + builds/msvc/libzmq/libzmq.vcproj | 8 ++++++++ + src/msg_store.cpp | 2 ++ + 2 files changed, 10 insertions(+), 0 deletions(-) - Bug in zmq_queue fixed +commit 1dda8a2aaabd3b7705b0ecd67d6d9737d1978946 +Author: Pieter Hintjens +Date: Fri Jun 25 18:35:42 2010 +0200 -commit d524c4e15d3cfa21f265d2c21e8a76ac97bfee2d -Author: Martin Sustrik -Date: Fri Apr 16 09:53:09 2010 +0200 + Used more expressive variable names - fix of documentation typo + src/msg_store.cpp | 73 +++++++++++++++++++++++----------------------------- + 1 files changed, 32 insertions(+), 41 deletions(-) -commit 1c33941be9d564733c15fe0466906fdf0bbd46b8 -Merge: ea18d30 370cde0 -Author: Martin Sustrik -Date: Thu Apr 15 07:32:49 2010 +0200 +commit fca2e8e8cc30bcd134839f6d0f5f9963323dad2b +Author: Martin Hurton +Date: Mon Jun 21 15:06:51 2010 +0200 - Merge branch 'master' of git@github.com:sustrik/zeromq2 + Add SWAP support -commit ea18d30c209cb4e3f0dd0bc5e4380345e81b6fb6 -Author: Martin Sustrik -Date: Thu Apr 15 07:32:25 2010 +0200 + src/Makefile.am | 2 + + src/msg_store.cpp | 313 +++++++++++++++++++++++++++++++++++++++++++++++++++ + src/msg_store.hpp | 114 +++++++++++++++++++ + src/pipe.cpp | 114 +++++++++++++++---- + src/pipe.hpp | 29 ++++-- + src/session.cpp | 4 +- + src/socket_base.cpp | 8 +- + 7 files changed, 545 insertions(+), 39 deletions(-) - atomic_ptr fix of Win64 +commit 10c28c1fc2f06c93e12a7c60f79a315cec7c5a52 +Author: Martin Hurton +Date: Sat Jun 19 20:46:16 2010 +0200 -commit 370cde09226d8a1b87eeac306fe97d64b4ea63a3 -Author: Martin Sustrik -Date: Mon Apr 12 17:00:11 2010 +0200 + Revive reader on pipe termination - win build fixed + src/pipe.cpp | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) -commit 0024d290765f53428ff78eddc5a4bc675a13c6a7 -Author: Martin Lucina -Date: Mon Apr 12 16:49:13 2010 +0200 +commit 2c3913bb19fa95e7decaa7967e2469dc428e46b0 +Author: Martin Hurton +Date: Sat Jun 19 19:46:35 2010 +0200 - Build fixes for cross compiling and Win32 + fix double free error in PAIR socket -commit 34964769399825e45b3efd02e642af97355707ef + src/pair.cpp | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) + +commit cff7ba2315c0f62fa3679afa24ecea88da38a365 Author: Martin Sustrik -Date: Mon Apr 12 10:05:24 2010 +0200 +Date: Thu Jun 17 17:09:51 2010 +0200 - MSVC perf build fixed + Windows build fixed -commit 7668e7976dc6c3e18a314d991381f29f5cbcc6ef + builds/msvc/c_local_lat/c_local_lat.vcproj | 4 ---- + builds/msvc/c_local_thr/c_local_thr.vcproj | 4 ---- + builds/msvc/c_remote_lat/c_remote_lat.vcproj | 4 ---- + builds/msvc/c_remote_thr/c_remote_thr.vcproj | 4 ---- + include/zmq_utils.h | 8 ++++++++ + src/zmq.cpp | 1 + + 6 files changed, 9 insertions(+), 16 deletions(-) + +commit 7f01e9970d211235fc8057de6dc41ba8ceafe795 Author: Martin Sustrik -Date: Mon Apr 12 09:57:34 2010 +0200 +Date: Thu Jun 17 16:51:53 2010 +0200 - zmq_poll returns ETERM in case of context termination + stopwatch returned to libzmq -commit 3236cb1a54316206d14a0f925dfa79d5b35f70fc -Author: Martin Sustrik -Date: Mon Apr 12 09:25:04 2010 +0200 + include/zmq.h | 2 + + include/zmq_utils.h | 49 +++++++++++++++++++++++++++++ + perf/Makefile.am | 9 ++--- + perf/helpers.cpp | 86 --------------------------------------------------- + perf/helpers.h | 40 ----------------------- + perf/local_lat.cpp | 4 +- + perf/local_thr.cpp | 6 ++-- + perf/remote_lat.cpp | 6 ++-- + perf/remote_thr.cpp | 4 +- + src/Makefile.am | 2 +- + src/zmq.cpp | 63 +++++++++++++++++++++++++++++++++++++ + 11 files changed, 129 insertions(+), 142 deletions(-) - ETERM is accounted for in the documentation +commit 4777fe4010572d381a2ad8eb63df2fc5fb7e6642 +Author: Martin Hurton +Date: Thu Jun 17 12:45:14 2010 +0200 -commit fba28c7c0cddd7c54fe45b38fc38ac6fe5a48438 -Author: Martin Sustrik -Date: Sun Apr 11 16:36:27 2010 +0200 + pipe: fix bug in rollback() method + + The msgs_written variable keeps track how many complete + messages have been written so far. The rollback operation drops all + fragments of the last incomplete message so it shouldn't + change this variable at all. - issue 1 - Change zmq_term semantics + src/pipe.cpp | 1 - + 1 files changed, 0 insertions(+), 1 deletions(-) -commit dff79d778db46bebe1e3b0cbd28b328972b9adb8 +commit 9151de38959a21829d4ab60324d6750d2e1a4357 Author: Martin Sustrik -Date: Sun Apr 11 14:20:00 2010 +0200 +Date: Thu Jun 17 11:01:18 2010 +0200 - version number bumped to 2.0.7 for MSVC build + generate identity for transient inproc connections -commit 6cf076510a39c8eb60b1ec2f28aa895b9fb6eaae + src/socket_base.cpp | 12 +++++++++++- + 1 files changed, 11 insertions(+), 1 deletions(-) + +commit 341e8a267309179bbb8249845e7efb14faf93d4d Author: Martin Sustrik -Date: Sun Apr 11 14:00:40 2010 +0200 +Date: Tue Jun 15 14:01:44 2010 +0200 - C-style comments in zmq.h + test commit -commit 00cf3ceb8da8cb58b343cb75798a042588f09752 + AUTHORS | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +commit 9858447fad3260cb16b1f2e56a14cfe3db737a36 Author: Martin Sustrik -Date: Sun Apr 11 10:26:47 2010 +0200 +Date: Tue Jun 15 08:01:43 2010 +0200 - multi-part message functionality available via ZMQ_SNDMORE and ZMQ_RCVMORE + getsockopt documentation fixed -commit 6fea42258348c8489d2cd64ca0e92981148134f8 -Author: Martin Sustrik -Date: Sun Apr 11 07:59:03 2010 +0200 + doc/zmq_getsockopt.txt | 5 +++-- + 1 files changed, 3 insertions(+), 2 deletions(-) - getsockopt added to c++ binding +commit ac90b7e0ba497bfec09d7a69a2e01dc6d94a9c9a +Author: Brian Buchanan +Date: Fri Jun 11 08:03:34 2010 +0200 -commit b668387d917cd80c5d4b9631bc0008b6a014c083 -Author: Martin Lucina -Date: Sat Apr 10 17:04:33 2010 +0200 + issue 35 - ZMQ_RCVMORE sometimes erroneously returns false - Remove -Wxxx gcc-isms from subdir Makefiles + AUTHORS | 1 + + src/socket_base.cpp | 9 ++++++++- + 2 files changed, 9 insertions(+), 1 deletions(-) -commit f6fa41dd7b3677d0f7441db83cbd6c8a0283a499 -Author: Martin Lucina -Date: Sat Apr 10 16:51:22 2010 +0200 +commit 5ee355d1880bc7391c199ea29adc620ceb0d96f1 +Author: Martin Sustrik +Date: Fri Jun 11 07:02:36 2010 +0200 - Compile perf tests with the C++ compiler - - This lets us build the binaries in a portable fashion w/o having to worry - about how to link with the C++ runtime. + if connect asserts, exact error is reported -commit c214a24f06bb41885dfbd73e42acb6e043df05ef + src/tcp_connecter.cpp | 12 ++++++------ + 1 files changed, 6 insertions(+), 6 deletions(-) + +commit 27877d73ea7dd972a773c7e960706130daaf5925 Author: Martin Sustrik -Date: Sat Apr 10 16:27:07 2010 +0200 +Date: Fri Jun 11 06:55:30 2010 +0200 - fix for Sun C++ 5.8 + EHOSTUNREACH is acceptable outcome from connect -commit 770aedbd09fb1e11a4e4880da2603a517856c16c -Author: Martin Lucina -Date: Sat Apr 10 16:18:34 2010 +0200 + src/tcp_connecter.cpp | 8 ++++---- + 1 files changed, 4 insertions(+), 4 deletions(-) - Build fixes for Solaris and non-GNU compilers - - Compiling C++ code with -D_POSIX_SOURCE on Solaris is unsupported, so remove it. - Isolate GCC-isms inside checks that we are actually using GCC/G++. - Only check for -lstdc++ when on GCC and doing static linking. +commit c818b14bbd261aa836400e9dfb4848117dd2edb6 +Author: Piotr Trojanek +Date: Thu Jun 10 12:57:42 2010 +0200 -commit 1dc0380e29fecd70f6299243d81f67db850db616 -Author: Martin Lucina -Date: Sat Apr 10 13:28:45 2010 +0200 + clearing thread info structure - Debian packaging fixes suitable for 0MQ git - - Removed README.source, TODO.source since these are irrelevant to a generic - git package. - Fixed spelling in debian/copyright. - Removed RFC check in debian/rules, again irrelevant to a generic git package. + src/ctx.cpp | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) -commit 8aa2acd0f8906b95232e765da805e3fab947b76b -Author: Adrian von Bidder -Date: Sat Apr 10 13:23:09 2010 +0200 +commit 74a3907be285891d90b82e2d315d03141a398752 +Author: Martin Sustrik +Date: Thu Jun 10 12:36:27 2010 +0200 - Debian packaging update from Adrian von Bidder + couple of ICC warnings fixed -commit 1d28dc9059d0014314ad22d98ddb7c6f21c151e7 -Author: Martin Lucina -Date: Fri Apr 9 19:15:40 2010 +0200 + src/encoder.hpp | 2 +- + src/uuid.cpp | 4 +++- + 2 files changed, 4 insertions(+), 2 deletions(-) - Fix for Issue #14 - - Don't fail hard if an unreleased tarball is being built and asciidoc is - not installed; instead just print a big fat warning +commit 8782b4d696da7b1527f69e819d75d691bc3df105 +Author: Piotr Trojanek +Date: Thu Jun 10 07:34:11 2010 +0200 -commit 6ea76e95736152e83f977ad860f40a231cedb1ef -Author: Martin Sustrik -Date: Fri Apr 9 16:24:21 2010 +0200 + -lcrypto added to linking flags for QNX - version bumped to 2.0.7 + configure.in | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) -commit 716f4ac8714d33d21f9853f58482e35c1e3ad934 +commit 76e0153d4f3ef1d5fef1a9b926e0e8e3ab2d9685 Author: Martin Sustrik -Date: Fri Apr 9 13:04:15 2010 +0200 +Date: Thu Jun 10 07:21:05 2010 +0200 - zmq_getsockopt function added + issue 33 - missing virtual destructors -commit 027bb1d2a7c83c7c719f6bdc3100eb639019d2f0 + src/decoder.hpp | 4 +++- + src/encoder.hpp | 2 ++ + src/yarray_item.hpp | 4 +++- + src/ypipe.hpp | 6 ++++++ + 4 files changed, 14 insertions(+), 2 deletions(-) + +commit d329c55da9c503e82831e940b0fc8dc9e5479975 Author: Martin Sustrik -Date: Thu Apr 8 19:20:42 2010 +0200 +Date: Thu Jun 10 07:12:00 2010 +0200 - issue 10 - zmq_strerror problem on Windows + issue 31 - Assertion failed: err == ECONNREFUSED || err == ETIMEDOUT (tcp_connecter.cpp:296) -commit 5cd9f74a70e2c8503c29aaca881c193a936b7b44 + src/tcp_connecter.cpp | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +commit 604f7475ec1d19df416156879db3ddd3c90d5a13 Author: Martin Sustrik -Date: Thu Apr 8 19:04:32 2010 +0200 +Date: Wed Jun 9 17:49:08 2010 +0200 + + issue 32 - poll_t poller broken + + src/poll.cpp | 23 +++++++++++------------ + 1 files changed, 11 insertions(+), 12 deletions(-) + +commit 7a29e8594fb539e37b9d08982b1f491b0794b7d2 +Author: Martin Sustrik +Date: Wed Jun 9 17:07:45 2010 +0200 + + Piotr Trojanek added to AUTHORS file + + AUTHORS | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +commit 751b60a18d028d9859394c7abe960cb1c42e605e +Author: Piotr Trojanek +Date: Wed Jun 9 17:06:32 2010 +0200 + + extra ';' inside a struct or union -- clang warnings fixed + + foreign/xmlParser/xmlParser.hpp | 2 +- + src/i_poll_events.hpp | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 240fc33f65c6cd9f1ed0a511daf4ad00ff37f163 +Author: Martin Sustrik +Date: Mon Jun 7 20:23:48 2010 +0200 + + minor comment clarification + + src/tcp_connecter.cpp | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +commit 784e73a7c84f2c0a454f4a9ef69586755482a9d5 +Merge: ce53d02 8f51a10 +Author: Martin Sustrik +Date: Mon Jun 7 09:03:56 2010 +0200 + + Merge branch 'master' of git@github.com:sustrik/zeromq2 + +commit ce53d02e0580755055245cc1050f1dd3a26a3f22 +Author: Martin Sustrik +Date: Mon Jun 7 09:03:40 2010 +0200 + + C++ docs for zmq::poll function improved + + doc/zmq_cpp.txt | 4 ++++ + 1 files changed, 4 insertions(+), 0 deletions(-) + +commit 8f51a10918d54e24818b863a9e3d530a00de21b5 +Author: Martin Lucina +Date: Fri Jun 4 19:30:47 2010 +0200 + + Update ChangeLog for v2.0.7 + + ChangeLog | 848 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 files changed, 848 insertions(+), 0 deletions(-) + +commit 5c97ff9a2eb3e55007fd90b5c3a1c433de7bc60c +Author: Martin Lucina +Date: Fri Jun 4 19:27:55 2010 +0200 + + More NEWS for 2.0.7 + + NEWS | 9 +++++++++ + 1 files changed, 9 insertions(+), 0 deletions(-) + +commit e8a9614aaeb45fc619eed2983f93edb744b4cef4 +Author: Martin Lucina +Date: Fri Jun 4 19:20:37 2010 +0200 + + Update NEWS for 2.0.7 release + + NEWS | 54 +++++++++++++++++++++++++++++++++++++++--------------- + 1 files changed, 39 insertions(+), 15 deletions(-) + +commit 9b8f902d72438752b00d4c1bb3887c40423777e0 +Author: Martin Sustrik +Date: Fri Jun 4 18:49:55 2010 +0200 + + initial version of 2.0.7 NEWS + + NEWS | 25 ++++++++++++++++++++++++- + 1 files changed, 24 insertions(+), 1 deletions(-) + +commit baf659fde5136c20f879ef713ec3effc34854ba6 +Author: Martin Lucina +Date: Fri Jun 4 17:12:51 2010 +0200 + + Move news from ChangeLog into NEWS + + ChangeLog | 397 +------------------------------------------------------------ + NEWS | 398 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 400 insertions(+), 395 deletions(-) + +commit 94dfe1368ac1cd4a456c86b8fc800d7c3911cfd3 +Author: Martin Lucina +Date: Fri Jun 4 17:02:16 2010 +0200 + + Fix MINGW build + + Mingw seems to define NOMINMAX, so don't redefine it if already defined + + src/windows.hpp | 4 +++- + 1 files changed, 3 insertions(+), 1 deletions(-) + +commit cf048bb1f8a665370d9e39aee2a7363327911b08 +Author: Martin Sustrik +Date: Fri Jun 4 16:29:36 2010 +0200 + + platform.hpp for MSVC contains only very basic stuff + + builds/msvc/platform.hpp | 29 ----------------------------- + perf/helpers.cpp | 4 +++- + src/encoder.hpp | 5 +++++ + src/prefix_tree.cpp | 5 +++++ + src/uuid.cpp | 1 - + src/uuid.hpp | 1 + + src/windows.hpp | 4 ++++ + src/zmq_engine.cpp | 6 +++++- + 8 files changed, 23 insertions(+), 32 deletions(-) + +commit 927993863eda325c66fc678810eeadd0c744cdf2 +Author: Martin Sustrik +Date: Fri Jun 4 15:47:22 2010 +0200 + + MSVC build fixed + + builds/msvc/c_local_lat/c_local_lat.vcproj | 4 ++++ + builds/msvc/c_local_thr/c_local_thr.vcproj | 4 ++++ + builds/msvc/c_remote_lat/c_remote_lat.vcproj | 4 ++++ + builds/msvc/c_remote_thr/c_remote_thr.vcproj | 4 ++++ + foreign/xmlParser/xmlParser.cpp | 2 +- + perf/helpers.cpp | 4 +--- + 6 files changed, 18 insertions(+), 4 deletions(-) + +commit 621d7415b3cdee1f79787e2961f113b00d237615 +Author: Martin Lucina +Date: Fri Jun 4 15:35:14 2010 +0200 + + Fix Solaris/NetBSD breakage in atomic_ptr.hpp + + src/atomic_ptr.hpp | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 67ca7dcbe6b072b74a112ce4df4529cda82c0f13 +Author: Martin Sustrik +Date: Fri Jun 4 15:24:06 2010 +0200 + + obsolete API elements removed - this commit breaks backward compatibility + + devices/zmq_forwarder/zmq_forwarder.cpp | 2 +- + devices/zmq_queue/zmq_queue.cpp | 2 +- + devices/zmq_streamer/zmq_streamer.cpp | 2 +- + include/zmq.h | 11 +---------- + include/zmq.hpp | 4 ++-- + perf/local_lat.cpp | 2 +- + perf/local_thr.cpp | 2 +- + perf/remote_lat.cpp | 2 +- + perf/remote_thr.cpp | 2 +- + src/zmq.cpp | 4 +--- + 10 files changed, 11 insertions(+), 22 deletions(-) + +commit d844a90690af357988b1c5ba027c740d4182d753 +Author: Martin Lucina +Date: Fri Jun 4 15:00:31 2010 +0200 + + zmqd: Removing for now, not ready for 2.0.7 + + Makefile.am | 4 +- + configure.in | 2 +- + zmqd/Makefile.am | 8 -- + zmqd/zmqd.cpp | 364 ------------------------------------------------------ + 4 files changed, 3 insertions(+), 375 deletions(-) + +commit 606c77368cccd2a277437b5de8764772295fdf89 +Author: Martin Lucina +Date: Fri Jun 4 14:48:49 2010 +0200 + + Move perf helper functions to perf/helpers.cpp + + include/zmq.h | 17 ---------- + perf/Makefile.am | 9 +++-- + perf/helpers.cpp | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++ + perf/helpers.h | 40 +++++++++++++++++++++++ + perf/local_lat.cpp | 3 +- + perf/local_thr.cpp | 5 ++- + perf/remote_lat.cpp | 5 ++- + perf/remote_thr.cpp | 3 +- + src/zmq.cpp | 58 ---------------------------------- + 9 files changed, 141 insertions(+), 85 deletions(-) + +commit 05b4a7ae787760d5c24e048612b786fa0283854a +Author: Martin Lucina +Date: Fri Jun 4 13:58:49 2010 +0200 + + Remove PGM examples from build + + configure.in | 9 ---- + perf/Makefile.am | 112 +----------------------------------------------------- + 2 files changed, 1 insertions(+), 120 deletions(-) + +commit 4d65d7a5a98cbb95430a5b02706ab87d3fa0f56c +Author: Martin Lucina +Date: Fri Jun 4 13:53:40 2010 +0200 + + Documentation: zmq_tcp(7) update for 2.0.7 + + Document MORE bit in flags field + + doc/zmq_tcp.txt | 11 +++++++++-- + 1 files changed, 9 insertions(+), 2 deletions(-) + +commit 7fc15c21a17cfa58e60e4a513360cb12b542a570 +Author: Martin Lucina +Date: Thu Jun 3 14:36:44 2010 +0200 + + Documentation: zmq_cpp(7) update for 2.0.7 + + doc/zmq_cpp.txt | 15 +++++++++++---- + 1 files changed, 11 insertions(+), 4 deletions(-) + +commit 10f4bf3f35ab3da05fe5ca8a28cd131e3781249f +Author: Martin Lucina +Date: Thu Jun 3 14:15:05 2010 +0200 + + Documentation: Cosmetic changes + + doc/zmq_getsockopt.txt | 10 ++++++++++ + doc/zmq_setsockopt.txt | 11 +++++++++++ + 2 files changed, 21 insertions(+), 0 deletions(-) + +commit 8076fd1a3abece7dc91c2b2309dd0ecba57e882f +Author: Martin Lucina +Date: Thu Jun 3 14:08:36 2010 +0200 + + Documentation: zmq_errno(3) + + doc/Makefile.am | 2 +- + doc/zmq.txt | 9 ++++++--- + doc/zmq_errno.txt | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 57 insertions(+), 4 deletions(-) + +commit 7c9b09bc511236c8cc5f6cea7623a8b98fedf302 +Author: Martin Lucina +Date: Wed Jun 2 18:36:34 2010 +0200 + + Documentation: Flow control, zmq_socket(3) + + Mostly Flow control and additions to zmq_socket(3) + Removed/changed lots of text regarding message queues + More fixes for 2.0.7 changes + + doc/zmq.txt | 18 +---- + doc/zmq_getsockopt.txt | 23 ++++--- + doc/zmq_poll.txt | 28 ++++---- + doc/zmq_recv.txt | 22 +++---- + doc/zmq_send.txt | 9 +-- + doc/zmq_setsockopt.txt | 25 ++++--- + doc/zmq_socket.txt | 172 ++++++++++++++++++++++++++++++++++++++++------- + 7 files changed, 205 insertions(+), 92 deletions(-) + +commit 9d00d300b0d6b45d2954792540cc95a0c3fb6a01 +Author: Martin Lucina +Date: Tue Jun 1 22:22:50 2010 +0200 + + Documentation: zmq_init() API changes for 2.0.7 + + doc/zmq_init.txt | 19 +++++-------------- + 1 files changed, 5 insertions(+), 14 deletions(-) + +commit 8ba1d3c8ed32b39bb1133330d496587d96020e7e +Author: Martin Lucina +Date: Tue Jun 1 22:22:29 2010 +0200 + + Documentation: zmq_term() and ETERM for 2.0.7 + + doc/zmq_bind.txt | 2 +- + doc/zmq_connect.txt | 2 +- + doc/zmq_getsockopt.txt | 1 - + doc/zmq_poll.txt | 6 ++---- + doc/zmq_setsockopt.txt | 1 - + doc/zmq_term.txt | 20 +++++++++++++++++--- + 6 files changed, 21 insertions(+), 11 deletions(-) + +commit 74a03dfd7dbb762be5d50eca4df214f8825ad44a +Merge: 99e6179 8a77135 +Author: Martin Lucina +Date: Tue Jun 1 21:49:50 2010 +0200 + + Merge branch 'master' of github.com:sustrik/zeromq2 + +commit 8a771350795dc4f9aae6a89534f1391d7b63b10c +Author: Martin Sustrik +Date: Tue Jun 1 10:42:55 2010 +0200 + + Pieter Hintjens added to 'authors' section + + AUTHORS | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 0b0716661e99a2b55151650ec94cd5fd268d0334 +Author: Pieter Hintjens +Date: Tue Jun 1 10:40:12 2010 +0200 + + multiple vulnerabilities in xml paerser fixed + + foreign/xmlParser/xmlParser.cpp | 37 +++++++++++++++++++++++++++++++------ + 1 files changed, 31 insertions(+), 6 deletions(-) + +commit 99e6179edd9e3552fcdb7f4fce3306cd174f3359 +Author: Martin Lucina +Date: Mon May 31 17:24:50 2010 +0200 + + Documentation updates + + The option_value parameter for zmq_getsockopt is in and out. + + doc/zmq_getsockopt.txt | 6 ++++-- + 1 files changed, 4 insertions(+), 2 deletions(-) + +commit b4f3e0acd72de97bc5ef46ea74d9cd7ed7f9efc2 +Author: Martin Lucina +Date: Mon May 31 17:21:51 2010 +0200 + + Documentation updates + + Clarify multi-part messages + + doc/zmq_recv.txt | 16 ++++++++-------- + doc/zmq_send.txt | 13 ++++++------- + 2 files changed, 14 insertions(+), 15 deletions(-) + +commit 7bbe754cb4987669d4273ec37f5f50d29b9931df +Author: Martin Lucina +Date: Mon May 31 17:21:12 2010 +0200 + + Documentation updates + + Clarify pipeline and exclusive pair patterns + + doc/zmq_socket.txt | 14 ++++++-------- + 1 files changed, 6 insertions(+), 8 deletions(-) + +commit 8a4df431de872623c761fdeb291748d3d153b8d1 +Author: Martin Lucina +Date: Mon May 31 14:18:51 2010 +0200 + + Documentation updates + + Add getsockopt to Makefile.am + + doc/Makefile.am | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit dfbaf4f9668f0493649d6ba1328cced64e5340b0 +Author: Martin Lucina +Date: Mon May 31 14:18:37 2010 +0200 + + Documentation updates + + Multi-part messages + + doc/zmq_recv.txt | 5 +++-- + doc/zmq_send.txt | 7 ++++--- + 2 files changed, 7 insertions(+), 5 deletions(-) + +commit 0fa73b039462c1754d407de85306904e9b0c73be +Author: Martin Lucina +Date: Mon May 31 14:13:41 2010 +0200 + + Documentation updates + + Add getsockopt to index + + doc/zmq.txt | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +commit eb9ff1e77977c6199c0a0439f4dd35fa39f3bd3c +Author: Martin Lucina +Date: Mon May 31 14:12:27 2010 +0200 + + Documentation updates + + Multi-part messages + + doc/zmq_getsockopt.txt | 17 +++++++++++++++++ + doc/zmq_recv.txt | 37 ++++++++++++++++++++++++++++++++++++- + doc/zmq_send.txt | 33 ++++++++++++++++++++++++++++++++- + 3 files changed, 85 insertions(+), 2 deletions(-) + +commit 8becacf82c950af951f477e3dc3f7ac79e110fc1 +Author: Martin Lucina +Date: Mon May 31 12:53:40 2010 +0200 + + Documentation updates + + Add zmq_getsockopt(3), clean up zmq_setsockopt(3). + + doc/zmq_getsockopt.txt | 209 ++++++++++++++++++++++++++++++++++++++++++++++++ + doc/zmq_setsockopt.txt | 62 ++++++++------- + 2 files changed, 241 insertions(+), 30 deletions(-) + +commit be6019abd1ac6fe11c9c51dbadf9c72b37349c2a +Author: Martin Sustrik +Date: Mon May 31 09:28:36 2010 +0200 + + issue 28. - SNDMORE/ RCVMORE is dropping every other message + + src/req.cpp | 8 ++++---- + 1 files changed, 4 insertions(+), 4 deletions(-) + +commit 2e9be56a4059cf230f6aa92eb1c71db5f1200b8e +Author: Martin Sustrik +Date: Mon May 31 06:17:58 2010 +0200 + + memory leak in REQ socket fixed + + src/req.cpp | 34 ++++------------------------------ + 1 files changed, 4 insertions(+), 30 deletions(-) + +commit 3bb60da0d085b1089ddec4617fcd40f2cda88567 +Merge: 04fcd4d da37c45 +Author: Martin Sustrik +Date: Mon May 31 06:11:42 2010 +0200 + + Merge branch 'master' of git@github.com:sustrik/zeromq2 + +commit 04fcd4d55b3b01e75d1d0d547987841811a2d610 +Author: Martin Sustrik +Date: Mon May 31 06:11:20 2010 +0200 + + memory leak in REP socket fixed + + src/rep.cpp | 34 ++++------------------------------ + 1 files changed, 4 insertions(+), 30 deletions(-) + +commit da37c45b0c7200eea96118952e671972b71df4ce +Author: Martin Lucina +Date: Fri May 28 01:38:43 2010 +0200 + + Clarify zmq_bind/zmq_connect + + Use the term 'endpoint' correctly, and drop the nonsense about local/remote addresses which doesn't clearly explain what is going on + + doc/zmq_bind.txt | 28 +++++++++++++++------------- + doc/zmq_connect.txt | 26 ++++++++++++++------------ + 2 files changed, 29 insertions(+), 25 deletions(-) + +commit 74f1a4a579d3b09b3420092d9f076827be31c4e7 +Author: Martin Lucina +Date: Fri May 28 00:55:04 2010 +0200 + + RPM packaging cleanups + + - ditch -utils package + - add descriptions from Debian packaging + + builds/redhat/zeromq.spec | 41 +++++++++++++++++------------------------ + 1 files changed, 17 insertions(+), 24 deletions(-) + +commit b4cc7b97ecaf743f3259f9df7d687558892b8a72 +Author: Mikko Koppanen +Date: Fri Apr 16 10:26:22 2010 +0100 + + dist-hook for copying zeromq.spec to top-level + + Makefile.am | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +commit 8bd3f743f50a61355b6cf18046d59c7d0289836b +Author: Mikko Koppanen +Date: Fri Apr 16 00:01:13 2010 +0100 + + Import redhat packaging + + builds/redhat/zeromq.spec | 137 +++++++++++++++++++++++++++++++++++++++++++++ + 1 files changed, 137 insertions(+), 0 deletions(-) + +commit 5219e4ce8f9aa082c5f91e248a9f66639c69727d +Author: Martin Lucina +Date: Fri May 28 00:49:13 2010 +0200 + + Clarify socket types in documentation, reinstate ZMQ_PAIR + + doc/zmq.txt | 4 +- + doc/zmq_setsockopt.txt | 14 ++++---- + doc/zmq_socket.txt | 91 +++++++++++++++++++++++++++++------------------ + 3 files changed, 65 insertions(+), 44 deletions(-) + +commit 8408ae066dce123fc93e4f53dbadb1f60b7f2e8a +Author: Martin Sustrik +Date: Tue May 25 15:03:57 2010 +0200 + + LWM is computed rather than explicitly specified by user + + doc/zmq_setsockopt.txt | 15 --------------- + include/zmq.h | 1 + + src/config.hpp | 5 ++++- + src/options.cpp | 18 ------------------ + src/options.hpp | 1 - + src/pipe.cpp | 35 ++++++++++++++++++++++++++++++++--- + src/pipe.hpp | 4 +++- + src/session.cpp | 6 ++---- + src/socket_base.cpp | 12 ++++-------- + 9 files changed, 46 insertions(+), 51 deletions(-) + +commit f34a468a263c7b4013a267297ee7f121e12dfb9d +Author: Martin Sustrik +Date: Tue May 25 10:57:54 2010 +0200 + + coding style fixed in zmqd + + zmqd/zmqd.cpp | 426 ++++++++++++++++++++++++++++----------------------------- + 1 files changed, 211 insertions(+), 215 deletions(-) + +commit 7773fdddfb357145cb15faaa5228fb3b2d0f6f78 +Merge: 091e92a 89783c3 +Author: Martin Sustrik +Date: Thu May 20 18:02:34 2010 +0200 + + Merge branch 'master' of git@github.com:sustrik/zeromq2 + +commit 091e92a11dec353e674cbacbf2455a48bdb4e01d +Author: Martin Sustrik +Date: Thu May 20 18:01:58 2010 +0200 + + Pieter Hintjens added to AUTHORS file + + AUTHORS | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +commit 89783c37d2b8a7b5519eab7922b460449aa0bf3f +Author: Martin Sustrik +Date: Wed May 19 06:31:57 2010 +0200 + + incomplete messages can be stored in ypipe + + src/pipe.cpp | 10 ++++------ + src/ypipe.hpp | 46 ++++++++++++++++++++++++++++------------------ + 2 files changed, 32 insertions(+), 24 deletions(-) + +commit f40ce4e500d32b4240395e09e0ce3359734f0189 +Author: Jon Dyte +Date: Sat May 15 12:37:45 2010 +0200 + + single 0MQ daemon (zmqd) - initial version + + Makefile.am | 4 +- + configure.in | 2 +- + zmqd/Makefile.am | 8 ++ + zmqd/zmqd.cpp | 368 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 379 insertions(+), 3 deletions(-) + +commit 6705a3d5807542ee2ed8a1ef6e3d9f769e5d5a93 +Author: Steven McCoy +Date: Thu May 13 12:43:58 2010 +0200 + + some more sanity checks in pgm_socket + + src/pgm_socket.cpp | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +commit ff9d3985556aa58a5d120a3eb72867c7ebea924d +Merge: 56262d7 f6c1c97 +Author: Martin Sustrik +Date: Thu May 13 12:41:39 2010 +0200 + + Merge branch 'master' of git@github.com:sustrik/zeromq2 + +commit 56262d7ba79a9ba19fc1b89fdc07bca3894062f2 +Author: Steven McCoy +Date: Thu May 13 12:41:20 2010 +0200 + + some more sanity checks in pgm_socket + + src/pgm_socket.cpp | 4 ++++ + 1 files changed, 4 insertions(+), 0 deletions(-) + +commit f6c1c972428f15356af09d6922910ef44d1f6cb3 +Merge: 52ef3f3 127cb89 +Author: Martin Lucina +Date: Wed May 12 16:49:49 2010 +0200 + + Merge branch 'master' of github.com:sustrik/zeromq2 + +commit 52ef3f3f2c6f3ba1717b2e729556df713c022636 +Author: Martin Lucina +Date: Wed May 12 16:46:59 2010 +0200 + + Revert commit 7cb076e, atomic ops cleanup + + Reverted to using atomic.h on NetBSD + Removed GNU builtins (see http://lists.zeromq.org/pipermail/zeromq-dev/2010-May/003485.html) + Removed SPARC native atomic ops as they are untested and have been commented out for years + Add "memory" to asm clobber for X86 atomic_counter::sub() + + src/atomic_counter.hpp | 65 +++++++---------------------------------------- + src/atomic_ptr.hpp | 58 ++++++------------------------------------ + 2 files changed, 19 insertions(+), 104 deletions(-) + +commit 127cb89ac1271bf85798294d450509b7c23019bd +Author: Martin Sustrik +Date: Wed May 12 16:46:07 2010 +0200 + + MAINTAINERS file added + + MAINTAINERS | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 files changed, 60 insertions(+), 0 deletions(-) + +commit 8e5ac100c95e02ef60aa827b4199002f324617ed +Merge: 714a8d5 9fbb914 +Author: Martin Sustrik +Date: Wed May 12 12:45:38 2010 +0200 + + Merge branch 'master' of git@github.com:sustrik/zeromq2 + +commit 714a8d50a03e773320a02247847c58020c96e867 +Author: Brett Cameron +Date: Wed May 12 12:45:12 2010 +0200 + + fixes for OpenVMS + + src/signaler.cpp | 1 + + src/tcp_connecter.cpp | 19 ++++++++++++++++--- + src/tcp_listener.cpp | 31 +++++++++++++++++++++++++++---- + src/uuid.cpp | 29 +++++++++++++++++++++++++++++ + src/uuid.hpp | 11 ++++++++++- + 5 files changed, 83 insertions(+), 8 deletions(-) + +commit 9fbb9141a8895ac83e8051ac568223a9e57a278d +Author: Martin Lucina +Date: Mon May 10 16:39:09 2010 +0200 + + Update historic include paths + + devices/zmq_forwarder/Makefile.am | 2 +- + devices/zmq_queue/Makefile.am | 2 +- + devices/zmq_streamer/Makefile.am | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +commit 9d16a415cbfd33f89d2f5afd96ed7cd34a21a634 +Author: Martin Lucina +Date: Mon May 10 16:32:10 2010 +0200 + + OpenPGM build flags cleanup + + Removed various exotic -Wxxx flags in the OpenPGM build to get us to what is actually + required and reasonable; added in -fno-strict-aliasing since OpenPGM generates lots + of warnings about dereferencing typed-punned pointers; removed the OpenPGM extra flags + from libzmq_la_CXXFLAGS and left them only in libzmq_la_CFLAGS so that our code + is not built with the OpenPGM extra flags. + + src/Makefile.am | 23 ++--------------------- + 1 files changed, 2 insertions(+), 21 deletions(-) + +commit 2cf9f04a460473ea10e901e68e66596583d0d286 +Author: Martin Lucina +Date: Mon May 10 16:24:53 2010 +0200 + + Update OpenPGM to version 2.1.26 + + configure.in | 2 +- + foreign/openpgm/libpgm-2.0.24.tar.gz | Bin 407110 -> 0 bytes + foreign/openpgm/libpgm-2.1.26.tar.gz | Bin 0 -> 413863 bytes + src/Makefile.am | 2 ++ + 4 files changed, 3 insertions(+), 1 deletions(-) + +commit a25414e55caa975185ac6534c40bb601e5c38a9a +Author: Martin Sustrik +Date: Sun May 9 16:59:15 2010 +0200 + + Fix in zmq_poll (Windows version) + + src/zmq.cpp | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 4d33c43913dd640853cec75ce21080c2b33d8526 +Author: Martin Sustrik +Date: Fri May 7 21:53:55 2010 +0200 + + caution about zmq_msg_init_* functions added to the docs + + doc/zmq_msg_init.txt | 4 ++++ + doc/zmq_msg_init_data.txt | 4 ++++ + doc/zmq_msg_init_size.txt | 4 ++++ + 3 files changed, 12 insertions(+), 0 deletions(-) + +commit 4a3b857c4cf35261751d562ad7e4acc5ecf58be0 +Author: Martin Sustrik +Date: Fri May 7 11:08:50 2010 +0200 + + commands not processed immediatelly in some scenarios; fixed + + src/app_thread.cpp | 6 ++++-- + 1 files changed, 4 insertions(+), 2 deletions(-) + +commit 36b044a0d5a9918841839edf12767b31bfec36a0 +Author: Martin Sustrik +Date: Fri May 7 09:21:15 2010 +0200 + + ZMQ_PAIR socket removed from the documentation as it is unfinished yet + + doc/zmq_socket.txt | 13 ------------- + 1 files changed, 0 insertions(+), 13 deletions(-) + +commit f60d891b2309cdc6f2cc1507a238cec85e4aa9e7 +Author: Martin Sustrik +Date: Thu May 6 10:33:01 2010 +0200 + + Issue 23. zmq_init() crashes on illegal numbers + + src/zmq.cpp | 5 ++++- + 1 files changed, 4 insertions(+), 1 deletions(-) + +commit 64c58662b7f491f2a3c8cb684f27ea1d5c549552 +Author: Martin Sustrik +Date: Wed May 5 14:33:02 2010 +0200 + + MSVC build fixed + + builds/msvc/libzmq/libzmq.vcproj | 10 +++++----- + 1 files changed, 5 insertions(+), 5 deletions(-) + +commit 835e893e54598ff474067cc68b787440baf6b05c +Author: Martin Sustrik +Date: Wed May 5 14:24:54 2010 +0200 + + dispatcher_t class renamed to ctx_t + + src/Makefile.am | 4 +- + src/app_thread.cpp | 10 +- + src/app_thread.hpp | 2 +- + src/ctx.cpp | 316 +++++++++++++++++++++++++++++++++++++++++++++++++++ + src/ctx.hpp | 156 +++++++++++++++++++++++++ + src/dispatcher.cpp | 316 --------------------------------------------------- + src/dispatcher.hpp | 153 ------------------------- + src/io_thread.cpp | 6 +- + src/io_thread.hpp | 2 +- + src/object.cpp | 28 +++--- + src/object.hpp | 10 +- + src/socket_base.cpp | 11 +- + src/zmq.cpp | 17 ++-- + src/zmq_encoder.cpp | 2 +- + 14 files changed, 518 insertions(+), 515 deletions(-) + +commit 10f5334f2891b187ce57f38186cf977406097ab0 +Merge: 44dd005 3f5465a +Author: Martin Sustrik +Date: Wed May 5 13:03:56 2010 +0200 + + Merge branch 'master' of git@github.com:sustrik/zeromq2 + +commit 44dd005ff05431b05a8e04858a23784b252da870 +Author: Martin Sustrik +Date: Wed May 5 13:03:26 2010 +0200 + + number of application threads to use 0MQ sockets is unlimited; app_threads parameter in zmq_init is unused and obsolete + + src/config.hpp | 4 +++ + src/dispatcher.cpp | 53 +++++++++++++++++++++++++++++---------------------- + src/dispatcher.hpp | 15 ++----------- + src/zmq.cpp | 6 +++- + 4 files changed, 41 insertions(+), 37 deletions(-) + +commit 3f5465ada1b465ac0e360d0416b8f42b0fddfab0 +Author: Martin Sustrik +Date: Tue May 4 10:37:10 2010 +0200 + + Windows port fixed + + src/signaler.cpp | 6 +++--- + 1 files changed, 3 insertions(+), 3 deletions(-) + +commit 235ed3a3dcffb7c658cbc9253eae9de54db24533 +Author: Martin Sustrik +Date: Tue May 4 10:22:16 2010 +0200 + + signaler transports commands per se rather than one-bit signals + + src/app_thread.cpp | 20 +++--- + src/config.hpp | 5 - + src/dispatcher.cpp | 71 +++++++---------- + src/dispatcher.hpp | 30 ++----- + src/io_thread.cpp | 17 ++-- + src/object.cpp | 6 +- + src/pipe.hpp | 2 +- + src/signaler.cpp | 224 ++++++++++++++++++++-------------------------------- + src/signaler.hpp | 45 +++-------- + src/ypipe.hpp | 83 +++++--------------- + 10 files changed, 174 insertions(+), 329 deletions(-) + +commit 8b9bd05726c3df56d7f437889abccba3cbbffdee +Author: Martin Sustrik +Date: Mon May 3 16:21:36 2010 +0200 + + thread ID and dispatcher made private in object_t + + src/app_thread.cpp | 6 +++--- + src/io_thread.cpp | 2 +- + src/object.hpp | 4 ++-- + 3 files changed, 6 insertions(+), 6 deletions(-) + +commit 84e0c7991a9b316ed571533abc628cc1175750a3 +Author: Martin Sustrik +Date: Sun May 2 20:59:07 2010 +0200 + + queue device fixed + + src/queue.cpp | 86 ++++++++++++++++++++++++++++---------------------------- + src/xreq.cpp | 27 ++++++++++++++++-- + src/xreq.hpp | 3 ++ + 3 files changed, 70 insertions(+), 46 deletions(-) + +commit 4a6bac1deaedb3c111c7e28b2933ed98367cb193 +Merge: acfd0f8 beb4da3 +Author: Martin Sustrik +Date: Fri Apr 30 04:54:10 2010 +0200 + + Merge branch 'master' of git@github.com:sustrik/zeromq2 + +commit acfd0f8ca2d15111f35ae0034ed3ce130c96b910 +Author: Martin Sustrik +Date: Fri Apr 30 04:53:41 2010 +0200 + + prefix in XREP recv'd message misses MORE flag + + src/xrep.cpp | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +commit beb4da3c28cff501a33de34cec95ca110cd3084e +Author: Martin Sustrik +Date: Thu Apr 29 20:53:46 2010 +0200 + + windows port fixed + + builds/msvc/libzmq/libzmq.vcproj | 34 +++++----------------------------- + src/signaler.cpp | 4 +--- + 2 files changed, 6 insertions(+), 32 deletions(-) + +commit ae93ed318a450d6d763a5f629d478467f7362b07 +Author: Martin Sustrik +Date: Thu Apr 29 20:34:48 2010 +0200 + + signaler rewritten in such a way that any number (>64) of threads can be used + + src/app_thread.cpp | 25 +++---- + src/app_thread.hpp | 2 +- + src/config.hpp | 4 + + src/dispatcher.cpp | 16 ++-- + src/dispatcher.hpp | 10 ++- + src/io_thread.cpp | 30 ++++----- + src/io_thread.hpp | 2 +- + src/object.cpp | 13 +--- + src/object.hpp | 9 +-- + src/signaler.cpp | 200 +++++++++++++++++++++++++++++++--------------------- + src/signaler.hpp | 24 +++++- + src/zmq.cpp | 2 +- + 12 files changed, 190 insertions(+), 147 deletions(-) + +commit 1ffc6dd41f2e2ce45c67f3fe08780c5a09cf667d +Author: Martin Sustrik +Date: Thu Apr 29 18:03:54 2010 +0200 + + eventfd-style signaling removed + + configure.in | 26 ------------------ + src/signaler.cpp | 78 +----------------------------------------------------- + src/signaler.hpp | 6 ---- + 3 files changed, 1 insertions(+), 109 deletions(-) + +commit 37128b7b1aeed9ad2bf6816560b85b5f94dd5bec +Author: Martin Sustrik +Date: Thu Apr 29 17:31:57 2010 +0200 + + fd_signaler_t renamed to signaler_t + + src/Makefile.am | 4 +- + src/app_thread.cpp | 3 +- + src/app_thread.hpp | 6 +- + src/dispatcher.hpp | 4 +- + src/fd_signaler.cpp | 432 --------------------------------------------------- + src/fd_signaler.hpp | 80 ---------- + src/io_thread.cpp | 2 +- + src/io_thread.hpp | 6 +- + src/signaler.cpp | 432 +++++++++++++++++++++++++++++++++++++++++++++++++++ + src/signaler.hpp | 80 ++++++++++ + 10 files changed, 524 insertions(+), 525 deletions(-) + +commit c193fd146661b39027c5e3fa0776dcdf8c6af5e2 +Author: Martin Sustrik +Date: Thu Apr 29 17:20:23 2010 +0200 + + lock-free polling removed; ZMQ_POLL flag removed + + doc/zmq_init.txt | 8 +- + include/zmq.h | 1 + + src/Makefile.am | 5 - + src/app_thread.cpp | 22 +--- + src/app_thread.hpp | 8 +- + src/atomic_bitmap.hpp | 310 ---------------------------------------------- + src/dispatcher.cpp | 7 +- + src/dispatcher.hpp | 6 +- + src/fd_signaler.hpp | 3 +- + src/i_signaler.hpp | 55 -------- + src/io_thread.cpp | 6 +- + src/io_thread.hpp | 5 +- + src/object.cpp | 1 - + src/queue.cpp | 5 +- + src/simple_semaphore.hpp | 242 ------------------------------------ + src/ypollset.cpp | 65 ---------- + src/ypollset.hpp | 69 ---------- + src/zmq.cpp | 11 +-- + 18 files changed, 28 insertions(+), 801 deletions(-) + +commit 7cb076e56a18cb76c49f17bd34bc73c11e01b705 +Author: Steven McCoy +Date: Thu Apr 29 11:36:13 2010 +0200 + + Defer NetBSD atomic ops to GCC builtins. Revert Sun atomic ops #define. + + src/atomic_bitmap.hpp | 72 ++++++++++++++++++++++++++++++++---------------- + src/atomic_counter.hpp | 42 ++++++++++++++++++---------- + src/atomic_ptr.hpp | 25 +++++++++++----- + 3 files changed, 92 insertions(+), 47 deletions(-) + +commit ad6fa9d0d4f1cf29ce63998d7efe337b1a784ef6 +Author: Martin Sustrik +Date: Tue Apr 27 17:36:00 2010 +0200 + + initial version of multi-hop REQ/REP + + src/rep.cpp | 97 +++++++++++++++++++---------- + src/req.cpp | 28 ++++++++- + src/xrep.cpp | 195 +++++++++++++++++++++++++++++++++++++++++++++++----------- + src/xrep.hpp | 35 +++++++++- + 4 files changed, 280 insertions(+), 75 deletions(-) + +commit 1ad6ade0ed465030716ce720077f3aa31e6cd136 +Author: Martin Sustrik +Date: Mon Apr 26 16:58:49 2010 +0200 + + MSVC build fixed + + builds/msvc/libzmq/libzmq.vcproj | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +commit beffee92a8ec9e14cca21e5901970c4d03967c3d +Author: Martin Sustrik +Date: Mon Apr 26 16:51:05 2010 +0200 + + P2P renamed to PAIR + + doc/zmq_socket.txt | 8 ++-- + include/zmq.h | 4 +- + src/Makefile.am | 4 +- + src/app_thread.cpp | 6 +- + src/p2p.cpp | 139 ---------------------------------------------------- + src/p2p.hpp | 63 ----------------------- + src/pair.cpp | 139 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + src/pair.hpp | 63 +++++++++++++++++++++++ + 8 files changed, 214 insertions(+), 212 deletions(-) + +commit 7d9603d722c9c2752dccd0c51f470e68d0e0c48c +Author: Jon Dyte +Date: Sun Apr 25 15:04:23 2010 +0200 + + Bug in zmq_queue fixed + + devices/zmq_queue/zmq_queue.cpp | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit d524c4e15d3cfa21f265d2c21e8a76ac97bfee2d +Author: Martin Sustrik +Date: Fri Apr 16 09:53:09 2010 +0200 + + fix of documentation typo + + doc/zmq_setsockopt.txt | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 1c33941be9d564733c15fe0466906fdf0bbd46b8 +Merge: ea18d30 370cde0 +Author: Martin Sustrik +Date: Thu Apr 15 07:32:49 2010 +0200 + + Merge branch 'master' of git@github.com:sustrik/zeromq2 + +commit ea18d30c209cb4e3f0dd0bc5e4380345e81b6fb6 +Author: Martin Sustrik +Date: Thu Apr 15 07:32:25 2010 +0200 + + atomic_ptr fix of Win64 + + include/zmq.h | 2 +- + src/atomic_ptr.hpp | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 370cde09226d8a1b87eeac306fe97d64b4ea63a3 +Author: Martin Sustrik +Date: Mon Apr 12 17:00:11 2010 +0200 + + win build fixed + + builds/msvc/libzmq/libzmq.vcproj | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +commit 0024d290765f53428ff78eddc5a4bc675a13c6a7 +Author: Martin Lucina +Date: Mon Apr 12 16:49:13 2010 +0200 + + Build fixes for cross compiling and Win32 + + configure.in | 27 ++++++++++++++++++--------- + foreign/xmlParser/xmlParser.cpp | 2 +- + include/zmq.h | 14 ++++++++------ + src/Makefile.am | 2 +- + 4 files changed, 28 insertions(+), 17 deletions(-) + +commit 34964769399825e45b3efd02e642af97355707ef +Author: Martin Sustrik +Date: Mon Apr 12 10:05:24 2010 +0200 + + MSVC perf build fixed + + builds/msvc/c_local_lat/c_local_lat.vcproj | 2 +- + builds/msvc/c_local_thr/c_local_thr.vcproj | 2 +- + builds/msvc/c_remote_lat/c_remote_lat.vcproj | 2 +- + builds/msvc/c_remote_thr/c_remote_thr.vcproj | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +commit 7668e7976dc6c3e18a314d991381f29f5cbcc6ef +Author: Martin Sustrik +Date: Mon Apr 12 09:57:34 2010 +0200 + + zmq_poll returns ETERM in case of context termination + + doc/zmq_socket.txt | 3 --- + src/zmq.cpp | 11 +++++++++-- + 2 files changed, 9 insertions(+), 5 deletions(-) + +commit 3236cb1a54316206d14a0f925dfa79d5b35f70fc +Author: Martin Sustrik +Date: Mon Apr 12 09:25:04 2010 +0200 + + ETERM is accounted for in the documentation + + doc/zmq_bind.txt | 2 ++ + doc/zmq_connect.txt | 2 ++ + doc/zmq_poll.txt | 3 ++- + doc/zmq_recv.txt | 2 ++ + doc/zmq_send.txt | 2 ++ + doc/zmq_setsockopt.txt | 3 +++ + doc/zmq_socket.txt | 3 +++ + 7 files changed, 16 insertions(+), 1 deletions(-) + +commit fba28c7c0cddd7c54fe45b38fc38ac6fe5a48438 +Author: Martin Sustrik +Date: Sun Apr 11 16:36:27 2010 +0200 + + issue 1 - Change zmq_term semantics + + include/zmq.h | 1 + + src/app_thread.cpp | 25 ++++++++++++++++++++++--- + src/app_thread.hpp | 18 ++++++++++++++++-- + src/dispatcher.cpp | 7 +++++++ + src/socket_base.cpp | 50 +++++++++++++++++++++++++++++++++++++++++++------- + src/zmq.cpp | 2 ++ + 6 files changed, 91 insertions(+), 12 deletions(-) + +commit dff79d778db46bebe1e3b0cbd28b328972b9adb8 +Author: Martin Sustrik +Date: Sun Apr 11 14:20:00 2010 +0200 + + version number bumped to 2.0.7 for MSVC build + + builds/msvc/platform.hpp | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 6cf076510a39c8eb60b1ec2f28aa895b9fb6eaae +Author: Martin Sustrik +Date: Sun Apr 11 14:00:40 2010 +0200 + + C-style comments in zmq.h + + include/zmq.h | 128 +++++++++++++++++++++++++------------------------------- + 1 files changed, 57 insertions(+), 71 deletions(-) + +commit 00cf3ceb8da8cb58b343cb75798a042588f09752 +Author: Martin Sustrik +Date: Sun Apr 11 10:26:47 2010 +0200 + + multi-part message functionality available via ZMQ_SNDMORE and ZMQ_RCVMORE + + include/zmq.h | 3 +++ + src/socket_base.cpp | 27 ++++++++++++++++++++++----- + src/socket_base.hpp | 3 +++ + 3 files changed, 28 insertions(+), 5 deletions(-) + +commit 6fea42258348c8489d2cd64ca0e92981148134f8 +Author: Martin Sustrik +Date: Sun Apr 11 07:59:03 2010 +0200 + + getsockopt added to c++ binding + + include/zmq.hpp | 8 ++++++++ + 1 files changed, 8 insertions(+), 0 deletions(-) + +commit b668387d917cd80c5d4b9631bc0008b6a014c083 +Author: Martin Lucina +Date: Sat Apr 10 17:04:33 2010 +0200 + + Remove -Wxxx gcc-isms from subdir Makefiles + + configure.in | 6 +++--- + devices/zmq_forwarder/Makefile.am | 1 - + devices/zmq_queue/Makefile.am | 1 - + devices/zmq_streamer/Makefile.am | 1 - + perf/Makefile.am | 4 ---- + 5 files changed, 3 insertions(+), 10 deletions(-) + +commit f6fa41dd7b3677d0f7441db83cbd6c8a0283a499 +Author: Martin Lucina +Date: Sat Apr 10 16:51:22 2010 +0200 + + Compile perf tests with the C++ compiler + + This lets us build the binaries in a portable fashion w/o having to worry + about how to link with the C++ runtime. + + configure.in | 7 --- + perf/Makefile.am | 8 ++-- + perf/local_lat.c | 106 --------------------------------------- + perf/local_lat.cpp | 106 +++++++++++++++++++++++++++++++++++++++ + perf/local_thr.c | 136 --------------------------------------------------- + perf/local_thr.cpp | 136 +++++++++++++++++++++++++++++++++++++++++++++++++++ + perf/remote_lat.c | 119 -------------------------------------------- + perf/remote_lat.cpp | 119 ++++++++++++++++++++++++++++++++++++++++++++ + perf/remote_thr.c | 98 ------------------------------------ + perf/remote_thr.cpp | 98 ++++++++++++++++++++++++++++++++++++ + 10 files changed, 463 insertions(+), 470 deletions(-) + +commit c214a24f06bb41885dfbd73e42acb6e043df05ef +Author: Martin Sustrik +Date: Sat Apr 10 16:27:07 2010 +0200 + + fix for Sun C++ 5.8 + + src/forwarder.cpp | 2 ++ + src/queue.cpp | 2 ++ + src/streamer.cpp | 2 ++ + 3 files changed, 6 insertions(+), 0 deletions(-) + +commit 770aedbd09fb1e11a4e4880da2603a517856c16c +Author: Martin Lucina +Date: Sat Apr 10 16:18:34 2010 +0200 + + Build fixes for Solaris and non-GNU compilers + + Compiling C++ code with -D_POSIX_SOURCE on Solaris is unsupported, so remove it. + Isolate GCC-isms inside checks that we are actually using GCC/G++. + Only check for -lstdc++ when on GCC and doing static linking. + + configure.in | 38 ++++++++++++++++++++++++++------------ + src/Makefile.am | 2 +- + 2 files changed, 27 insertions(+), 13 deletions(-) + +commit 1dc0380e29fecd70f6299243d81f67db850db616 +Author: Martin Lucina +Date: Sat Apr 10 13:28:45 2010 +0200 + + Debian packaging fixes suitable for 0MQ git + + Removed README.source, TODO.source since these are irrelevant to a generic + git package. + Fixed spelling in debian/copyright. + Removed RFC check in debian/rules, again irrelevant to a generic git package. + + debian/README.source | 37 ------------------------------------- + debian/TODO.source | 5 ----- + debian/copyright | 2 +- + debian/rules | 6 ------ + 4 files changed, 1 insertions(+), 49 deletions(-) + +commit 8aa2acd0f8906b95232e765da805e3fab947b76b +Author: Adrian von Bidder +Date: Sat Apr 10 13:23:09 2010 +0200 + + Debian packaging update from Adrian von Bidder + + debian/README.Debian | 10 +- + debian/README.source | 37 ++++++++ + debian/TODO.source | 5 + + debian/changelog | 24 ++++- + debian/cl-zeromq.files | 7 -- + debian/cl-zeromq.install | 6 - + debian/cl-zeromq.links | 1 - + debian/control | 195 +++++++++++---------------------------- + debian/copyright | 105 +++++++++++++++++++-- + debian/dirs | 5 - + debian/docs | 2 - + debian/libzeromq-dev.files | 37 -------- + debian/libzeromq-dev.install | 19 ---- + debian/libzeromq-python.files | 1 - + debian/libzeromq-python.install | 1 - + debian/libzeromq-ruby.files | 1 - + debian/libzeromq-ruby.install | 1 - + debian/libzeromq0.files | 2 - + debian/libzeromq0.install | 1 - + debian/libzmq-dev.install | 5 + + debian/libzmq-dev.manpages | 2 + + debian/libzmq0.install | 1 + + debian/libzmq0.manpages | 5 + + debian/rules | 126 +++++++++---------------- + debian/shlibs.local | 1 - + debian/source/format | 1 + + debian/source/options | 1 + + debian/zeromq-bin.install | 3 + + debian/zeromq-bin.manpages | 3 + + debian/zeromq-examples.files | 2 - + debian/zeromq-examples.install | 2 - + debian/zeromq-perf.files | 10 -- + debian/zeromq-perf.install | 10 -- + debian/zeromq-utils.files | 6 - + debian/zeromq-utils.install | 6 - + 35 files changed, 283 insertions(+), 361 deletions(-) + +commit 1d28dc9059d0014314ad22d98ddb7c6f21c151e7 +Author: Martin Lucina +Date: Fri Apr 9 19:15:40 2010 +0200 + + Fix for Issue #14 + + Don't fail hard if an unreleased tarball is being built and asciidoc is + not installed; instead just print a big fat warning + + configure.in | 23 +++++++++-------------- + 1 files changed, 9 insertions(+), 14 deletions(-) + +commit 6ea76e95736152e83f977ad860f40a231cedb1ef +Author: Martin Sustrik +Date: Fri Apr 9 16:24:21 2010 +0200 + + version bumped to 2.0.7 + + configure.in | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 716f4ac8714d33d21f9853f58482e35c1e3ad934 +Author: Martin Sustrik +Date: Fri Apr 9 13:04:15 2010 +0200 + + zmq_getsockopt function added + + include/zmq.h | 2 + + src/options.cpp | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++- + src/options.hpp | 1 + + src/socket_base.cpp | 7 +++ + src/socket_base.hpp | 4 +- + src/zmq.cpp | 6 +++ + 6 files changed, 122 insertions(+), 4 deletions(-) + +commit 027bb1d2a7c83c7c719f6bdc3100eb639019d2f0 +Author: Martin Sustrik +Date: Thu Apr 8 19:20:42 2010 +0200 + + issue 10 - zmq_strerror problem on Windows + + src/zmq.cpp | 4 ++++ + 1 files changed, 4 insertions(+), 0 deletions(-) + +commit 5cd9f74a70e2c8503c29aaca881c193a936b7b44 +Author: Martin Sustrik +Date: Thu Apr 8 19:04:32 2010 +0200 few fixed related to multi-part messages in REP socket -commit 77cbd18e9c0480a6c26fd29de5d70569762108be -Author: Martin Sustrik -Date: Thu Apr 8 11:07:22 2010 +0200 + src/rep.cpp | 21 +++++++++++++-------- + 1 files changed, 13 insertions(+), 8 deletions(-) + +commit 77cbd18e9c0480a6c26fd29de5d70569762108be +Author: Martin Sustrik +Date: Thu Apr 8 11:07:22 2010 +0200 + + issue 11 - Assertion failed: it != peers.end () (pgm_receiver.cpp:161) + + src/pgm_receiver.cpp | 15 ++++++++------- + 1 files changed, 8 insertions(+), 7 deletions(-) + +commit 38e9103e0c82bcbb61a9c23ed3a4ace1c7420f95 +Author: Martin Sustrik +Date: Thu Apr 8 08:33:38 2010 +0200 + + issue 13 (Assertion failed: load.get () == 0 (epoll.cpp:49)) fixed + + src/object.cpp | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +commit 0f7aab5212ef66f7e292fe4ca891660859972ec4 +Merge: 745db9c b0250cc +Author: Martin Sustrik +Date: Wed Apr 7 11:54:34 2010 +0200 + + Merge branch 'master' of git@github.com:sustrik/zeromq2 + +commit 745db9c574153160214470563bea3b53ab4c292a +Author: Martin Sustrik +Date: Wed Apr 7 11:54:09 2010 +0200 + + unitialised member in seesion_t class - fixed + + src/session.cpp | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +commit b0250cc89df8d6c3d3fff7c8edc17a09ceaaa107 +Author: Martin Sustrik +Date: Wed Apr 7 10:41:11 2010 +0200 + + Win32 build fixed + + builds/msvc/libzmq/libzmq.vcproj | 24 ++++++++++++++++++++++++ + 1 files changed, 24 insertions(+), 0 deletions(-) + +commit 065e4d00ff628097ce693ac7d9056fbcaf23d0bc +Merge: edfd05d a7973a2 +Author: Martin Sustrik +Date: Wed Apr 7 08:20:24 2010 +0200 + + Merge branch 'master' of git@github.com:sustrik/zeromq2 + +commit edfd05df8ef58afc498795cb74906c07ee396f76 +Author: Jon Dyte +Date: Wed Apr 7 08:20:01 2010 +0200 + + devices can be created via API + + devices/zmq_forwarder/zmq_forwarder.cpp | 6 +-- + devices/zmq_queue/zmq_queue.cpp | 110 +------------------------------ + devices/zmq_streamer/zmq_streamer.cpp | 6 +-- + include/zmq.h | 10 +++ + include/zmq.hpp | 7 ++ + src/Makefile.am | 6 ++ + src/forwarder.cpp | 36 ++++++++++ + src/forwarder.hpp | 31 +++++++++ + src/queue.cpp | 98 +++++++++++++++++++++++++++ + src/queue.hpp | 31 +++++++++ + src/streamer.cpp | 36 ++++++++++ + src/streamer.hpp | 31 +++++++++ + src/zmq.cpp | 20 ++++++ + 13 files changed, 309 insertions(+), 119 deletions(-) + +commit a7973a2c4997e2ff79126eb073dc675c574de917 +Author: Martin Lucina +Date: Tue Apr 6 15:23:13 2010 +0200 + + Documentation fixes + + doc/zmq_bind.txt | 6 +++--- + doc/zmq_setsockopt.txt | 7 +++++-- + 2 files changed, 8 insertions(+), 5 deletions(-) + +commit 0777567e8911382ac42859f907730df023ebec26 +Author: Martin Sustrik +Date: Tue Apr 6 07:33:52 2010 +0200 + + ENODEV from zmq_bind error described + + doc/zmq_bind.txt | 4 +++- + 1 files changed, 3 insertions(+), 1 deletions(-) + +commit 37fd1a77a6927ae351e10fe8d5b68d0b0d525d22 +Author: Martin Hurton +Date: Wed Mar 31 15:15:16 2010 +0200 + + Handle full-pipe for REP sockets more gracefully + + src/rep.cpp | 14 ++++++++++---- + 1 files changed, 10 insertions(+), 4 deletions(-) + +commit 2f219d7c287cd518bc77b576e507d7a17c9535e9 +Author: Martin Sustrik +Date: Sat Mar 27 21:25:40 2010 +0100 + + ZMQ_TBC renamed to ZMQ_MORE + + include/zmq.h | 4 ++-- + src/fq.cpp | 12 ++++++------ + src/fq.hpp | 2 +- + src/lb.cpp | 12 ++++++------ + src/lb.hpp | 2 +- + src/pipe.cpp | 6 +++--- + src/pub.cpp | 2 +- + src/rep.cpp | 22 +++++++++++----------- + src/rep.hpp | 2 +- + src/req.cpp | 20 ++++++++++---------- + src/req.hpp | 2 +- + src/session.cpp | 2 +- + src/socket_base.cpp | 6 +++--- + src/sub.cpp | 14 +++++++------- + src/sub.hpp | 2 +- + src/zmq_encoder.cpp | 6 +++--- + 16 files changed, 58 insertions(+), 58 deletions(-) + +commit 842b4dd2e492459cbc0cc79ffdb34ddab8f0b528 +Author: Martin Sustrik +Date: Sat Mar 27 14:57:56 2010 +0100 + + muti-part message functionality available via API + + include/zmq.h | 1 + + src/socket_base.cpp | 5 +++++ + 2 files changed, 6 insertions(+), 0 deletions(-) + +commit 8d8e0857be3d2ab941de443e436061ef82752c17 +Author: Martin Sustrik +Date: Sat Mar 27 14:50:35 2010 +0100 + + as advertised, zmq_flush and ZMQ_NOFLUSH were removed + + include/zmq.h | 2 -- + src/zmq.cpp | 6 ------ + 2 files changed, 0 insertions(+), 8 deletions(-) + +commit 06538fc11790a0cf895c43d137a33febf97f3a28 +Author: Martin Sustrik +Date: Sat Mar 27 14:24:57 2010 +0100 + + multi-part messages work with REQ/REP sockets + + src/rep.cpp | 71 +++++++++++++++++++++++++++++++++++++++-------------------- + src/rep.hpp | 9 +++++- + src/req.cpp | 61 +++++++++++++++++++++++++++++++++----------------- + src/req.hpp | 9 +++++- + 4 files changed, 101 insertions(+), 49 deletions(-) + +commit bbfac783f91f6692b7f9c0aa5392ac955f7b49bf +Author: Martin Sustrik +Date: Sat Mar 27 09:43:49 2010 +0100 + + multi-part message work with UPSTREAM/DOWNSTREAM + + src/lb.cpp | 25 +++++++++++++++++++------ + src/lb.hpp | 3 +++ + 2 files changed, 22 insertions(+), 6 deletions(-) + +commit ed291b02516ac5c9fe01f328d505305d36fe6319 +Author: Martin Sustrik +Date: Sat Mar 27 09:24:38 2010 +0100 + + multi-part messages work with PUB/SUB + + src/fq.cpp | 31 +++++++++++++++++++++++++------ + src/fq.hpp | 4 ++++ + src/pipe.cpp | 10 ++++++++-- + src/pub.cpp | 3 ++- + src/sub.cpp | 27 +++++++++++++++++++++++++-- + src/sub.hpp | 4 ++++ + src/ypipe.hpp | 2 +- + 7 files changed, 69 insertions(+), 12 deletions(-) + +commit 0b9897b141ae03ccd00132a638d030a2521cf5b3 +Merge: 0a53ff7 783463a +Author: Martin Sustrik +Date: Fri Mar 26 12:15:47 2010 +0100 + + Merge branch 'master' of git@github.com:sustrik/zeromq2 + +commit 783463ac49aeb2d1be57dc9b3669d508187415a8 +Author: Martin Lucina +Date: Thu Mar 25 17:31:18 2010 +0100 + + Clarify use of poll() with C++ API, fix typo + + doc/zmq_cpp.txt | 5 ++++- + 1 files changed, 4 insertions(+), 1 deletions(-) + +commit c802a72a0b4aae06cd65158af3c65e65e0dfc2e0 +Author: Vitaly Mayatskikh +Date: Mon Mar 22 22:31:37 2010 +0100 + + configure does not mention xmlto when missing + + configure.in | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 0a53ff7b9f8a212793c540535c322bfaa93d3430 +Merge: f031677 93bdb79 +Author: Martin Sustrik +Date: Sat Mar 20 19:51:29 2010 +0100 + + Merge branch 'master' of git@github.com:sustrik/zeromq2 + +commit 93bdb792a92b9bd235c7be47a13febf429568301 +Author: Martin Sustrik +Date: Sat Mar 20 19:50:36 2010 +0100 + + PUB socket was blocking occassionally - fixed + + src/pub.cpp | 84 ++++++++++++++++++++++++++-------------------------------- + src/pub.hpp | 17 ++++++----- + 2 files changed, 47 insertions(+), 54 deletions(-) + +commit f031677100b41347e09932fc973040097a2187e4 +Author: Martin Sustrik +Date: Sat Mar 20 15:04:30 2010 +0100 + + rollback of half-processed messages in case of disconnection + + src/session.cpp | 27 ++++++++++++++++++++++++++- + src/session.hpp | 4 ++++ + 2 files changed, 30 insertions(+), 1 deletions(-) + +commit dfdaff5eba1e6980adb3326c119d2070d0ad42bb +Author: Martin Sustrik +Date: Sat Mar 20 10:58:59 2010 +0100 + + XREP-style prefixing/trimming messages removed + + src/i_engine.hpp | 10 ++-------- + src/options.cpp | 3 +-- + src/options.hpp | 3 --- + src/pgm_receiver.cpp | 12 ------------ + src/pgm_receiver.hpp | 2 -- + src/pgm_sender.cpp | 12 ------------ + src/pgm_sender.hpp | 2 -- + src/session.cpp | 5 ----- + src/xrep.cpp | 5 ++--- + src/zmq_decoder.cpp | 48 +++++++----------------------------------------- + src/zmq_decoder.hpp | 8 -------- + src/zmq_encoder.cpp | 31 ++++--------------------------- + src/zmq_encoder.hpp | 6 ------ + src/zmq_engine.cpp | 10 ---------- + src/zmq_engine.hpp | 2 -- + src/zmq_init.cpp | 3 +-- + 16 files changed, 17 insertions(+), 145 deletions(-) + +commit cbaf10978a8ffa98d98161aeec8d020c517b127b +Author: Martin Sustrik +Date: Fri Mar 19 09:14:26 2010 +0100 + + fixes for building with Sun CC + + src/dispatcher.cpp | 3 ++- + src/tcp_listener.cpp | 6 +++--- + 2 files changed, 5 insertions(+), 4 deletions(-) + +commit ae35a1644cd8f2441de73f1260c46bb0da6a1605 +Author: Martin Sustrik +Date: Tue Mar 16 19:02:50 2010 +0100 + + fix include paths in perf on Win32 + + perf/local_lat.c | 2 +- + perf/local_thr.c | 2 +- + perf/remote_lat.c | 2 +- + perf/remote_thr.c | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +commit 49a30d49f37148db1be105615668998c8fb8ea86 +Author: Martin Sustrik +Date: Tue Mar 16 17:49:39 2010 +0100 + + Update contributors for 2.0.6 + + AUTHORS | 96 +++++++++++++++++++++++++++++++----------------------------- + ChangeLog | 19 +++++++---- + 2 files changed, 62 insertions(+), 53 deletions(-) + +commit fe18ce1abab2ef43f97ef6f2b093a69f42cb7103 +Author: Martin Sustrik +Date: Tue Mar 16 17:11:23 2010 +0100 + + ChangeLog for v2.0.6 + + ChangeLog | 1499 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 files changed, 1499 insertions(+), 0 deletions(-) + +commit 38c942ae648115ac10320968eb4b5e235ef15674 +Author: Martin Sustrik +Date: Tue Mar 16 17:07:17 2010 +0100 + + Add Git location to README + + README | 4 +++- + 1 files changed, 3 insertions(+), 1 deletions(-) + +commit 6d5a9e96400025044af8172887ef99589c0d1eb1 +Author: Martin Sustrik +Date: Tue Mar 16 16:20:23 2010 +0100 + + Update README + + README | 39 +++++++++++++++++++++++++++++++++++++-- + 1 files changed, 37 insertions(+), 2 deletions(-) + +commit ad75d0213483f3c585ce144386623e64e65eca0d +Author: Martin Sustrik +Date: Tue Mar 16 15:48:16 2010 +0100 + + Add MSVC build files to distribution + + .gitignore | 12 ++++-------- + Makefile.am | 2 +- + builds/msvc/Makefile.am | 12 ++++++++++++ + configure.in | 3 ++- + 4 files changed, 19 insertions(+), 10 deletions(-) + +commit a9e0c3cd7e0c54f872749f387cf3d69b216bc613 +Author: Martin Sustrik +Date: Tue Mar 16 15:37:47 2010 +0100 + + Removing leftover MSVC builds + + builds/msvc/display/display.vcproj | 176 ------------------------------------ + builds/msvc/prompt/prompt.vcproj | 176 ------------------------------------ + 2 files changed, 0 insertions(+), 352 deletions(-) + +commit 5472861179ff232c55e7a7021a93da5c680f2017 +Merge: 8a3f974 8fcf6ff +Author: Martin Sustrik +Date: Tue Mar 16 15:24:57 2010 +0100 + + Merge branch 'master' of git@github.com:sustrik/zeromq2 + +commit 8a3f97400a2b3ef2ec088a00868087b85cfd81b6 +Author: Martin Sustrik +Date: Tue Mar 16 15:23:55 2010 +0100 + + Clarify zmq_poll restrictions + + doc/zmq_poll.txt | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) + +commit 1705ec224745b935e13d8f18ef81bcbef45ff143 +Author: Martin Lucina +Date: Tue Mar 16 15:19:38 2010 +0100 + + C++ interface documentation updates + + doc/zmq_cpp.txt | 195 ++++++++++++++++++++++++++++++++++++++++++------------ + 1 files changed, 151 insertions(+), 44 deletions(-) + +commit 8fcf6ffb67aba2ff9f78f4ba327d29755f03535a +Author: Martin Lucina +Date: Mon Mar 15 15:47:17 2010 +0100 + + Cleanups to autogen.sh + + autogen.sh | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit fceba036279a0e9bb39aebd862b70ad1bb5b3f40 +Author: Martin Lucina +Date: Mon Mar 15 15:45:38 2010 +0100 + + Cleanups to autogen.sh + + Use POSIX "command -v" construct to test for prerequisite commands + Clarify error messages on failure + + autogen.sh | 30 ++++++++++++++---------------- + 1 files changed, 14 insertions(+), 16 deletions(-) + +commit 61ad236e9543a569fe066872a5fda4fa40ea7591 +Author: Martin Sustrik +Date: Sat Mar 13 14:40:10 2010 +0100 + + ZMQ_NOFLUSH and zmq_flush obsoleted + + doc/Makefile.am | 2 +- + doc/zmq.txt | 1 - + doc/zmq_flush.txt | 55 --------------------------------------------------- + doc/zmq_send.txt | 8 ------- + doc/zmq_socket.txt | 1 - + include/zmq.hpp | 7 ------ + src/downstream.cpp | 10 --------- + src/downstream.hpp | 1 - + src/lb.cpp | 3 +- + src/p2p.cpp | 10 +-------- + src/p2p.hpp | 1 - + src/pub.cpp | 17 ++------------- + src/pub.hpp | 1 - + src/rep.cpp | 6 ----- + src/rep.hpp | 1 - + src/req.cpp | 6 ----- + src/req.hpp | 1 - + src/socket_base.cpp | 5 ---- + src/socket_base.hpp | 2 - + src/sub.cpp | 6 ----- + src/sub.hpp | 1 - + src/upstream.cpp | 6 ----- + src/upstream.hpp | 1 - + src/xrep.cpp | 6 ----- + src/xrep.hpp | 1 - + src/xreq.cpp | 7 ------ + src/xreq.hpp | 1 - + src/zmq.cpp | 3 +- + 28 files changed, 8 insertions(+), 162 deletions(-) + +commit c42343d3f027248514344aec9e3814dfe1047d59 +Author: Martin Sustrik +Date: Sat Mar 13 12:34:55 2010 +0100 + + pipe_t::rollback removes only unfinished message from the pipe rather than all unflushed messages + + src/pipe.cpp | 4 ++++ + src/pipe.hpp | 2 +- + 2 files changed, 5 insertions(+), 1 deletions(-) + +commit dcb983699e52bf2e075baaeef250bcd3c82e4846 +Author: Martin Sustrik +Date: Sat Mar 13 08:59:46 2010 +0100 + + zmq_queue implementation added + + devices/zmq_queue/zmq_queue.cpp | 114 +++++++++++++++++++++++++++++++++++++-- + 1 files changed, 109 insertions(+), 5 deletions(-) + +commit 22db38bf3d9c96a840af50300632d44fd01ed3a8 +Author: unknown +Date: Fri Mar 12 20:20:25 2010 +0100 + + MSVC build: C++ perf tests removed; all executables go into bin directory + + builds/msvc/c_local_lat/c_local_lat.vcproj | 8 +- + builds/msvc/c_local_thr/c_local_thr.vcproj | 8 +- + builds/msvc/c_remote_lat/c_remote_lat.vcproj | 8 +- + builds/msvc/c_remote_thr/c_remote_thr.vcproj | 8 +- + builds/msvc/cpp_local_lat/cpp_local_lat.vcproj | 176 ---------------------- + builds/msvc/cpp_local_thr/cpp_local_thr.vcproj | 176 ---------------------- + builds/msvc/cpp_remote_lat/cpp_remote_lat.vcproj | 176 ---------------------- + builds/msvc/cpp_remote_thr/cpp_remote_thr.vcproj | 176 ---------------------- + builds/msvc/msvc.sln | 44 +----- + builds/msvc/zmq_forwarder/zmq_forwarder.vcproj | 2 + + builds/msvc/zmq_queue/zmq_queue.vcproj | 2 + + builds/msvc/zmq_streamer/zmq_streamer.vcproj | 2 + + 12 files changed, 26 insertions(+), 760 deletions(-) + +commit c08a7f8896e8fdae8379d2fce552b360daaeadc8 +Author: Martin Sustrik +Date: Fri Mar 12 20:02:19 2010 +0100 + + C perf tests are built non-optionally; C++ perf tests removed + + Makefile.am | 6 +-- + configure.in | 26 +--------- + perf/Makefile.am | 131 ++++++++++++++++++++++++++++++++++++++++++++- + perf/c/Makefile.am | 129 -------------------------------------------- + perf/c/local_lat.c | 106 ------------------------------------ + perf/c/local_thr.c | 136 ----------------------------------------------- + perf/c/remote_lat.c | 119 ----------------------------------------- + perf/c/remote_thr.c | 98 ---------------------------------- + perf/cpp/Makefile.am | 20 ------- + perf/cpp/local_lat.cpp | 52 ------------------ + perf/cpp/local_thr.cpp | 71 ------------------------ + perf/cpp/remote_lat.cpp | 63 ---------------------- + perf/cpp/remote_thr.cpp | 54 ------------------- + perf/local_lat.c | 106 ++++++++++++++++++++++++++++++++++++ + perf/local_thr.c | 136 +++++++++++++++++++++++++++++++++++++++++++++++ + perf/remote_lat.c | 119 +++++++++++++++++++++++++++++++++++++++++ + perf/remote_thr.c | 98 ++++++++++++++++++++++++++++++++++ + 17 files changed, 590 insertions(+), 880 deletions(-) + +commit 1fbeba2fe3c3bd6046eea4d6432791194d4238f2 +Author: Martin Sustrik +Date: Fri Mar 12 19:05:56 2010 +0100 + + simplify configuration summary + + configure.in | 19 ++++--------------- + 1 files changed, 4 insertions(+), 15 deletions(-) + +commit 66b67fbdf2b047ef7adb8ec018a6fe89dd9cbfca +Author: Martin Sustrik +Date: Fri Mar 12 18:58:29 2010 +0100 + + devices are built unconditionally + + configure.in | 34 ---------------------------------- + devices/Makefile.am | 13 +------------ + src/req.cpp | 2 +- + 3 files changed, 2 insertions(+), 47 deletions(-) + +commit 430aa533347dcbca57857d318a6898f480967cba +Author: Martin Sustrik +Date: Fri Mar 12 18:42:38 2010 +0100 + + text concerning language bindings removed from configure + + configure.in | 3 --- + 1 files changed, 0 insertions(+), 3 deletions(-) + +commit 54df388aced3ae059009eec3df66c7dea717747b +Author: unknown +Date: Fri Mar 12 18:05:38 2010 +0100 + + Java binding removed from MSVC build + + builds/msvc/j_local_lat/j_local_lat.vcproj | 78 -------- + builds/msvc/j_local_thr/j_local_thr.vcproj | 78 -------- + builds/msvc/j_remote_lat/j_remote_lat.vcproj | 78 -------- + builds/msvc/j_remote_thr/j_remote_thr.vcproj | 78 -------- + builds/msvc/java/java.vcproj | 272 -------------------------- + builds/msvc/msvc.sln | 45 ----- + 6 files changed, 0 insertions(+), 629 deletions(-) + +commit 6badd204d5686de8b2a6e8ee88da78260c0ff949 +Author: Martin Hurton +Date: Wed Mar 3 17:25:46 2010 +0100 + + Implement flow control for ZMQ_REP sockets + + src/rep.cpp | 14 +++++++------- + 1 files changed, 7 insertions(+), 7 deletions(-) + +commit 923609b0922c3bf07f16c8c99aba4fe98f08ef60 +Author: Martin Hurton +Date: Tue Mar 2 22:23:34 2010 +0100 + + Implement flow control for ZMQ_REQ sockets + + src/req.cpp | 98 ++++++++++++++++++++++++++++++++++++++++++++++------------ + src/req.hpp | 3 ++ + 2 files changed, 80 insertions(+), 21 deletions(-) + +commit 42e575cb6b62fe1e5d12d2e4fb5c6874d47eb57e +Author: Martin Hurton +Date: Tue Mar 2 12:41:33 2010 +0100 + + Implement flow control fox ZMQ_XREP sockets + + src/xrep.cpp | 8 +++++--- + 1 files changed, 5 insertions(+), 3 deletions(-) + +commit e34184acc327ae4b085a1a50ff6502e2dc148522 +Author: Martin Hurton +Date: Tue Mar 2 11:15:50 2010 +0100 + + Implement flow control for ZMQ_XREQ sockets + + src/xreq.cpp | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 06d7a447378c8e9f0805c219deaf8e7e7ef1eeb0 +Author: Martin Hurton +Date: Tue Mar 2 10:48:30 2010 +0100 + + Implement flow control for ZMQ_PUB sockets + + src/pub.cpp | 34 ++++++++++++++++++++++++++-------- + src/pub.hpp | 7 +++++++ + 2 files changed, 33 insertions(+), 8 deletions(-) + +commit f9c84a1a689f4f64cfa45cb22d4f02ec246c7f93 +Author: Martin Hurton +Date: Mon Mar 1 17:21:23 2010 +0100 + + Implement flow control for ZMQ_DOWNSTREAM sockets + + src/downstream.cpp | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 5d4f6b18cd57897cc0e77e474118e104a0d5cfc3 +Author: Martin Hurton +Date: Mon Mar 1 16:55:13 2010 +0100 + + Implement flow control for ZMQ_P2P sockets + + src/p2p.cpp | 21 +++++++++++++++------ + src/p2p.hpp | 1 + + 2 files changed, 16 insertions(+), 6 deletions(-) + +commit f9521c6b6a35103c03b742a311a34d7b04da0b84 +Author: Martin Hurton +Date: Tue Mar 2 09:02:40 2010 +0100 + + PGM: implement flow control + + src/pgm_receiver.cpp | 50 ++++++++++++++++++++++++++++++++++++++++++++++---- + src/pgm_receiver.hpp | 9 +++++++++ + 2 files changed, 55 insertions(+), 4 deletions(-) + +commit 61ee6fae536a8000be87b5aaf271f6519a3b7d3f +Author: Martin Hurton +Date: Mon Mar 1 10:13:26 2010 +0100 + + Implement flow control + + This commit introduces the necessary changes necessary + for implementing flow control. None of the socket types + implements the flow control yet. The code will crash when + the flow control is enabled and the thw lwm is reached. + + The following commits will add flow-control support for + individual socket types. + + src/command.hpp | 8 +++++++ + src/downstream.cpp | 6 ++++- + src/downstream.hpp | 1 + + src/err.hpp | 6 +++++ + src/i_endpoint.hpp | 1 + + src/i_engine.hpp | 2 + + src/lb.cpp | 49 +++++++++++++++++++----------------------- + src/lb.hpp | 1 - + src/object.cpp | 19 ++++++++++++++++ + src/object.hpp | 3 ++ + src/options.cpp | 8 +++--- + src/options.hpp | 4 +- + src/p2p.cpp | 11 ++++++--- + src/p2p.hpp | 1 + + src/pgm_receiver.cpp | 5 ++++ + src/pgm_receiver.hpp | 1 + + src/pgm_sender.cpp | 5 ++++ + src/pgm_sender.hpp | 1 + + src/pipe.cpp | 57 ++++++++++++++++++++++++++++++++++++++++--------- + src/pipe.hpp | 29 ++++++++++++++++-------- + src/pub.cpp | 16 ++++++++++--- + src/pub.hpp | 1 + + src/rep.cpp | 10 +++++++- + src/rep.hpp | 1 + + src/req.cpp | 11 ++++++--- + src/req.hpp | 1 + + src/session.cpp | 7 ++++++ + src/session.hpp | 1 + + src/socket_base.cpp | 5 ++++ + src/socket_base.hpp | 2 + + src/sub.cpp | 5 ++++ + src/sub.hpp | 1 + + src/upstream.cpp | 5 ++++ + src/upstream.hpp | 1 + + src/xrep.cpp | 8 ++++++- + src/xrep.hpp | 1 + + src/xreq.cpp | 6 ++++- + src/xreq.hpp | 1 + + src/zmq_engine.cpp | 17 ++++++++++---- + src/zmq_engine.hpp | 1 + + 40 files changed, 242 insertions(+), 77 deletions(-) + +commit 31d36104aa7caead6f299f0c5cb58a9fde7cf9b0 +Author: Martin Lucina +Date: Fri Mar 12 10:34:11 2010 +0100 + + devices/ build fixed + + devices/zmq_forwarder/zmq_forwarder.cpp | 2 +- + devices/zmq_queue/zmq_queue.cpp | 2 +- + devices/zmq_streamer/zmq_streamer.cpp | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +commit 10bbe6af9900b4609cfcadc031dcf4dcb8ebfb3b +Author: Martin Lucina +Date: Thu Mar 11 20:43:51 2010 +0100 + + Cleanup .gitignore + + .gitignore | 6 ------ + 1 files changed, 0 insertions(+), 6 deletions(-) + +commit 27e2d08449ea52649e2e42b263f76fbd5d8382c5 +Author: Martin Lucina +Date: Thu Mar 11 20:33:27 2010 +0100 + + Restructure language bindings + + C and C++ headers moved from bindings/ to include/, bindings/ removed + --with-c and --with-cpp options to configure removed, C and C++ now built + and installed by default + + bindings/c/zmq.h | 249 --------------------------------------------- + bindings/cpp/zmq.hpp | 266 ------------------------------------------------- + configure.in | 32 +------ + include/zmq.h | 249 +++++++++++++++++++++++++++++++++++++++++++++ + include/zmq.hpp | 266 +++++++++++++++++++++++++++++++++++++++++++++++++ + perf/Makefile.am | 10 +-- + perf/c/Makefile.am | 2 +- + perf/cpp/Makefile.am | 2 +- + src/Makefile.am | 12 +-- + src/app_thread.cpp | 2 +- + src/dispatcher.cpp | 2 +- + src/downstream.cpp | 2 +- + src/err.cpp | 2 +- + src/fq.cpp | 2 +- + src/i_inout.hpp | 2 +- + src/io_thread.cpp | 2 +- + src/lb.cpp | 2 +- + src/msg_content.hpp | 2 +- + src/options.cpp | 2 +- + src/p2p.cpp | 2 +- + src/pipe.cpp | 2 +- + src/pipe.hpp | 2 +- + src/pub.cpp | 2 +- + src/rep.cpp | 2 +- + src/req.cpp | 2 +- + src/socket_base.cpp | 2 +- + src/socket_base.hpp | 2 +- + src/sub.cpp | 2 +- + src/sub.hpp | 2 +- + src/tcp_connecter.cpp | 2 +- + src/tcp_listener.cpp | 2 +- + src/upstream.cpp | 2 +- + src/xrep.cpp | 2 +- + src/xreq.cpp | 2 +- + src/zmq.cpp | 2 +- + src/zmq_decoder.hpp | 2 +- + src/zmq_encoder.hpp | 2 +- + 37 files changed, 549 insertions(+), 595 deletions(-) + +commit 90944759b66771bbe399922eecedc5095fa2a509 +Author: Martin Lucina +Date: Thu Mar 11 20:12:55 2010 +0100 + + Removed Java binding from core distribution + + Makefile.am | 4 +- + bindings/Makefile.am | 7 - + bindings/java/Context.cpp | 112 ------------ + bindings/java/Makefile.am | 72 -------- + bindings/java/Poller.cpp | 126 ------------- + bindings/java/Socket.cpp | 345 ------------------------------------ + bindings/java/org/zmq/Context.java | 58 ------ + bindings/java/org/zmq/Poller.java | 135 -------------- + bindings/java/org/zmq/Socket.java | 134 -------------- + configure.in | 73 +------- + perf/Makefile.am | 8 +- + perf/java/Makefile.am | 5 - + perf/java/local_lat.java | 55 ------ + perf/java/local_thr.java | 71 -------- + perf/java/remote_lat.java | 60 ------- + perf/java/remote_thr.java | 57 ------ + 16 files changed, 9 insertions(+), 1313 deletions(-) + +commit 9fda070e4d66d538e3c709c6cb8934cbf4442c29 +Author: Martin Lucina +Date: Wed Mar 10 23:20:43 2010 +0100 + + Typeset literal correctly + + doc/zmq_pgm.txt | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +commit 0a1e0beaa2849a51ea659eba0f142ce340d2cc6d +Author: Martin Lucina +Date: Wed Mar 10 23:18:08 2010 +0100 + + Fixes to PGM wire format description + + doc/zmq_pgm.txt | 69 ++++++++++++++++++++++++++++++------------------------ + 1 files changed, 38 insertions(+), 31 deletions(-) + +commit 5fef480aeb28424769d97c92f331d87f87b87c85 +Author: Martin Lucina +Date: Wed Mar 10 13:52:41 2010 +0100 + + Fixes to TCP wire format specification + + doc/zmq_tcp.txt | 42 ++++++++++++++++++++++++++---------------- + 1 files changed, 26 insertions(+), 16 deletions(-) + +commit 8f90ae8dfdf5efbb6c8429897dc95cad621af00b +Author: Martin Sustrik +Date: Wed Mar 10 12:40:13 2010 +0100 + + wire formats in docs clarified + + doc/zmq_pgm.txt | 40 +++++++++++++++++++++++++++++++--------- + doc/zmq_tcp.txt | 22 +++++++++++++--------- + 2 files changed, 44 insertions(+), 18 deletions(-) + +commit 98801ebcaea1117ae596a3bae0653c3720a94359 +Author: Martin Lucina +Date: Wed Mar 10 12:19:39 2010 +0100 + + Documentation fixes + + doc/zmq.txt | 3 ++- + doc/zmq_bind.txt | 4 ++-- + doc/zmq_close.txt | 2 +- + doc/zmq_connect.txt | 4 ++-- + doc/zmq_flush.txt | 2 +- + doc/zmq_msg_close.txt | 2 +- + doc/zmq_msg_copy.txt | 2 +- + doc/zmq_msg_init.txt | 2 +- + doc/zmq_msg_init_data.txt | 2 +- + doc/zmq_msg_init_size.txt | 2 +- + doc/zmq_msg_move.txt | 2 +- + doc/zmq_poll.txt | 13 +++++++------ + doc/zmq_recv.txt | 2 +- + doc/zmq_send.txt | 2 +- + doc/zmq_setsockopt.txt | 18 ++++++++---------- + doc/zmq_socket.txt | 7 ++++--- + doc/zmq_term.txt | 2 +- + 17 files changed, 36 insertions(+), 35 deletions(-) + +commit bc468b34513a0fd76e69e03f3f978abd7d8c3871 +Author: Martin Lucina +Date: Tue Mar 9 19:29:41 2010 +0100 + + Add missing section with zmq_version() + + doc/zmq.txt | 8 ++++++++ + 1 files changed, 8 insertions(+), 0 deletions(-) + +commit edebff902a9785ecdb3a27f6a78ac7cc68b38a56 +Author: Martin Lucina +Date: Tue Mar 9 18:58:59 2010 +0100 + + Add dependency for zmq_epgm.7 + + doc/Makefile.am | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit ca70b40383fd12ce866054dd87cecb3d732c8d9f +Author: Martin Lucina +Date: Tue Mar 9 18:53:42 2010 +0100 + + Hack, zmq_epgm.7 needs to be copied from zmq_pgm.7 + + doc/Makefile.am | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +commit 1aee86408d575d6572b071d7564da7f006d1757e +Author: Martin Lucina +Date: Tue Mar 9 18:47:31 2010 +0100 + + Documentation rewrite + + doc/Makefile.am | 4 +- + doc/asciidoc.conf | 8 + + doc/zmq.txt | 227 ++++++++++++++++++------------ + doc/zmq_bind.txt | 60 +++++--- + doc/zmq_close.txt | 37 ++--- + doc/zmq_connect.txt | 60 +++++--- + doc/zmq_epgm.txt | 1 + + doc/zmq_flush.txt | 48 +++---- + doc/zmq_forwarder.txt | 17 ++- + doc/zmq_init.txt | 52 ++++---- + doc/zmq_inproc.txt | 85 ++++++++--- + doc/zmq_ipc.txt | 72 +++++++--- + doc/zmq_java.txt | 27 ---- + doc/zmq_msg_close.txt | 43 +++--- + doc/zmq_msg_copy.txt | 46 +++---- + doc/zmq_msg_data.txt | 32 ++--- + doc/zmq_msg_init.txt | 29 +++-- + doc/zmq_msg_init_data.txt | 51 ++++--- + doc/zmq_msg_init_size.txt | 51 +++---- + doc/zmq_msg_move.txt | 38 +++--- + doc/zmq_msg_size.txt | 35 ++--- + doc/zmq_pgm.txt | 174 +++++++++++++---------- + doc/zmq_poll.txt | 122 +++++++++++----- + doc/zmq_queue.txt | 17 ++- + doc/zmq_recv.txt | 53 ++++--- + doc/zmq_send.txt | 66 +++++---- + doc/zmq_setsockopt.txt | 348 ++++++++++++++++++++++++++++++--------------- + doc/zmq_socket.txt | 184 +++++++++++++------------ + doc/zmq_streamer.txt | 17 ++- + doc/zmq_strerror.txt | 25 ++-- + doc/zmq_tcp.txt | 129 ++++++++++++------ + doc/zmq_term.txt | 33 ++--- + doc/zmq_udp.txt | 56 ------- + doc/zmq_version.txt | 23 ++- + 34 files changed, 1297 insertions(+), 973 deletions(-) + +commit d790940fd06060c8a2c624b0e41e470ad31ae0d8 +Author: Martin Sustrik +Date: Tue Mar 9 18:14:49 2010 +0100 + + udp transport renamed to epgm + + configure.in | 4 ++-- + src/socket_base.cpp | 10 ++++------ + 2 files changed, 6 insertions(+), 8 deletions(-) + +commit 5a776f5597cac632ca507e2d80ca0de064bba1d6 +Author: Martin Sustrik +Date: Tue Mar 9 17:34:28 2010 +0100 + + PGM late joiners would start receiving a complete message rather than a message part + + src/zmq_encoder.cpp | 6 ++++-- + 1 files changed, 4 insertions(+), 2 deletions(-) + +commit 0f891e091cc46775226ee1fe28784876395a7b92 +Author: Martin Sustrik +Date: Tue Mar 9 17:24:42 2010 +0100 + + message flags from the wire are written to zmq_msg_t and vice versa + + src/zmq_decoder.cpp | 4 ++-- + src/zmq_encoder.cpp | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +commit 531c6af0d4df606ddef15da821dad20399b9480a +Author: Martin Sustrik +Date: Tue Mar 9 16:56:53 2010 +0100 + + message flags added to zmq_msg_t strcuture + + bindings/c/zmq.h | 14 +++++++++----- + src/pipe.cpp | 2 +- + src/pub.cpp | 4 ++-- + src/zmq.cpp | 14 ++++++++------ + 4 files changed, 20 insertions(+), 14 deletions(-) + +commit 96ccc1c5fceb56bd7ffc2e6bef9ddab5347d722b +Author: Martin Sustrik +Date: Tue Mar 9 15:10:44 2010 +0100 + + 'flags' fields added to the wire format + + src/zmq_decoder.cpp | 40 +++++++++++++++++++++++++++++----------- + src/zmq_decoder.hpp | 1 + + src/zmq_encoder.cpp | 11 ++++++++--- + src/zmq_encoder.hpp | 2 +- + 4 files changed, 39 insertions(+), 15 deletions(-) + +commit e04e2cdbbaf351eb04164bdcd293fcb8fa22a9a4 +Author: Martin Sustrik +Date: Tue Mar 9 08:43:20 2010 +0100 + + rollback functionality added to pipe + + src/pipe.cpp | 13 +++++++++++++ + src/pipe.hpp | 3 +++ + src/ypipe.hpp | 11 +++++++++++ + src/yqueue.hpp | 37 ++++++++++++++++++++++++++++++++++++- + 4 files changed, 63 insertions(+), 1 deletions(-) + +commit 9481c69b0f60068f12aa26699588fed6a8faceec +Author: Martin Sustrik +Date: Sat Mar 6 16:32:19 2010 +0100 + + problem with NIC name resolution on OSX fixed + + src/ip.cpp | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +commit 26b0aea24f9add0a1811e23f709d96b44b459571 +Author: Martin Lucina +Date: Wed Mar 3 17:01:08 2010 +0100 + + Win32 build fixes + + configure.in | 8 ++++---- + src/Makefile.am | 4 ++++ + src/ip.hpp | 10 +++++----- + src/uuid.hpp | 2 +- + 4 files changed, 14 insertions(+), 10 deletions(-) + +commit 352da8ae8775f057a7ec67a7bd3f2270ac1c4d0f +Author: unknown +Date: Wed Mar 3 15:47:21 2010 +0100 + + type mismatch in tcp_listener (win version) fixed + + src/tcp_listener.cpp | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +commit 14054ecce7d367d8e3d47f84f72d2fc748aec8e4 +Author: Martin Hurton +Date: Wed Mar 3 09:41:57 2010 +0100 + + Fix typo: zmq_close -> zmq_msg_close + + src/rep.cpp | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 708298d798693a19ace9a4811a3760d8de0a5c1d +Author: Martin Hurton +Date: Wed Mar 3 00:08:11 2010 +0100 + + Fix possible lockups when reading from ZMQ_REP sockets + + src/rep.cpp | 16 ++++++++++++++-- + 1 files changed, 14 insertions(+), 2 deletions(-) + +commit 157a66fc42d46c79edc01f6feed8f482fb5d53f1 +Author: unknown +Date: Mon Mar 1 18:33:16 2010 +0100 + + polling on POSIX sockets returns POLLERR (win32) + + src/zmq.cpp | 12 +++++++++--- + 1 files changed, 9 insertions(+), 3 deletions(-) + +commit 4e7158b67dcbbc307e76616a85aa34cc83ad6606 +Author: Martin Sustrik +Date: Mon Mar 1 17:40:39 2010 +0100 + + return POLLERR from polling on POSIX sockets (linux version) + + src/zmq.cpp | 11 ++++++++--- + 1 files changed, 8 insertions(+), 3 deletions(-) + +commit 7442f53956e5d32d9c6a3543f8bef1664a773926 +Merge: ea0a44c 83f85ea +Author: Martin Sustrik +Date: Sat Feb 27 14:18:21 2010 +0100 + + Merge branch 'master' of git@github.com:sustrik/zeromq2 + +commit ea0a44c8a964cad4276ec216319d32e95e4a4bc0 +Author: Martin Sustrik +Date: Sat Feb 27 14:18:02 2010 +0100 + + Ruby binding removed + + bindings/Makefile.am | 8 +- + bindings/ruby/Makefile.am | 11 -- + bindings/ruby/extconf.rb | 28 ----- + bindings/ruby/rbzmq.cpp | 288 --------------------------------------------- + configure.in | 57 +--------- + perf/Makefile.am | 8 +- + perf/ruby/Makefile.am | 1 - + perf/ruby/local_lat.rb | 41 ------- + perf/ruby/local_thr.rb | 61 ---------- + perf/ruby/remote_lat.rb | 53 -------- + perf/ruby/remote_thr.rb | 45 ------- + 11 files changed, 7 insertions(+), 594 deletions(-) + +commit 83f85ea51dee1fb2fcee22543a90361b860d6cb8 +Author: unknown +Date: Sat Feb 27 13:49:53 2010 +0100 + + ruby binding removed from msvc build + + builds/msvc/msvc.sln | 9 ----- + builds/msvc/ruby/ruby.vcproj | 68 ------------------------------------------ + 2 files changed, 0 insertions(+), 77 deletions(-) + +commit 696ada883331359bee76b1ea996d8ac846624bea +Author: unknown +Date: Sat Feb 27 13:36:52 2010 +0100 + + python binding removed from nsvc build + + builds/msvc/msvc.sln | 8 -- + builds/msvc/python/python.vcproj | 176 -------------------------------------- + 2 files changed, 0 insertions(+), 184 deletions(-) + +commit 45414b5444db0a1f7e325c7dce92fbe84667d093 +Author: Martin Sustrik +Date: Sat Feb 27 12:23:22 2010 +0100 + + python binding removed + + bindings/Makefile.am | 8 +- + bindings/python/Makefile.am | 7 - + bindings/python/pyzmq.cpp | 556 ------------------------------------------- + bindings/python/setup.py.in | 14 - + configure.in | 65 +----- + doc/Makefile.am | 2 +- + doc/zmq.txt | 3 - + doc/zmq_python.txt | 27 -- + perf/Makefile.am | 9 +- + perf/python/Makefile.am | 1 - + perf/python/local_lat.py | 49 ---- + perf/python/local_thr.py | 70 ------ + perf/python/remote_lat.py | 61 ----- + perf/python/remote_thr.py | 53 ---- + 14 files changed, 11 insertions(+), 914 deletions(-) + +commit efefa069b2ce407a7da4328ab024c47920a76960 +Author: Martin Lucina +Date: Fri Feb 26 20:03:58 2010 +0100 + + Cygwin support + + configure.in | 7 +++++++ + src/uuid.cpp | 3 ++- + src/uuid.hpp | 6 ++++-- + 3 files changed, 13 insertions(+), 3 deletions(-) + +commit deda7ca54a3c8f1ba735e8654ca87f8808606122 +Author: Martin Sustrik +Date: Fri Feb 26 17:28:09 2010 +0100 + + Java Poller patch + + .gitignore | 3 + + bindings/java/Context.cpp | 106 ------------------------------------ + bindings/java/Makefile.am | 22 ++++++-- + bindings/java/org/zmq/Context.java | 18 ------ + 4 files changed, 21 insertions(+), 128 deletions(-) + +commit 4a1a83887d6faf36cb01f1c69142e6aafafe5eba +Author: unknown +Date: Fri Feb 26 16:42:52 2010 +0100 + + Win32 build of Java binding fixed + + builds/msvc/java/java.vcproj | 36 ++++++++++++++++++++++++++++++++---- + 1 files changed, 32 insertions(+), 4 deletions(-) + +commit 4440b13c359dab2c1ba55e31c604ac093172d68e +Author: Martin Sustrik +Date: Fri Feb 26 15:55:36 2010 +0100 + + Poller object implemented in Java binding + + bindings/java/Poller.cpp | 126 ++++++++++++++++++++++++++++++++++ + bindings/java/org/zmq/Poller.java | 135 +++++++++++++++++++++++++++++++++++++ + 2 files changed, 261 insertions(+), 0 deletions(-) + +commit 1c4daf79ce12da75acb8010c99b3c1d509a7a950 +Author: Martin Sustrik +Date: Fri Feb 26 14:28:20 2010 +0100 + + MIT license text added + + COPYING.LESSER | 31 ++++++++++++++++++++++++++++--- + 1 files changed, 28 insertions(+), 3 deletions(-) + +commit 57e057c825156b6effd15c07ee302f4ccdd2561c +Author: Martin Sustrik +Date: Thu Feb 25 16:29:17 2010 +0100 + + 1st version of Java poll added + + bindings/java/Context.cpp | 140 ++++++++++++++++++++++++++++++------ + bindings/java/Socket.cpp | 89 +++++++++-------------- + bindings/java/org/zmq/Context.java | 21 +++++- + bindings/java/org/zmq/Socket.java | 5 +- + 4 files changed, 173 insertions(+), 82 deletions(-) + +commit ed8fe68383ca94ca33a9919bc2ed5b5a5d62cab0 +Author: Martin Sustrik +Date: Wed Feb 24 17:27:31 2010 +0100 + + handle invalid PGM connection string decently + + src/pgm_socket.cpp | 6 ++++++ + 1 files changed, 6 insertions(+), 0 deletions(-) + +commit be51cfa419bb6c75eb24d241769a7c5543c432a7 +Merge: 0b4172b b7f01f9 +Author: Martin Sustrik +Date: Wed Feb 24 16:19:53 2010 +0100 + + Merge branch 'master' of git@github.com:sustrik/zeromq2 + +commit 0b4172b8689b60ce254c6823d69962bbdbd031d4 +Author: Martin Sustrik +Date: Wed Feb 24 16:19:14 2010 +0100 + + minor cast issues on cygwin fixed + + src/ip.cpp | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +commit b7f01f9071c26292c30517bac18dae92efaf3ffb +Author: unknown +Date: Wed Feb 24 15:33:03 2010 +0100 + + chat example removed from win build; missing fd_signaler_t::poll on win added + + builds/msvc/msvc.sln | 18 ------------------ + src/fd_signaler.cpp | 26 +++++++++++++++++++------- + 2 files changed, 19 insertions(+), 25 deletions(-) + +commit 476ebde6280a428e2dd8fee7c70670aa449831c9 +Author: Martin Sustrik +Date: Wed Feb 24 13:02:29 2010 +0100 + + use binary UUIDs instead of string representation to save some bytes + + src/uuid.cpp | 87 +++++++++++++++++++++++++++++++++++++++++++++++------ + src/uuid.hpp | 22 +++++++++++-- + src/zmq_init.cpp | 6 ++-- + 3 files changed, 98 insertions(+), 17 deletions(-) + +commit cc5c30f5dc2d6490c0199709ceb2d86e3cc3895d +Author: Martin Lucina +Date: Wed Feb 24 12:09:24 2010 +0100 + + Fix: OpenPGM is now distributed as .tar.gz + + Makefile.am | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit bba36e6ee6ecdee5f3ded30b9f11e7684393bfd2 +Author: Martin Lucina +Date: Wed Feb 24 12:07:24 2010 +0100 + + Disable IPv6 support + + The current IPv6 support is half-assed and breaks for too many people. + Revert back to IPv4 only for now. + + src/ip.cpp | 18 ++++++++++-------- + 1 files changed, 10 insertions(+), 8 deletions(-) + +commit 39b89619742cf4aed25a5b3ccc5ff6d23d9d15cf +Author: Martin Lucina +Date: Wed Feb 24 09:41:10 2010 +0100 + + Update OpenPGM to 2.0.24 (stable) + + .gitignore | 1 + + configure.in | 16 ++++++++-------- + foreign/openpgm/libpgm-2.0.23rc8.tar.bz2 | Bin 321822 -> 0 bytes + foreign/openpgm/libpgm-2.0.24.tar.gz | Bin 0 -> 407110 bytes + 4 files changed, 9 insertions(+), 8 deletions(-) + +commit ccd47f1ee8c9268b99478c6cce3d8b1aada62566 +Author: Martin Sustrik +Date: Wed Feb 24 09:17:05 2010 +0100 + + chat example moved to separate repo + + Makefile.am | 4 +- + configure.in | 13 +-------- + examples/Makefile.am | 7 ----- + examples/chat/Makefile.am | 11 ------- + examples/chat/README | 42 ---------------------------- + examples/chat/display.cpp | 50 --------------------------------- + examples/chat/prompt.cpp | 67 --------------------------------------------- + 7 files changed, 3 insertions(+), 191 deletions(-) + +commit 8980a985828579d03f031b18a1bebcd65eded417 +Author: Martin Sustrik +Date: Wed Feb 24 08:29:29 2010 +0100 + + zmq_error used from ruby binding + + bindings/ruby/rbzmq.cpp | 27 +++++++++++++-------------- + 1 files changed, 13 insertions(+), 14 deletions(-) + +commit 551fa104ffdb8c417b7d75ce70c463992e7d4652 +Author: Martin Sustrik +Date: Tue Feb 23 23:43:31 2010 +0100 + + zmq_errno used in C++ binding + + bindings/cpp/zmq.hpp | 7 +++---- + 1 files changed, 3 insertions(+), 4 deletions(-) + +commit 95329719cda2b941e422d06daad3a7ba4c4a8829 +Author: Martin Sustrik +Date: Tue Feb 23 23:37:05 2010 +0100 + + zmq_errno is exported from the DLL + + bindings/c/zmq.h | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 2441ef11a22170499d7ae12865dc98a61230f7ed +Author: Martin Sustrik +Date: Tue Feb 23 23:28:25 2010 +0100 + + zmq_errno helper function added + + bindings/c/zmq.h | 10 ++++++++++ + src/zmq.cpp | 5 +++++ + 2 files changed, 15 insertions(+), 0 deletions(-) + +commit 2dd55605ea3956413cb25cab705ffdbdb2e00da5 +Author: Martin Sustrik +Date: Tue Feb 23 22:13:56 2010 +0100 + + recv fails after polling for IN on REQ socket + + src/req.cpp | 13 +++++++++---- + 1 files changed, 9 insertions(+), 4 deletions(-) + +commit 025c9e173c58971993858ea66fb2eeaf08de195d +Author: Martin Sustrik +Date: Tue Feb 23 17:22:52 2010 +0100 + + execution disabled on certain source files; some comments on java binding; MSVC temp files added to .gitignore + + .gitignore | 9 +++++++++ + bindings/java/org/zmq/Context.java | 2 ++ + bindings/java/org/zmq/Socket.java | 2 ++ + 3 files changed, 13 insertions(+), 0 deletions(-) + +commit 71b4947f951f0120e4aadccb42f2452bb95dba06 +Author: unknown +Date: Tue Feb 23 12:02:55 2010 +0100 + + Win32 build fixed + + builds/msvc/libzmq/libzmq.vcproj | 4 ++++ + 1 files changed, 4 insertions(+), 0 deletions(-) + +commit 7c0df6ee02eb792c6afea7f047539840addb2f02 +Author: Martin Sustrik +Date: Tue Feb 23 11:52:33 2010 +0100 + + Java binding beautified, inline documentation added + + AUTHORS | 1 + + bindings/java/Context.cpp | 106 ++++++++++++------- + bindings/java/Socket.cpp | 197 +++++++++++++++++++++++++++--------- + bindings/java/org/zmq/Context.java | 17 ++- + bindings/java/org/zmq/Socket.java | 59 +++++++---- + 5 files changed, 267 insertions(+), 113 deletions(-) + +commit ef1b5974891a30b15299464859023a531c2328f8 +Author: Martin Sustrik +Date: Tue Feb 23 10:01:54 2010 +0100 + + minor fix in zmq_socket(3) man page + + doc/zmq_socket.txt | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit b9a612ff3f74a3add607b054213d0f52e85cc426 +Merge: f249555 61f0ef5 +Author: Martin Sustrik +Date: Mon Feb 22 18:19:51 2010 +0100 + + Merge branch 'master' of git@github.com:sustrik/zeromq2 + +commit f24955519ac0d3b0da5dd87fbb7bfc8cc1e24295 +Author: Martin Sustrik +Date: Mon Feb 22 18:19:26 2010 +0100 + + zmq_poll doesn't exit when infinite timeout is set and interrupt occurs + + src/zmq.cpp | 56 +++++++++++++++++++++++++++++++++++++++----------------- + 1 files changed, 39 insertions(+), 17 deletions(-) + +commit 61f0ef569b2f879b6b4e1f247253ceec08e774c7 +Author: Martin Lucina +Date: Mon Feb 22 18:16:40 2010 +0100 + + NetBSD: Check for and use atomic_ops(3) if available + + configure.in | 18 ++++++++++++++---- + 1 files changed, 14 insertions(+), 4 deletions(-) + +commit 3a69cca386a895313729f418ee44443794feed0f +Author: Martin Lucina +Date: Mon Feb 22 16:42:13 2010 +0100 + + Fix $build_doc/$install_man check yet again + + configure.in | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 1294c1d33a1c73218eb94bf18ceb9ae873d08891 +Author: Martin Sustrik +Date: Sun Feb 21 16:58:53 2010 +0100 + + typo in zmq_ipc(7) fixed + + doc/zmq_ipc.txt | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +commit ff99d753ae30a7b5fef730fdcf1643e2928d9993 +Author: malosek +Date: Sat Feb 20 21:03:12 2010 +0100 + + Minor buid system tunning + + autogen.sh | 8 ++++++++ + configure.in | 1 - + 2 files changed, 8 insertions(+), 1 deletions(-) + +commit 740e531fbb47ad324737c075251c674e9dced6f1 +Author: Martin Sustrik +Date: Sat Feb 20 09:11:30 2010 +0100 + + Aleksey Yeschenko added to the credit section of AUTHORS file + + AUTHORS | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +commit 57148b1fdeec0080b77ecfa837add9557226261c +Author: Martin Lucina +Date: Fri Feb 19 18:23:54 2010 +0100 + + Add missing check for install_man=yes + + Fixes git builds w/o asciidoc, bug introduced in 46824abe + + configure.in | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 8b86dcf81cc7b80267f334f4f26dfd319532ad25 +Author: Martin Sustrik +Date: Fri Feb 19 17:50:47 2010 +0100 + + build on cygwin enabled + + AUTHORS | 1 + + configure.in | 3 +++ + src/poller.hpp | 2 ++ + 3 files changed, 6 insertions(+), 0 deletions(-) + +commit 727054547f32680f7db098497c2d7b1a0b20e2d8 +Author: Martin Sustrik +Date: Fri Feb 19 17:02:07 2010 +0100 + + don't check for identity, if the connection is anonymous + + src/session.cpp | 12 +++++++++--- + 1 files changed, 9 insertions(+), 3 deletions(-) + +commit aff1f6621ae13083c7f15f7f1f808560254a2dcb +Merge: 75f571c 2a79a94 +Author: Martin Sustrik +Date: Fri Feb 19 15:25:05 2010 +0100 + + Merge branch 'master' of git@github.com:sustrik/zeromq2 + +commit 75f571c8844231f4172f131e1dd6ba2348eb54e5 +Author: Martin Sustrik +Date: Fri Feb 19 15:24:43 2010 +0100 + + Multi-hop REQ/REP, part XII., generate unique identities for anonymous connections + + doc/zmq_setsockopt.txt | 10 ++++++---- + src/options.cpp | 9 +++++++++ + src/session.cpp | 6 +++--- + src/uuid.hpp | 6 +++--- + src/zmq_encoder.cpp | 1 - + src/zmq_engine.cpp | 4 +++- + src/zmq_init.cpp | 40 ++++++++++++++++++++-------------------- + 7 files changed, 44 insertions(+), 32 deletions(-) + +commit 2a79a943de417679c562cd4a917e1d1bc19b0d25 +Author: Martin Lucina +Date: Thu Feb 18 19:38:15 2010 +0100 + + Add NetBSD support + + configure.in | 13 +++++++++++++ + src/atomic_bitmap.hpp | 16 ++++++++-------- + src/atomic_counter.hpp | 14 +++++++------- + src/atomic_ptr.hpp | 14 +++++++------- + src/ip.cpp | 11 ++--------- + src/ip.hpp | 10 ++++++++++ + src/kqueue.cpp | 17 ++++++++++++++--- + src/kqueue.hpp | 3 ++- + src/poll.cpp | 3 ++- + src/poll.hpp | 3 ++- + src/poller.hpp | 2 ++ + src/tcp_listener.cpp | 2 +- + src/uuid.cpp | 2 +- + src/uuid.hpp | 4 ++-- + src/zmq.cpp | 6 ++++-- + 15 files changed, 77 insertions(+), 43 deletions(-) + +commit 776b12633981fd95050e138daeeba00a65d9532b +Author: Martin Lucina +Date: Thu Feb 18 19:27:35 2010 +0100 + + Fix typo + + configure.in | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit ab27f84b14a317d78a9dd145ef5c82e0ef88f583 +Author: Martin Lucina +Date: Thu Feb 18 19:27:15 2010 +0100 + + libstdc++ depends on libm on some platforms + + configure.in | 4 +++- + 1 files changed, 3 insertions(+), 1 deletions(-) + +commit 495f0d105f809a265c34aa9a0eb20af0dcdcf283 +Author: Martin Lucina +Date: Thu Feb 18 17:29:14 2010 +0100 + + Fix detection of libstdc++ + + We only care about libstdc++ when using GNU C++. + Further, libstdc++ depends on libm on some platforms, fix this. + + configure.in | 11 ++++++----- + 1 files changed, 6 insertions(+), 5 deletions(-) + +commit 46824abeb2b016c51f406401d965816f71189aed +Author: Martin Lucina +Date: Thu Feb 18 17:25:49 2010 +0100 + + Never build docs from tarball releases + + This fixes the build_doc logic to work as advertised and never + try to (re)build documentation when working with a tarball release. + + configure.in | 14 +++++++++++--- + doc/Makefile.am | 3 ++- + 2 files changed, 13 insertions(+), 4 deletions(-) + +commit 8be491b7bdb8525eb37cebf355697c566a482e2d +Author: Martin Lucina +Date: Thu Feb 18 13:46:00 2010 +0100 + + Use feature test macros more conservatively + + It turns out that feature test macros are a complete mess, and defining + _GNU_SOURCE and _POSIX_C_SOURCE together breaks some systems. So we try + and define the appropriate "make everything visible" combination specific + to each system instead. This may still break something, so people should + test their platforms and speak up if so. + + configure.in | 15 +++++++++++++-- + 1 files changed, 13 insertions(+), 2 deletions(-) + +commit d008637bc42da3fca50e423c2df0736be2745ac7 +Author: Martin Sustrik +Date: Wed Feb 17 21:16:59 2010 +0100 + + one more attempt to fix the previous win32 problem + + src/socket_base.cpp | 28 ++++++++++++++-------------- + 1 files changed, 14 insertions(+), 14 deletions(-) + +commit f97da5e6449b183ad3ebb9b0ba8c37ff3dc17387 +Merge: e385319 41354bf +Author: Martin Sustrik +Date: Wed Feb 17 20:33:46 2010 +0100 + + Merge branch 'master' of git@github.com:sustrik/zeromq2 + +commit e385319e5aaff6deafddfb216b24f026b461caa6 +Author: Martin Sustrik +Date: Wed Feb 17 20:33:00 2010 +0100 + + recv returning -1 while errno=0 fixed + + src/socket_base.cpp | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +commit 41354bfa9820eb4495cf98342177d036df2a7dc7 +Author: unknown +Date: Wed Feb 17 20:16:19 2010 +0100 + + zmq_version fixed on Win32 platform + + builds/msvc/platform.hpp | 5 +++++ + 1 files changed, 5 insertions(+), 0 deletions(-) + +commit f745c96a9bcf930d10fe31de5f7b3e772cccfa83 +Author: Martin Lucina +Date: Wed Feb 17 15:40:26 2010 +0100 + + Add POSIX and GNU Feature Test Macros + + This should fix more exotic POSIX platforms such as HPUX which insist on + having _POSIX_C_SOURCE defined to get proper threading behaviour. We also + define _GNU_SOURCE so that we get any extensions on systems with glibc, e.g. + eventfd. + + configure.in | 16 +++++----------- + 1 files changed, 5 insertions(+), 11 deletions(-) + +commit 9d8623b28f09f5a6db94c7d69ae264984ef1fbe3 +Author: Martin Sustrik +Date: Wed Feb 17 08:30:27 2010 +0100 + + ZMQII-76: Bug in how replies are handled when the REQ endpoint goes away + + src/rep.cpp | 22 ++++++++++++++-------- + 1 files changed, 14 insertions(+), 8 deletions(-) + +commit 33cb20a747a2ca2c7b0487b023cfd6548ffe11e8 +Author: Martin Sustrik +Date: Tue Feb 16 23:31:17 2010 +0100 + + ZMQII-77: Put librbzmq symbols into ZMQ module + + AUTHORS | 1 + + bindings/ruby/rbzmq.cpp | 75 ++++++++++++++++++++++++---------------------- + perf/ruby/local_lat.rb | 4 +- + perf/ruby/local_thr.rb | 6 ++-- + perf/ruby/remote_lat.rb | 4 +- + perf/ruby/remote_thr.rb | 4 +- + 6 files changed, 49 insertions(+), 45 deletions(-) + +commit 1e7878489dc5d3013b5e5858fe404ab6b4a6947a +Author: Martin Sustrik +Date: Tue Feb 16 23:02:59 2010 +0100 + + exconf.rb checks for libzmq.so installation + + AUTHORS | 1 + + bindings/ruby/extconf.rb | 8 ++++++-- + 2 files changed, 7 insertions(+), 2 deletions(-) + +commit 8214d386c3f10dcc7f034a1159e82aa2d470829f +Merge: 4190f64 96b2690 +Author: Martin Sustrik +Date: Tue Feb 16 22:20:09 2010 +0100 + + Merge branch 'master' of git@github.com:sustrik/zeromq2 + +commit 4190f64d8cfc3950bc456ea7793db72130d05feb +Author: Martin Sustrik +Date: Tue Feb 16 22:19:33 2010 +0100 + + Special exception clause added to LGPL license + + COPYING.LESSER | 17 ++++++++++++++++- + 1 files changed, 16 insertions(+), 1 deletions(-) + +commit 96b2690716a811a4c782de0eccfb9affa398cfe4 +Merge: 60ce5cc a2f9899 +Author: Martin Lucina +Date: Tue Feb 16 19:59:32 2010 +0100 + + Merge branch 'master' of github.com:sustrik/zeromq2 + +commit 60ce5cc82a48d5881cb493a5b6b3afba19bd0863 +Author: Martin Lucina +Date: Tue Feb 16 19:58:55 2010 +0100 + + PGM tarball should be removed on 'distclean', not 'clean' + + Makefile.am | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit b9caa319e279cd8cd367e0a64308b9e80c4ead3d +Author: Martin Sustrik +Date: Tue Feb 16 18:30:38 2010 +0100 + + Multi-hop REQ/REP, part XI., finalise the XREQ/XREP functionality + + src/downstream.cpp | 2 +- + src/downstream.hpp | 3 +- + src/i_endpoint.hpp | 4 ++- + src/i_engine.hpp | 9 ++++--- + src/p2p.cpp | 2 +- + src/p2p.hpp | 3 +- + src/pgm_receiver.cpp | 8 ++++++- + src/pgm_receiver.hpp | 3 +- + src/pgm_sender.cpp | 8 ++++++- + src/pgm_sender.hpp | 3 +- + src/pub.cpp | 2 +- + src/pub.hpp | 3 +- + src/rep.cpp | 2 +- + src/rep.hpp | 3 +- + src/req.cpp | 2 +- + src/req.hpp | 3 +- + src/session.cpp | 7 +++++- + src/session.hpp | 3 +- + src/socket_base.cpp | 12 +++++----- + src/socket_base.hpp | 5 ++- + src/sub.cpp | 2 +- + src/sub.hpp | 3 +- + src/upstream.cpp | 2 +- + src/upstream.hpp | 3 +- + src/xrep.cpp | 51 ++++++++++++++++++++++++++++++++++++++++++++----- + src/xrep.hpp | 10 ++++++++- + src/xreq.cpp | 2 +- + src/xreq.hpp | 3 +- + src/zmq_decoder.cpp | 48 +++++++++++++++++++++++++++++----------------- + src/zmq_encoder.cpp | 15 ++++++++++--- + src/zmq_engine.cpp | 8 +++++- + src/zmq_engine.hpp | 3 +- + src/zmq_init.cpp | 6 +---- + 33 files changed, 171 insertions(+), 72 deletions(-) + +commit 2ddce205350f11dacd8d8550f7d4e6e088c7fbcd +Merge: 43620b3 a2f9899 +Author: Martin Sustrik +Date: Tue Feb 16 18:03:41 2010 +0100 + + Merge branch 'master' of git@github.com:sustrik/zeromq2 + +commit a2f9899f6a1fad3f9c73fc7599445bdde0b95ec4 +Author: Martin Sustrik +Date: Tue Feb 16 17:50:36 2010 +0100 + + missing COPYING file added + + .gitignore | 1 - + COPYING | 674 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ + doc/zmq_poll.txt | 3 +- + 3 files changed, 676 insertions(+), 2 deletions(-) + +commit afb526f31a82b8697b5f7e73e50b14705a3a74b2 +Author: Martin Lucina +Date: Tue Feb 16 00:11:38 2010 +0100 + + Fix 'make dist' to work with no special magic + + bindings/java/Makefile.am | 13 +++++++------ + perf/c/Makefile.am | 4 ++-- + 2 files changed, 9 insertions(+), 8 deletions(-) + +commit 8e9b78af271ae54882abf3010260d1e80ddd70f2 +Author: Martin Lucina +Date: Mon Feb 15 23:59:35 2010 +0100 + + Correct path for pgm distclean + + Makefile.am | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +commit df0c18ca17aa0dcd0e9f3737666a794b943f0982 +Author: Martin Lucina +Date: Mon Feb 15 23:54:49 2010 +0100 + + Missed one instance of pgm2 + + Makefile.am | 6 +++--- + 1 files changed, 3 insertions(+), 3 deletions(-) + +commit b09eeeb2fac380da1e3455cdf97278850842e1c8 +Author: Martin Lucina +Date: Mon Feb 15 23:52:08 2010 +0100 + + Update gitignore + + .gitignore | 6 +++++- + 1 files changed, 5 insertions(+), 1 deletions(-) + +commit 80c820d758aa65d71fbf4a24fd59d11de1f72fa5 +Author: Martin Lucina +Date: Mon Feb 15 23:51:05 2010 +0100 + + Cleaning up more PGM cruft + + Makefile.am | 3 ++ + configure.in | 65 ++++++++++++++++++--------------------------------- + perf/c/Makefile.am | 4 +- + src/Makefile.am | 12 +++++++-- + 4 files changed, 37 insertions(+), 47 deletions(-) + +commit 635e314643885ce8508ee64632bed7d6228fe8b6 +Author: Martin Lucina +Date: Mon Feb 15 23:09:57 2010 +0100 + + Clarify python.h messages + + configure.in | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +commit 55800cea8c63ea84bd99e4c660ef1fd17a353e32 +Author: Martin Lucina +Date: Mon Feb 15 23:02:24 2010 +0100 + + Fix typo + + configure.in | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 5687661ba4a1ecf70e130047dc288cb6cff6f21a +Author: Martin Lucina +Date: Mon Feb 15 22:58:45 2010 +0100 + + Cleanup messages from configure.in + + configure.in | 44 ++++++++++++++++++++++---------------------- + 1 files changed, 22 insertions(+), 22 deletions(-) + +commit 48a90cfb347bc983362ce2bc021591d513d6a5ec +Author: Martin Lucina +Date: Mon Feb 15 22:25:01 2010 +0100 + + Replace check for sparc with host_cpu + + configure.in | 25 ++++++++----------------- + 1 files changed, 8 insertions(+), 17 deletions(-) + +commit 0ded6c1973596436d7e5c54cfb89ada4d6c7473d +Author: Martin Lucina +Date: Mon Feb 15 22:17:18 2010 +0100 + + Multiple fixes to --with-pgm + + Disallow build --with-pgm on non-x86/AMB64 CPUs + Check correctly for all dependencies required by --with-pgm + Don't assume tar has -j + Reorder --with-pgm checks + + configure.in | 70 ++++++++++++++++++++++++++++++++++----------------------- + 1 files changed, 42 insertions(+), 28 deletions(-) + +commit 94c74d5c18183b49507d633c7b06713841cfcb03 +Author: Martin Sustrik +Date: Mon Feb 15 21:04:34 2010 +0100 + + Brian Granger added to credits list + + AUTHORS | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +commit f96f53c9687b5a032ef45ce42154a7f944492eec +Author: Martin Sustrik +Date: Mon Feb 15 21:03:11 2010 +0100 + + ZMQ_POLLERR placeholder added to zmq.h + + bindings/c/zmq.h | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +commit 5041b0bc0bce43e5b6d8b6c6264141d33f3c2a7c +Author: Martin Sustrik +Date: Mon Feb 15 20:35:00 2010 +0100 + + fixing the previous commit :( + + src/ip.cpp | 1 - + 1 files changed, 0 insertions(+), 1 deletions(-) + +commit 7778010d76e6da534307ca3f0a3506d3d7f0ec5d +Author: Martin Sustrik +Date: Mon Feb 15 19:58:47 2010 +0100 + + care taken of the fact that AI_NUMERICSERV is not defined on OSX 10.5 + + src/ip.cpp | 11 ++++++++++- + 1 files changed, 10 insertions(+), 1 deletions(-) + +commit 817c89a78ea7b773046b010ca129fd1206e1c8f0 +Author: malosek +Date: Mon Feb 15 19:42:05 2010 +0100 + + removed first dummy run of PKG_CHECK_EXISTS + + configure.in | 5 ----- + 1 files changed, 0 insertions(+), 5 deletions(-) + +commit 43620b3d35e3f3a6e49046fdc0426651bf58dedb +Author: Martin Sustrik +Date: Sun Feb 14 13:34:48 2010 +0100 + + Multi-hop REQ/REP, part X., optional delayed creation of pipes during connect + + src/options.cpp | 1 + + src/options.hpp | 6 +++++ + src/rep.cpp | 5 ++++ + src/session.cpp | 48 +++++++++++++++++++++----------------------- + src/socket_base.cpp | 55 ++++++++++++++++++++++++++++++++------------------ + src/xrep.cpp | 4 +++ + 6 files changed, 74 insertions(+), 45 deletions(-) + +commit 4405250d93a2ad6eb3940c4bc4fe8ea32bd52f9e +Author: Martin Sustrik +Date: Sat Feb 13 15:30:03 2010 +0100 + + Multi-hop REQ/REP, part IX., pass the peer identity as far as socket_base_t + + src/command.cpp | 4 ++++ + src/command.hpp | 2 ++ + src/object.cpp | 28 ++++++++++++++++++++++++---- + src/object.hpp | 4 ++-- + src/options.cpp | 2 +- + src/options.hpp | 5 ++--- + src/pgm_socket.cpp | 7 +++++-- + src/session.cpp | 2 +- + src/socket_base.cpp | 5 +++-- + src/socket_base.hpp | 3 ++- + 10 files changed, 46 insertions(+), 16 deletions(-) + +commit f5ce81f2893ec0707c2f4346740878e68b51e13a +Author: Martin Sustrik +Date: Sat Feb 13 14:07:30 2010 +0100 + + Multi-hop REQ/REP, part VIII., new blob_t type used for holding identity + + src/Makefile.am | 1 + + src/blob.hpp | 33 +++++++++++++++++++++++++++++++++ + src/i_engine.hpp | 5 +++-- + src/object.cpp | 19 +++++++++---------- + src/object.hpp | 7 ++++--- + src/pgm_receiver.cpp | 3 +-- + src/pgm_receiver.hpp | 2 +- + src/pgm_sender.cpp | 3 +-- + src/pgm_sender.hpp | 2 +- + src/session.cpp | 32 +++++++++++--------------------- + src/session.hpp | 13 +++++-------- + src/socket_base.cpp | 24 ++++++++++-------------- + src/socket_base.hpp | 14 ++++++-------- + src/zmq_decoder.cpp | 34 +++++++++++++--------------------- + src/zmq_decoder.hpp | 6 +++--- + src/zmq_engine.cpp | 5 ++--- + src/zmq_engine.hpp | 2 +- + src/zmq_init.cpp | 17 ++++++----------- + src/zmq_init.hpp | 5 ++--- + 19 files changed, 113 insertions(+), 114 deletions(-) + +commit cdc2efe9b5f0d1f45065b1c32e5eabd7e9f78a12 +Author: Martin Sustrik +Date: Sat Feb 13 13:07:33 2010 +0100 + + Multi-hop REQ/REP, part VII., identity-related algorithms rewritten + + src/session.cpp | 114 +++++++++++++++++++++++++++++++-------------------- + src/session.hpp | 10 +---- + src/socket_base.cpp | 25 ++++++----- + src/socket_base.hpp | 9 +++- + src/zmq_init.cpp | 4 +- + 5 files changed, 93 insertions(+), 69 deletions(-) + +commit 923eacd28a725a6b32de588fe7a54dbe252d84aa +Author: Martin Sustrik +Date: Sat Feb 13 09:09:40 2010 +0100 + + Multi-hop REQ/REP, part VI., session 'name' renamed to 'peer_identity' + + src/session.cpp | 16 ++++++++-------- + src/session.hpp | 14 +++++++++----- + src/zmq_init.cpp | 7 ++++--- + 3 files changed, 21 insertions(+), 16 deletions(-) + +commit 2e78e48503375a415d95ee8df80df9c065172abc +Author: Martin Sustrik +Date: Fri Feb 12 20:49:00 2010 +0100 + + Multi-hop REQ/REP, part V., peer identity is passed from init object to session + + src/command.cpp | 10 ++++++++++ + src/command.hpp | 2 ++ + src/object.cpp | 22 ++++++++++++++++++++-- + src/object.hpp | 6 ++++-- + src/session.cpp | 3 ++- + src/session.hpp | 3 ++- + src/zmq_init.cpp | 3 ++- + 7 files changed, 42 insertions(+), 7 deletions(-) + +commit d8430f4b9a43bf8c99854298edc9f1bc35c0e8ec +Author: Martin Sustrik +Date: Fri Feb 12 20:03:02 2010 +0100 + + Multi-hop REQ/REP, part IV., add command deallocation mechanism + + src/Makefile.am | 1 + + src/command.cpp | 24 ++++++++++++++++++++++++ + src/command.hpp | 3 +++ + src/dispatcher.cpp | 4 ++++ + src/object.cpp | 18 +++++++++++------- + 5 files changed, 43 insertions(+), 7 deletions(-) + +commit 313b5dfadd8753b341197cc109bce40e08856cf6 +Author: Martin Sustrik +Date: Fri Feb 12 19:42:35 2010 +0100 + + Multi-hop REQ/REP, part III., change 'type' in options to simple 'traceroute' flag + + src/downstream.cpp | 1 - + src/options.cpp | 4 ++-- + src/options.hpp | 6 +++--- + src/p2p.cpp | 1 - + src/pub.cpp | 1 - + src/rep.cpp | 1 - + src/req.cpp | 1 - + src/sub.cpp | 1 - + src/upstream.cpp | 1 - + src/xrep.cpp | 5 ++++- + src/xreq.cpp | 1 - + src/zmq_init.cpp | 2 +- + 12 files changed, 10 insertions(+), 15 deletions(-) + +commit 96e0442332fcc680ddafdcaa8fcbdc6acd992c76 +Merge: 36a5763 dc8f4b1 +Author: Martin Sustrik +Date: Fri Feb 12 15:58:22 2010 +0100 + + Merge branch 'master' of git@github.com:sustrik/zeromq2 + +commit 36a576370ccfed3c104850b5b95a6ed3870edbea +Author: Martin Sustrik +Date: Fri Feb 12 15:57:54 2010 +0100 + + Multi-hop REQ/REP, part I., tracerouting switched on on XREP socket + + src/i_engine.hpp | 8 ++++++++ + src/pgm_receiver.cpp | 9 ++++++++- + src/pgm_receiver.hpp | 1 + + src/pgm_sender.cpp | 9 ++++++++- + src/pgm_sender.hpp | 1 + + src/zmq_decoder.cpp | 27 +++++++++++++-------------- + src/zmq_decoder.hpp | 6 +++++- + src/zmq_encoder.cpp | 13 +++++++++---- + src/zmq_encoder.hpp | 8 ++++++-- + src/zmq_engine.cpp | 11 +++++++++-- + src/zmq_engine.hpp | 1 + + src/zmq_init.cpp | 6 ++++++ + 12 files changed, 75 insertions(+), 25 deletions(-) + +commit dc8f4b1b761103784b422b7604bc8f36d429d3f4 +Author: Martin Hurton +Date: Fri Feb 12 15:08:57 2010 +0100 + + Fix memory leak in bind() + + src/socket_base.cpp | 4 +++- + src/zmq_listener.hpp | 3 +-- + 2 files changed, 4 insertions(+), 3 deletions(-) + +commit 7b4cf2a4d040057f6f378cac2cd125513a859c1b +Author: Martin Sustrik +Date: Fri Feb 12 13:33:50 2010 +0100 + + Multi-hop REQ/REP, part I., socket type is known to all associated objects + + src/downstream.cpp | 1 + + src/options.cpp | 1 + + src/options.hpp | 3 +++ + src/p2p.cpp | 1 + + src/pub.cpp | 1 + + src/rep.cpp | 1 + + src/req.cpp | 1 + + src/sub.cpp | 1 + + src/upstream.cpp | 1 + + src/xrep.cpp | 1 + + src/xreq.cpp | 1 + + 11 files changed, 13 insertions(+), 0 deletions(-) + +commit cd7300fd4f25754f844b17a77685ec837ebecbbb +Author: Martin Hurton +Date: Fri Feb 12 12:12:49 2010 +0100 + + Resolve command starvation in recv() + + src/socket_base.cpp | 38 +++++++++++++++++++------------------- + 1 files changed, 19 insertions(+), 19 deletions(-) + +commit 7f7ac843d58b3d8a77f681fa4c35bd21726b6f31 +Author: Martin Lucina +Date: Thu Feb 11 17:51:47 2010 +0100 + + Next 0MQ release will be 2.0.6 + + As decided on the mailing list, there have been five 2.x releases to + date, so the upcoming release will be numbered 2.0.6. + + configure.in | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit de41c9da31246314bb2b0c55dfe3b2884d48df3b +Merge: 30b967e 92d0147 +Author: Martin Lucina +Date: Thu Feb 11 17:51:08 2010 +0100 + + Merge branch 'master' of github.com:sustrik/zeromq2 + +commit 30b967e2a439ce76b1141d34fa3c8ee9f87a88a8 +Author: Martin Lucina +Date: Thu Feb 11 17:49:40 2010 +0100 + + Integrate version numbering into autoconf + + configure.in is now the master source for the package version number, + this propagates to src/platform.hpp (for zmq_version) and doc/Makefile.am + (for documentation generation) automagically. + + configure.in | 28 +++++++++++++++++++++++++++- + doc/Makefile.am | 6 ++++-- + doc/asciidoc.conf | 2 +- + src/config.hpp | 5 ----- + src/zmq.cpp | 6 +++--- + 5 files changed, 35 insertions(+), 12 deletions(-) + +commit 92d0147b20f77cad5d20e257aec502f628e7889e +Author: Martin Sustrik +Date: Thu Feb 11 16:50:40 2010 +0100 + + python binding build with 2.4 version of python fixed + + bindings/python/pyzmq.cpp | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 432fbd796bb4905fb19ceee802009b17e88e9256 +Author: Martin Sustrik +Date: Thu Feb 11 10:43:59 2010 +0100 + + ZMQII-72: Add zmq_version function (documentation) + + doc/Makefile.am | 4 ++-- + doc/zmq_version.txt | 46 ++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 48 insertions(+), 2 deletions(-) + +commit bd9213e71222df66634d59581264ffe67210222c +Author: Martin Sustrik +Date: Thu Feb 11 10:29:33 2010 +0100 + + ZMQII-72: Add zmq_version function + + bindings/c/zmq.h | 6 ++++++ + src/config.hpp | 4 ++++ + src/zmq.cpp | 8 ++++++++ + 3 files changed, 18 insertions(+), 0 deletions(-) + +commit 7cab423fc20e46f54fa561e51b566cc8a63ca5c1 +Merge: bc9b7f1 354efc5 +Author: Martin Hurton +Date: Wed Feb 10 17:14:21 2010 +0100 + + Merge branch 'master' of github.com:sustrik/zeromq2 + +commit bc9b7f1f54b9dcf754021f1f7eb766d71cc97f29 +Author: Martin Hurton +Date: Wed Feb 10 12:48:04 2010 +0100 + + lb: bugfix - never skip active pipe when sending msg + + src/lb.cpp | 17 +++++++++++------ + 1 files changed, 11 insertions(+), 6 deletions(-) + +commit 6b3c1798e7554dd1ce63b2ad137e327f3f32fcf1 +Author: Martin Hurton +Date: Wed Feb 10 12:47:34 2010 +0100 + + fq: bugfix - don't read msg from inactive pipe + + src/fq.cpp | 7 ++++++- + 1 files changed, 6 insertions(+), 1 deletions(-) + +commit 354efc513fdb4096f8830e6c2e3e8f1311303e61 +Author: Martin Lucina +Date: Wed Feb 10 16:18:46 2010 +0100 + + Convert documentation to AsciiDoc + + .gitignore | 5 + + Makefile.am | 8 +-- + configure.in | 19 ++++- + doc/Makefile.am | 41 ++++++++++ + doc/asciidoc.conf | 34 ++++++++ + doc/zmq.txt | 175 ++++++++++++++++++++++++++++++++++++++++++ + doc/zmq_bind.txt | 67 ++++++++++++++++ + doc/zmq_close.txt | 52 +++++++++++++ + doc/zmq_connect.txt | 63 +++++++++++++++ + doc/zmq_cpp.txt | 89 +++++++++++++++++++++ + doc/zmq_flush.txt | 59 ++++++++++++++ + doc/zmq_forwarder.txt | 32 ++++++++ + doc/zmq_init.txt | 61 +++++++++++++++ + doc/zmq_inproc.txt | 50 ++++++++++++ + doc/zmq_ipc.txt | 44 +++++++++++ + doc/zmq_java.txt | 27 +++++++ + doc/zmq_msg_close.txt | 53 +++++++++++++ + doc/zmq_msg_copy.txt | 60 ++++++++++++++ + doc/zmq_msg_data.txt | 50 ++++++++++++ + doc/zmq_msg_init.txt | 54 +++++++++++++ + doc/zmq_msg_init_data.txt | 67 ++++++++++++++++ + doc/zmq_msg_init_size.txt | 61 +++++++++++++++ + doc/zmq_msg_move.txt | 55 +++++++++++++ + doc/zmq_msg_size.txt | 53 +++++++++++++ + doc/zmq_pgm.txt | 106 +++++++++++++++++++++++++ + doc/zmq_poll.txt | 85 ++++++++++++++++++++ + doc/zmq_python.txt | 27 +++++++ + doc/zmq_queue.txt | 32 ++++++++ + doc/zmq_recv.txt | 66 ++++++++++++++++ + doc/zmq_send.txt | 77 ++++++++++++++++++ + doc/zmq_setsockopt.txt | 155 +++++++++++++++++++++++++++++++++++++ + doc/zmq_socket.txt | 126 ++++++++++++++++++++++++++++++ + doc/zmq_streamer.txt | 32 ++++++++ + doc/zmq_strerror.txt | 50 ++++++++++++ + doc/zmq_tcp.txt | 93 ++++++++++++++++++++++ + doc/zmq_term.txt | 49 ++++++++++++ + doc/zmq_udp.txt | 56 +++++++++++++ + man/Makefile.am | 22 ----- + man/convert2html.sh | 55 ------------- + man/convert2pdf.sh | 88 --------------------- + man/man1/zmq_forwarder.1 | 11 --- + man/man1/zmq_queue.1 | 11 --- + man/man1/zmq_streamer.1 | 11 --- + man/man3/zmq_bind.3 | 52 ------------- + man/man3/zmq_close.3 | 30 ------- + man/man3/zmq_connect.3 | 49 ------------ + man/man3/zmq_flush.3 | 37 --------- + man/man3/zmq_init.3 | 40 ---------- + man/man3/zmq_msg_close.3 | 32 -------- + man/man3/zmq_msg_copy.3 | 43 ---------- + man/man3/zmq_msg_data.3 | 27 ------- + man/man3/zmq_msg_init.3 | 33 -------- + man/man3/zmq_msg_init_data.3 | 55 ------------- + man/man3/zmq_msg_init_size.3 | 44 ----------- + man/man3/zmq_msg_move.3 | 38 --------- + man/man3/zmq_msg_size.3 | 30 ------- + man/man3/zmq_poll.3 | 71 ----------------- + man/man3/zmq_recv.3 | 52 ------------- + man/man3/zmq_send.3 | 64 --------------- + man/man3/zmq_setsockopt.3 | 137 --------------------------------- + man/man3/zmq_socket.3 | 110 -------------------------- + man/man3/zmq_strerror.3 | 27 ------- + man/man3/zmq_term.3 | 25 ------ + man/man7/zmq.7 | 151 ------------------------------------ + man/man7/zmq_cl.7 | 124 ----------------------------- + man/man7/zmq_cpp.7 | 103 ------------------------- + man/man7/zmq_inproc.7 | 42 ---------- + man/man7/zmq_ipc.7 | 34 -------- + man/man7/zmq_java.7 | 9 -- + man/man7/zmq_pgm.7 | 98 ----------------------- + man/man7/zmq_python.7 | 9 -- + man/man7/zmq_tcp.7 | 80 ------------------- + man/man7/zmq_udp.7 | 45 ----------- + 73 files changed, 2224 insertions(+), 1898 deletions(-) + +commit 2d44bf3644c8e12aa86c48e9da4df19bfa9ea703 +Author: Martin Sustrik +Date: Wed Feb 10 11:04:28 2010 +0100 + + ZMQII-69: Make 0MQ build on HP-UX + + src/fd_signaler.cpp | 4 ++-- + src/tcp_connecter.cpp | 6 +++++- + 2 files changed, 7 insertions(+), 3 deletions(-) + +commit 8c25bab31d63bf5e2c4eec6d9084cf7d1c1e5dd3 +Author: Martin Sustrik +Date: Wed Feb 10 10:42:54 2010 +0100 + + ZMQII-70: zmq_poll on win32 fails with EINVAL + + src/zmq.cpp | 27 ++++++++++++++------------- + 1 files changed, 14 insertions(+), 13 deletions(-) + +commit 8f86cac2f6721eec4b600383eb113f7fedf41ce1 +Author: Martin Sustrik +Date: Tue Feb 9 19:23:15 2010 +0100 + + ZMQII-69: Make 0MQ build on HP-UX + + src/fd_signaler.cpp | 78 +++++++++++++++++++++++++++++++++++++++++++++++++ + src/ip.cpp | 4 +-- + src/tcp_connecter.hpp | 9 +++++- + 3 files changed, 87 insertions(+), 4 deletions(-) + +commit fd673ae231119682a242967551cfa034fa32791a +Author: Martin Sustrik +Date: Tue Feb 9 15:21:26 2010 +0100 + + couple of typos in the documentation fixed + + examples/chat/README | 2 +- + man/man3/zmq_term.3 | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 6b2ca4e158c3394f5aba8f0f01ff1734423683f9 +Author: Martin Sustrik +Date: Tue Feb 9 15:15:44 2010 +0100 + + ZMQII-67: Build checks for python even if it's not needed + + configure.in | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 4c870ede7fdecaf1f952b01096e09cc03a7c7aef +Author: Martin Sustrik +Date: Tue Feb 9 09:08:37 2010 +0100 + + ZMQII-57: Shutdown OpenPGM library + + src/pgm_socket.cpp | 31 +------------------------------ + src/zmq.cpp | 47 ++++++++++++++++++++++++++++++++++++++++++++++- + 2 files changed, 47 insertions(+), 31 deletions(-) + +commit 396e41a2a4b31f91ef4c4458d53be9e3a9b4bb92 +Author: Martin Sustrik +Date: Mon Feb 8 18:55:51 2010 +0100 + + minor change to README + + README | 2 -- + 1 files changed, 0 insertions(+), 2 deletions(-) + +commit 01533a5aefb49e23be95cab9cfa5ca32cd438d25 +Author: Martin Sustrik +Date: Mon Feb 8 18:37:48 2010 +0100 + + ZMQII-65: Two OS threads are mapped to the same app_thread_t + + src/app_thread.cpp | 23 ++------------ + src/app_thread.hpp | 19 ------------ + src/dispatcher.cpp | 79 +++++++++++++++++++++++++++++++++------------------- + src/dispatcher.hpp | 29 ++++++++++++++---- + 4 files changed, 76 insertions(+), 74 deletions(-) + +commit 7593d815ac57f2877480c5056b2f1aa65460f5c3 +Author: Martin Sustrik +Date: Mon Feb 8 10:34:12 2010 +0100 + + ZMQII-64: First message stuck in 0MQ in case of immediate disconnection + + src/zmq_engine.cpp | 8 ++++++-- + 1 files changed, 6 insertions(+), 2 deletions(-) + +commit 427bc3276aa236c8691fee7e634717d0579a3055 +Author: Martin Sustrik +Date: Sun Feb 7 16:24:14 2010 +0100 + + minor code cleanup + + src/socket_base.cpp | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit b0ee6b0c8ab8a5052a5e111dda24308dd00c0d62 +Author: Martin Sustrik +Date: Sun Feb 7 11:31:05 2010 +0100 + + ZMQII-62: zmq_close after sending message via P2P socket fails + + src/p2p.cpp | 5 +++++ + 1 files changed, 5 insertions(+), 0 deletions(-) + +commit bbaa494fb569d94c356ddecca7dbf249ffc217cf +Author: Martin Sustrik +Date: Sun Feb 7 09:14:43 2010 +0100 + + ZMQII-59: TCP server crashes sometimes when message is send and socket is closed immediately + + src/dispatcher.cpp | 23 +++++++++++++++++++++++ + src/dispatcher.hpp | 16 ++-------------- + src/object.cpp | 12 +++++------- + 3 files changed, 30 insertions(+), 21 deletions(-) + +commit d21bf21a362cf6d20d8d060bb91ee2fdca1dd88b +Author: Martin Sustrik +Date: Fri Feb 5 13:00:49 2010 +0100 + + allow async connect on Win32 return WSAECONNABORTED + + src/tcp_connecter.cpp | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +commit 0888fcd06f1c66ec3dfab744bfc24d1486737c7e +Author: Martin Sustrik +Date: Thu Feb 4 23:58:41 2010 +0100 + + yqueue_t uses malloc/free instead of new/delete + + src/yqueue.hpp | 14 +++++++------- + 1 files changed, 7 insertions(+), 7 deletions(-) + +commit 30076c4f7a5b0c70ef0c5a6574cac531bc996f5e +Author: Martin Sustrik +Date: Thu Feb 4 17:46:47 2010 +0100 + + ZMQII-58: TCP connecting asserts on Win32 (same fix for POSIX) + + src/tcp_connecter.cpp | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit c46b7ed1978ead346022577ff015b092f3257c84 +Author: unknown +Date: Thu Feb 4 17:40:04 2010 +0100 + + ZMQII-58: TCP connecting asserts on Win32 + + src/tcp_connecter.cpp | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit b86483acbe109566f4e0fb43266fdd98e7648d55 +Author: Martin Sustrik +Date: Thu Feb 4 14:50:59 2010 +0100 + + ZMQII-50: Document Ruby Bindings + + man/Makefile.am | 2 +- + man/convert2html.sh | 1 - + man/convert2pdf.sh | 2 -- + man/man7/zmq_ruby.7 | 9 --------- + 4 files changed, 1 insertions(+), 13 deletions(-) + +commit bc90231227a84f4b7dffe432a8efa70b75c19031 +Author: Martin Sustrik +Date: Thu Feb 4 09:39:57 2010 +0100 + + contrain interface name resolving in OpenPGM to IPv4 interfaces + + src/pgm_socket.cpp | 8 ++++++-- + 1 files changed, 6 insertions(+), 2 deletions(-) + +commit 0f697fe2b460dfbec7481f6d535b95f6b4cc2eac +Author: Martin Sustrik +Date: Wed Feb 3 20:04:44 2010 +0100 + + ZMQII-56: Avoid allocation of chunk in yqueue.hpp by keeping a spare one + + AUTHORS | 1 + + src/yqueue.hpp | 31 ++++++++++++++++++++++++++----- + 2 files changed, 27 insertions(+), 5 deletions(-) + +commit 72bbc92b70a67fab1dbba6fbd53f574944bdd8e4 +Merge: 6502c16 4172fdd +Author: Martin Lucina +Date: Wed Feb 3 15:54:39 2010 +0100 + + Merge branch 'master' of github.com:sustrik/zeromq2 + +commit 6502c16a7fd878e61f0672a47e2cdb4d56ab0eb2 +Author: Martin Lucina +Date: Wed Feb 3 15:52:11 2010 +0100 + + Update OpenPGM to 2.0.23rc8 + + configure.in | 10 +++++----- + foreign/openpgm/libpgm-2.0.21rc6.tar.bz2 | Bin 323697 -> 0 bytes + foreign/openpgm/libpgm-2.0.23rc8.tar.bz2 | Bin 0 -> 321822 bytes + src/Makefile.am | 3 ++- + 4 files changed, 7 insertions(+), 6 deletions(-) + +commit 4172fdd6970d4b42443442bf6633f9a9bd4c6f2b +Author: unknown +Date: Wed Feb 3 14:55:46 2010 +0100 + + Win32 build fixed + + builds/msvc/libzmq/libzmq.vcproj | 8 ++++ + builds/msvc/msvc.sln | 9 +++++ + builds/msvc/ruby/ruby.vcproj | 68 ++++++++++++++++++++++++++++++++++++++ + 3 files changed, 85 insertions(+), 0 deletions(-) + +commit 7c25feb51bdbc9563cc65ff4829f761ef7231483 +Author: Martin Sustrik +Date: Wed Feb 3 13:06:34 2010 +0100 + + ZMQII-55: At most one PGM/UDP transport can be opened + + src/pgm_socket.cpp | 40 +++++++++++++++++++++------------------- + 1 files changed, 21 insertions(+), 19 deletions(-) + +commit 9cee8f9c3e22f1e880988271ab1c31c92827efde +Author: Martin Sustrik +Date: Tue Feb 2 15:11:25 2010 +0100 + + problem with PGM messages larger than 1 MTU fixed + + src/pgm_receiver.cpp | 104 ++++++++++++++++++++++++++------------------------ + 1 files changed, 54 insertions(+), 50 deletions(-) + +commit 27e47bdcc0358b84a57378e19359556e2dbcb50e +Author: Martin Sustrik +Date: Tue Feb 2 13:29:31 2010 +0100 + + ZMQII-54: Affinity isn't honoured + + src/dispatcher.cpp | 15 +++++++-------- + 1 files changed, 7 insertions(+), 8 deletions(-) + +commit 5d16070ffcd426e81ea27520f6847d68e5e5af80 +Author: Martin Sustrik +Date: Tue Feb 2 08:46:35 2010 +0100 + + ZMQII-53: Memory leak when using invalid socket type + + src/dispatcher.cpp | 6 +++++- + 1 files changed, 5 insertions(+), 1 deletions(-) + +commit a1e70f29575994798df1d57314193782f6d9cdcb +Author: Martin Sustrik +Date: Tue Feb 2 08:27:38 2010 +0100 + + ZMQII-52: Asserion during reconnection + + src/zmq_init.cpp | 3 +-- + 1 files changed, 1 insertions(+), 2 deletions(-) + +commit 528610ff55ef283b99cbcda007200a6b4092be59 +Author: Martin Sustrik +Date: Tue Feb 2 08:14:23 2010 +0100 + + typo in zmq_socket(3) man page fixed + + man/man3/zmq_socket.3 | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 00b9a5dedeb47efd78aea59b579a4b5befba743a +Author: Martin Sustrik +Date: Sun Jan 31 20:14:30 2010 +0100 + + ZMQII-51: Implement O(1) topic matching + + src/Makefile.am | 2 + + src/prefix_tree.cpp | 175 +++++++++++++++++++++++++++++++++++++++++++++++++++ + src/prefix_tree.hpp | 55 ++++++++++++++++ + src/sub.cpp | 44 ++----------- + src/sub.hpp | 13 +--- + 5 files changed, 242 insertions(+), 47 deletions(-) + +commit 70ea8e9d4b88a1ecb1c076eccc2e9bd872c2230c +Author: Martin Sustrik +Date: Sat Jan 30 13:40:50 2010 +0100 + + ZMQII-48: Implement P2P socket type + + src/p2p.cpp | 56 ++++++++++++++++++++++++++++++++++++++++++++------------ + src/p2p.hpp | 5 +++++ + 2 files changed, 49 insertions(+), 12 deletions(-) + +commit eb47c1b064ec2f433d3889b7fd4a297a965166bb +Merge: 2784f90 4d5e643 +Author: Martin Sustrik +Date: Fri Jan 29 08:39:36 2010 +0100 + + Merge branch 'master' of git@github.com:sustrik/zeromq2 + +commit 2784f90d595a253e071244d440f78e667f6a957c +Author: Martin Sustrik +Date: Fri Jan 29 08:39:19 2010 +0100 + + moving debian directory to the root of the project + + debian/README.Debian | 6 + + debian/changelog | 6 + + debian/cl-zeromq.files | 7 ++ + debian/cl-zeromq.install | 6 + + debian/cl-zeromq.links | 1 + + debian/compat | 1 + + debian/control | 161 ++++++++++++++++++++++++++++++ + debian/copyright | 18 ++++ + debian/dirs | 5 + + debian/docs | 2 + + debian/libzeromq-dev.files | 37 +++++++ + debian/libzeromq-dev.install | 19 ++++ + debian/libzeromq-python.files | 1 + + debian/libzeromq-python.install | 1 + + debian/libzeromq-ruby.files | 1 + + debian/libzeromq-ruby.install | 1 + + debian/libzeromq0.files | 2 + + debian/libzeromq0.install | 1 + + debian/rules | 136 +++++++++++++++++++++++++ + debian/shlibs.local | 1 + + debian/zeromq-examples.files | 2 + + debian/zeromq-examples.install | 2 + + debian/zeromq-perf.files | 10 ++ + debian/zeromq-perf.install | 10 ++ + debian/zeromq-utils.files | 6 + + debian/zeromq-utils.install | 6 + + packages/debian/README.Debian | 6 - + packages/debian/changelog | 6 - + packages/debian/cl-zeromq.files | 7 -- + packages/debian/cl-zeromq.install | 6 - + packages/debian/cl-zeromq.links | 1 - + packages/debian/compat | 1 - + packages/debian/control | 161 ------------------------------ + packages/debian/copyright | 18 ---- + packages/debian/dirs | 5 - + packages/debian/docs | 2 - + packages/debian/libzeromq-dev.files | 37 ------- + packages/debian/libzeromq-dev.install | 19 ---- + packages/debian/libzeromq-python.files | 1 - + packages/debian/libzeromq-python.install | 1 - + packages/debian/libzeromq-ruby.files | 1 - + packages/debian/libzeromq-ruby.install | 1 - + packages/debian/libzeromq0.files | 2 - + packages/debian/libzeromq0.install | 1 - + packages/debian/rules | 136 ------------------------- + packages/debian/shlibs.local | 1 - + packages/debian/zeromq-examples.files | 2 - + packages/debian/zeromq-examples.install | 2 - + packages/debian/zeromq-perf.files | 10 -- + packages/debian/zeromq-perf.install | 10 -- + packages/debian/zeromq-utils.files | 6 - + packages/debian/zeromq-utils.install | 6 - + 52 files changed, 449 insertions(+), 449 deletions(-) + +commit 4d5e643299e22b53120173319490957b98c0199e +Author: malosek +Date: Thu Jan 28 19:19:25 2010 +0100 + + patching libtool script moved at the end of configure + + configure.in | 18 ++++++++++-------- + 1 files changed, 10 insertions(+), 8 deletions(-) + +commit 849095a042b8326f5789baa04d1dbb7ca36d4632 +Merge: f17f0fa e5ff617 +Author: Martin Sustrik +Date: Thu Jan 28 12:45:37 2010 +0100 + + Merge branch 'master' of git@github.com:sustrik/zeromq2 + +commit f17f0fa67bc5a373f3fc7964aaad4f08aa1dc761 +Author: Martin Sustrik +Date: Thu Jan 28 12:45:12 2010 +0100 + + CL binding ripped out of the tree + + .gitignore | 3 + + bindings/Makefile.am | 8 +- + bindings/cl/Makefile.am | 9 -- + bindings/cl/meta.lisp | 59 ---------- + bindings/cl/package.lisp | 108 ------------------- + bindings/cl/zeromq-api.lisp | 180 ------------------------------- + bindings/cl/zeromq.asd | 38 ------- + bindings/cl/zeromq.lisp | 250 ------------------------------------------- + configure.in | 21 ---- + perf/Makefile.am | 2 +- + perf/cl/Makefile.am | 2 - + perf/cl/lat-parms.lisp | 22 ---- + perf/cl/local-lat-poll.lisp | 43 -------- + perf/cl/local-lat.lisp | 52 --------- + perf/cl/local-thr.lisp | 54 --------- + perf/cl/remote-lat.lisp | 50 --------- + perf/cl/remote-thr.lisp | 41 ------- + perf/cl/thr-parms.lisp | 25 ----- + 18 files changed, 6 insertions(+), 961 deletions(-) + +commit e5ff617c4e061d29c9a019efa2292fd09c87a71e +Author: malosek +Date: Wed Jan 27 20:58:40 2010 +0100 + + fixed OpenPGM compilation on mingw32 + + src/windows.hpp | 4 ++++ + 1 files changed, 4 insertions(+), 0 deletions(-) + +commit 8f57ff4634ae44cd998bc0b864a8987f241e2fce +Author: malosek +Date: Wed Jan 27 20:45:43 2010 +0100 + + fixed OpenPGM compilation on mingw32 + + perf/c/Makefile.am | 1 + + src/Makefile.am | 1 + + 2 files changed, 2 insertions(+), 0 deletions(-) + +commit 2056c888d2567ab96c3539fd60bfb652e19df335 +Author: malosek +Date: Wed Jan 27 18:29:45 2010 +0100 + + changed version of the master branch back to dev + + configure.in | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 0b97e7a4f23f7add763ac6e0fc945c9a342a7d32 +Author: malosek +Date: Wed Jan 27 11:30:22 2010 +0100 + + libpgm updated to 2.6.21rc6 + + configure.in | 12 ++++++------ + foreign/openpgm/libpgm-2.0.20rc5.tar.bz2 | Bin 316958 -> 0 bytes + foreign/openpgm/libpgm-2.0.21rc6.tar.bz2 | Bin 0 -> 323697 bytes + perf/c/Makefile.am | 6 ++++++ + src/Makefile.am | 13 +++++++++++-- + src/pgm_socket.cpp | 25 +++++++++++++++++++------ + 6 files changed, 42 insertions(+), 14 deletions(-) + +commit 943125bd12dbf181f4dfce7babddf1af7bcb7e18 +Author: Martin Sustrik +Date: Wed Jan 27 08:47:01 2010 +0100 + + Hard-wired constant on OpenVMS replaced by symbolic constant + + src/fd_signaler.cpp | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +commit aa27034db5d47f4630f464da53f63a0e62c34daa +Author: unknown +Date: Sun Jan 24 08:38:18 2010 +0100 + + IPv6 patch - part V. (win32) + + src/ip.cpp | 21 +++------------------ + 1 files changed, 3 insertions(+), 18 deletions(-) + +commit adc5d7693d9279134c0494210b9d2b885e95d950 +Author: Martin Sustrik +Date: Sun Jan 24 08:19:02 2010 +0100 + + IPv6 patch - part IV. + + src/ip.cpp | 41 ++++++++++++++++++++++++++++++++++------- + 1 files changed, 34 insertions(+), 7 deletions(-) + +commit fca9a2159a1fb963901d11dc6f734a622baa92d6 +Merge: 079d327 454f43a +Author: Martin Sustrik +Date: Sat Jan 23 11:14:53 2010 +0100 + + Merge branch 'master' of git@github.com:sustrik/zeromq2 + +commit 079d327670d9137d93f4dbe9eb6cfa6d4165b903 +Author: Martin Sustrik +Date: Sat Jan 23 11:14:30 2010 +0100 + + IPv6 patch - part III. + + src/ip.cpp | 42 ++++++++++++++++++++++++------------------ + 1 files changed, 24 insertions(+), 18 deletions(-) + +commit 454f43a45b2d453b53984387e8a8a50cad568f41 +Author: unknown +Date: Sat Jan 23 09:08:31 2010 +0100 + + IP address resolving on Win32 fixed + + src/ip.cpp | 20 ++++++++++++++------ + 1 files changed, 14 insertions(+), 6 deletions(-) + +commit df4548aa76617314cb1a47e6d408cc663640cd70 +Merge: 2634934 d762e1a +Author: Martin Sustrik +Date: Sat Jan 23 08:20:01 2010 +0100 + + Merge branch 'master' of git@github.com:sustrik/zeromq2 + +commit 2634934999408124837afceaf577b75ed58116d7 +Author: Martin Sustrik +Date: Sat Jan 23 08:19:30 2010 +0100 + + IPv6 patch part 2/2 + + src/ip.cpp | 26 +++++++++++++++++++------- + src/ip.hpp | 11 +++++++---- + src/tcp_connecter.cpp | 17 ++++++++++------- + src/tcp_connecter.hpp | 1 + + src/tcp_listener.cpp | 11 ++++++----- + src/tcp_listener.hpp | 1 + + 6 files changed, 44 insertions(+), 23 deletions(-) + +commit 6aaf095dd259dc42d78cc7bd8c5a7f867eb23166 +Author: Martin Sustrik +Date: Fri Jan 22 16:32:48 2010 +0100 + + IPv6 support -part II. + + src/ip.cpp | 158 +++++++++++++++++++++++------------------------------------- + 1 files changed, 60 insertions(+), 98 deletions(-) + +commit d762e1a9c976680dde2d2f38dac9f5861bd82dad +Author: unknown +Date: Fri Jan 22 13:29:46 2010 +0100 + + Win32 build fixed + + bindings/cpp/zmq.hpp | 16 ++++++++-------- + 1 files changed, 8 insertions(+), 8 deletions(-) + +commit 34d65e22c557671c74d6c51026b2434912966319 +Author: Martin Sustrik +Date: Fri Jan 22 13:13:52 2010 +0100 + + Tero Marttila's Ipv6 patch - part I. + + src/fd_signaler.cpp | 1 - + src/ip.cpp | 24 ++++++++++++++---------- + src/ip.hpp | 6 +++--- + src/tcp_connecter.cpp | 17 +++++++++-------- + src/tcp_connecter.hpp | 2 +- + src/tcp_listener.cpp | 16 ++++++++-------- + 6 files changed, 35 insertions(+), 31 deletions(-) + +commit 6edec4fe93c60693a5faee7e4e8821eac4f43d4d +Author: Martin Sustrik +Date: Fri Jan 22 11:38:17 2010 +0100 + + zmq_udp(7) man page fixed + + man/man7/zmq_udp.7 | 6 +++--- + 1 files changed, 3 insertions(+), 3 deletions(-) + +commit 70601c243fa7e91f5cceaa80190d7b413940020b +Author: Martin Sustrik +Date: Fri Jan 22 11:21:28 2010 +0100 + + zmq_pgm(7) man page fixed + + man/man7/zmq_pgm.7 | 6 +++--- + 1 files changed, 3 insertions(+), 3 deletions(-) + +commit d1e09578b275aca93c50cde078322a0348342c60 +Author: unknown +Date: Fri Jan 22 07:54:16 2010 +0100 + + Hardcoded loopback address removed from fd_signaler + + AUTHORS | 1 + + src/fd_signaler.cpp | 4 +++- + 2 files changed, 4 insertions(+), 1 deletions(-) + +commit f4832faf29df6470bf59f1f1866c07fa4278a75b +Author: Martin Sustrik +Date: Thu Jan 21 16:30:42 2010 +0100 + + small fix to man pages to comply with lintian + + man/Makefile.am | 2 +- + man/convert2html.sh | 1 + + man/convert2pdf.sh | 2 ++ + man/man7/zmq_cl.7 | 2 +- + man/man7/zmq_cpp.7 | 2 +- + man/man7/zmq_inproc.7 | 2 +- + man/man7/zmq_ipc.7 | 2 +- + man/man7/zmq_java.7 | 9 +++++++++ + man/man7/zmq_pgm.7 | 2 +- + man/man7/zmq_python.7 | 2 +- + man/man7/zmq_ruby.7 | 2 +- + man/man7/zmq_tcp.7 | 2 +- + man/man7/zmq_udp.7 | 2 +- + 13 files changed, 22 insertions(+), 10 deletions(-) + +commit b1b66df37c0b05ba05d9636234bad0cc02a1bd03 +Author: Martin Sustrik +Date: Thu Jan 21 12:07:42 2010 +0100 + + PGM man page improved + + man/man7/zmq_pgm.7 | 8 ++++++++ + 1 files changed, 8 insertions(+), 0 deletions(-) + +commit 66ef22993f22a0d47703c1203f57d95c4316bc70 +Author: Martin Sustrik +Date: Thu Jan 21 10:38:40 2010 +0100 + + zmq_close man page improved + + man/man3/zmq_close.3 | 5 ++++- + 1 files changed, 4 insertions(+), 1 deletions(-) + +commit a008af6088ef1ad3baf1b9e6ae699cc07367efa3 +Author: Martin Sustrik +Date: Thu Jan 21 10:01:05 2010 +0100 + + Asko Kauppi added to the list of authors + + AUTHORS | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +commit f0757c003eb232247a460631276b40e4fc02f3c9 +Author: Martin Sustrik +Date: Thu Jan 21 09:58:49 2010 +0100 + + ZMQII-43: Race condition when writing to pipe + + src/session.cpp | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 6a46ca75e5970733cfe135ecf77074b69fdda34f +Author: Martin Sustrik +Date: Wed Jan 20 09:22:41 2010 +0100 + + ZMQ-42: Building with ICC fails + + src/tcp_connecter.cpp | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +commit 111f0ff078372e8a0f5c0b98170d451d6561e85e +Author: Martin Sustrik +Date: Wed Jan 20 09:19:03 2010 +0100 + + ZMQII-41: Poll function in C++ binding doesn't convert errors to exceptions + + bindings/cpp/zmq.hpp | 5 ++++- + 1 files changed, 4 insertions(+), 1 deletions(-) + +commit 6b0457fcaad3fa9a2e632b3799119c40da8dd6ca +Author: Martin Sustrik +Date: Tue Jan 19 12:48:38 2010 +0100 + + minor documentation patch + + man/man3/zmq_setsockopt.3 | 10 +++++----- + 1 files changed, 5 insertions(+), 5 deletions(-) + +commit 7094edd6baf0d69c3879da7f16c7222388952931 +Author: Martin Sustrik +Date: Mon Jan 18 15:57:33 2010 +0100 + + error handling in C perf tests improved + + perf/c/local_lat.c | 51 +++++++++++++++++++++++++++++++++--------- + perf/c/local_thr.c | 61 ++++++++++++++++++++++++++++++++++++++++----------- + perf/c/remote_lat.c | 51 +++++++++++++++++++++++++++++++++--------- + perf/c/remote_thr.c | 41 ++++++++++++++++++++++++++------- + 4 files changed, 160 insertions(+), 44 deletions(-) + +commit 4ceb83935062bb84fd5da702679a126d12aed8be +Author: Martin Sustrik +Date: Mon Jan 18 13:16:14 2010 +0100 + + typos in man pages fixed + + .gitignore | 13 +++++++++++++ + man/man3/zmq_bind.3 | 2 +- + man/man3/zmq_connect.3 | 2 +- + man/man3/zmq_recv.3 | 2 +- + man/man3/zmq_send.3 | 2 +- + man/man3/zmq_socket.3 | 8 ++++---- + man/man7/zmq.7 | 4 ++-- + man/man7/zmq_cpp.7 | 2 +- + man/man7/zmq_inproc.7 | 2 +- + man/man7/zmq_ipc.7 | 8 ++++---- + man/man7/zmq_pgm.7 | 10 +++++----- + man/man7/zmq_tcp.7 | 4 ++-- + man/man7/zmq_udp.7 | 12 ++++++------ + 13 files changed, 42 insertions(+), 29 deletions(-) + +commit bddff50271b7c4c15c34d7a0aa1c04f3e3e3c107 +Author: Martin Sustrik +Date: Mon Jan 18 11:01:41 2010 +0100 + + ZMQII-40: wrong return code from recolve_ip_interface + + src/ip.cpp | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 55944729ed5527692b1ead17af553aa32c316781 +Author: Martin Sustrik +Date: Mon Jan 18 10:53:46 2010 +0100 + + ChangeLog modified for 2.0-beta2 version + + ChangeLog | 11 +++++++++++ + 1 files changed, 11 insertions(+), 0 deletions(-) + +commit f40e3a6931fb6463c349ef765d99515edc569fd7 +Author: Martin Sustrik +Date: Sun Jan 17 17:49:34 2010 +0100 + + version number bumped + + configure.in | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 51e012c446b500fe3dfb46b6475ebf018ecfeaa0 +Author: Martin Sustrik +Date: Sat Jan 16 09:39:44 2010 +0100 + + Solaris build fixed + + AUTHORS | 1 + + src/ip.cpp | 2 +- + src/tcp_connecter.cpp | 6 ++++-- + src/tcp_listener.cpp | 7 +++---- + 4 files changed, 9 insertions(+), 7 deletions(-) + +commit a507d16e13fdd6b13e1e69d0d305750995513a1f +Author: unknown +Date: Fri Jan 15 14:21:20 2010 +0100 + + Win32 build fixed + + src/tcp_connecter.cpp | 2 ++ + src/tcp_listener.cpp | 4 +++- + 2 files changed, 5 insertions(+), 1 deletions(-) + +commit 2bb57ac57ace37203c505ff17147210feca34d73 +Author: Martin Sustrik +Date: Fri Jan 15 14:11:39 2010 +0100 + + ZMQII-39: Implement IPC transport + + man/Makefile.am | 2 +- + man/convert2html.sh | 1 + + man/convert2pdf.sh | 2 + + man/man7/zmq.7 | 3 + + man/man7/zmq_inproc.7 | 3 +- + man/man7/zmq_ipc.7 | 34 ++++++++++ + man/man7/zmq_pgm.7 | 1 + + man/man7/zmq_tcp.7 | 1 + + man/man7/zmq_udp.7 | 1 + + src/ip.cpp | 17 +++++ + src/ip.hpp | 9 +++ + src/socket_base.cpp | 23 ++++++- + src/tcp_connecter.cpp | 117 +++++++++++++++++++++++----------- + src/tcp_connecter.hpp | 4 +- + src/tcp_listener.cpp | 166 ++++++++++++++++++++++++++++++++++-------------- + src/tcp_listener.hpp | 10 +-- + src/zmq_connecter.cpp | 10 ++- + src/zmq_connecter.hpp | 7 +- + src/zmq_engine.cpp | 9 ++- + src/zmq_engine.hpp | 6 ++- + src/zmq_init.cpp | 4 +- + src/zmq_init.hpp | 3 +- + src/zmq_listener.cpp | 6 +- + src/zmq_listener.hpp | 4 +- + 24 files changed, 323 insertions(+), 120 deletions(-) + +commit 56c369272c279224562d11b0a66590ac7826f4f3 +Merge: b9b0124 b60342a +Author: unknown +Date: Thu Jan 14 15:50:54 2010 +0100 + + Merge branch 'master' of github.com:sustrik/zeromq2 + +commit b9b0124d553b30932d8b78fb774ae258fa0d0f4d +Author: unknown +Date: Thu Jan 14 15:50:12 2010 +0100 + + ZMQII-34: ensure that poll won't return POLLIN event when the message will be filtered out anyway (Win32) + + src/zmq.cpp | 54 +++++++++++++++++++++++++++++++++++++----------------- + 1 files changed, 37 insertions(+), 17 deletions(-) + +commit b60342ae1a95dbb303705f5b89a94b33805a3841 +Author: Martin Sustrik +Date: Thu Jan 14 14:11:34 2010 +0100 + + man pages are more specific on NIC name issue + + man/man3/zmq_bind.3 | 12 ++++++++---- + man/man3/zmq_connect.3 | 12 ++++++++---- + man/man7/zmq_pgm.7 | 5 +++++ + man/man7/zmq_tcp.7 | 5 +++++ + man/man7/zmq_udp.7 | 5 +++++ + 5 files changed, 31 insertions(+), 8 deletions(-) + +commit 067ba3b9f77a253d4ce58e05ef1fa7702c32b2a3 +Author: Martin Sustrik +Date: Wed Jan 13 19:21:23 2010 +0100 + + ZMQII-34: ensure that poll won't return POLLIN event when the message will be filtered out anyway (POSIX) + + src/socket_base.cpp | 4 +-- + src/sub.cpp | 92 +++++++++++++++++++++++++++++++++++++-------------- + src/sub.hpp | 10 +++++ + src/zmq.cpp | 50 ++++++++++++++++++---------- + 4 files changed, 110 insertions(+), 46 deletions(-) + +commit 06105d164230800e8ea42ddd513e2f7fb27e6f2f +Author: Martin Sustrik +Date: Wed Jan 13 15:15:01 2010 +0100 + + transports man pages updated + + man/man7/zmq_inproc.7 | 34 +++++++++++++++++++++- + man/man7/zmq_pgm.7 | 77 ++++++++++++++++++++++++++++++++++++++++++++++++- + man/man7/zmq_tcp.7 | 5 +++ + man/man7/zmq_udp.7 | 32 +++++++++++++++++++- + 4 files changed, 145 insertions(+), 3 deletions(-) + +commit 30a107e06d48ebbc7a635ba4fb21a24e385cf4e4 +Author: Martin Sustrik +Date: Wed Jan 13 13:35:13 2010 +0100 + + timeout parameter for zmq_poll added in cl binding + + bindings/cl/zeromq-api.lisp | 12 +++++++----- + bindings/cl/zeromq.lisp | 3 ++- + 2 files changed, 9 insertions(+), 6 deletions(-) + +commit 20a8edcf5c2d9d5099d194e5a87c501d49c47328 +Author: Martin Sustrik +Date: Wed Jan 13 13:24:29 2010 +0100 + + ZMQII-38: Compiler complains about missing virtual constructors + + src/i_endpoint.hpp | 2 ++ + src/i_inout.hpp | 2 ++ + 2 files changed, 4 insertions(+), 0 deletions(-) + +commit 76dbb4f3bb88f73bc40e3de72e258e321375cd2f +Author: Martin Sustrik +Date: Tue Jan 12 13:08:37 2010 +0100 + + zmq_tcp man page added + + man/man7/zmq_tcp.7 | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++- + 1 files changed, 61 insertions(+), 1 deletions(-) + +commit bcd278a5a5fa9c08af6786c6f3c1ec5fa974fadf +Author: Martin Sustrik +Date: Tue Jan 12 08:14:55 2010 +0100 + + ZMQII-37: SIGSEGV when polling on REQ socket + + src/req.cpp | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 4c613b39faebe18af95cab07a7d5f687285c4655 +Author: Martin Sustrik +Date: Tue Jan 12 08:02:03 2010 +0100 + + script to convert man pages to html added + + man/convert2html.sh | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 files changed, 54 insertions(+), 0 deletions(-) + +commit 72b2f07a707724b353e9733f60cb4bade9b43966 +Author: Martin Sustrik +Date: Mon Jan 11 07:47:19 2010 +0100 + + ZMQII-36: Chat example & forwarder broken because of changes subscribe semantics + + devices/zmq_forwarder/zmq_forwarder.cpp | 2 +- + examples/chat/display.cpp | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 65f450f22e311d9a9251d05f8fb902a8fa2afe54 +Author: Martin Sustrik +Date: Sun Jan 10 17:41:59 2010 +0100 + + minor man page fix + + man/man3/zmq_connect.3 | 2 -- + 1 files changed, 0 insertions(+), 2 deletions(-) + +commit bd07baf0281ddb5f332bd03b06038fc0ac048285 +Author: Martin Sustrik +Date: Sat Jan 9 22:24:59 2010 +0100 + + ZMQII-33: zmq_poll may exceed timeout if signal interrupts the waiting + + src/zmq.cpp | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +commit e806615dd18e625b0b7fb1074cc4da5fda18529b +Author: Martin Sustrik +Date: Fri Jan 8 15:44:51 2010 +0100 + + ZMQII-31: memory leak in zmq_poll (on timeout) + + AUTHORS | 1 + + src/zmq.cpp | 4 +++- + 2 files changed, 4 insertions(+), 1 deletions(-) + +commit 9fc8827b8a8e9d842b85b7f7f9790fc0a2ef88f6 +Merge: ddf5f75 e9a4ad3 +Author: Martin Sustrik +Date: Thu Jan 7 14:45:13 2010 +0100 + + Merge branch 'master' of git@github.com:sustrik/zeromq2 + +commit ddf5f75549f01a0615ee3f49b6b5d53aefd8fbd2 +Author: Martin Sustrik +Date: Thu Jan 7 14:44:43 2010 +0100 + + zmq.cpp build probelm on non-linux platforms fixed + + man/man3/zmq_setsockopt.3 | 10 ++++------ + src/zmq.cpp | 5 ++++- + 2 files changed, 8 insertions(+), 7 deletions(-) + +commit e9a4ad38ce04ee21a7f81d5a36e3c58cf7138f5d +Author: malosek +Date: Wed Jan 6 20:10:27 2010 +0100 + + updated version to 2.0-beta1 in configure.in + + configure.in | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 7546526e667b35c05c80515d651e950a771813e1 +Author: Martin Sustrik +Date: Wed Jan 6 19:42:15 2010 +0100 + + ChangeLog updated for 2.0-beta1 + + ChangeLog | 10 ++++++++++ + 1 files changed, 10 insertions(+), 0 deletions(-) + +commit e21b33e9cfe12725de23bf2ef44967f53bcb2a10 +Author: malosek +Date: Tue Jan 5 18:34:27 2010 +0100 + + forced WINVER to 0x0501 for mingv32 build + + src/windows.hpp | 5 +++-- + 1 files changed, 3 insertions(+), 2 deletions(-) + +commit ef049efe2ec56bb0ff5395ba8cba6e1722922e43 +Author: Martin Sustrik +Date: Tue Jan 5 14:45:10 2010 +0100 + + perf tests modified to reflect change in subscription format + + perf/c/local_thr.c | 2 +- + perf/cl/local-thr.lisp | 2 +- + perf/cpp/local_thr.cpp | 2 +- + perf/java/local_thr.java | 2 +- + perf/python/local_thr.py | 2 +- + perf/ruby/local_thr.rb | 2 +- + src/zmq_engine.cpp | 8 +++++--- + 7 files changed, 11 insertions(+), 9 deletions(-) + +commit 8d339e959694107df8f1666634a34f54ad76ae41 +Author: malosek +Date: Tue Jan 5 13:46:35 2010 +0100 + + Fixed newer autotools warningng about AC_CONFIG_MACRO_DIR + + Makefile.am | 2 ++ + configure.in | 1 + + 2 files changed, 3 insertions(+), 0 deletions(-) + +commit 11fec367d1a13c3f0248f8542eb805b8d9571685 +Author: malosek +Date: Tue Jan 5 11:22:14 2010 +0100 + + added pending event fd handling by the pgm_sender + + src/pgm_sender.cpp | 9 ++++++++- + src/pgm_sender.hpp | 1 + + src/pgm_socket.cpp | 10 +++++++--- + src/pgm_socket.hpp | 2 +- + 4 files changed, 17 insertions(+), 5 deletions(-) + +commit 472ddf8de2c93f750831d52b5473cdbed1db51e8 +Merge: d10c605 4f6baf4 +Author: malosek +Date: Tue Jan 5 11:05:03 2010 +0100 + + fixed failed merge with autogen.sh + +commit d10c605fa94a8fe8265785043aeef63983e07f3f +Author: malosek +Date: Tue Jan 5 10:51:54 2010 +0100 + + updated to libpgm-2.0.20rc5 + + configure.in | 10 +++++----- + foreign/openpgm/libpgm-2.0.19rc4.tar.bz2 | Bin 317223 -> 0 bytes + foreign/openpgm/libpgm-2.0.20rc5.tar.bz2 | Bin 0 -> 316958 bytes + 3 files changed, 5 insertions(+), 5 deletions(-) + +commit 4f6baf4dde627656b63cc4e2acdb78a8577ba640 +Author: Martin Sustrik +Date: Tue Jan 5 08:29:35 2010 +0100 + + Copyrights transferred from FastMQ to iMatix + + autogen.sh | 7 +------ + bindings/c/zmq.h | 2 +- + bindings/cpp/zmq.hpp | 2 +- + bindings/java/Context.cpp | 2 +- + bindings/java/Socket.cpp | 2 +- + bindings/java/org/zmq/Context.java | 2 +- + bindings/java/org/zmq/Socket.java | 2 +- + bindings/python/pyzmq.cpp | 2 +- + bindings/ruby/extconf.rb | 2 +- + bindings/ruby/rbzmq.cpp | 2 +- + builds/msvc/platform.hpp | 2 +- + devices/zmq_forwarder/zmq_forwarder.cpp | 2 +- + devices/zmq_queue/zmq_queue.cpp | 2 +- + devices/zmq_streamer/zmq_streamer.cpp | 2 +- + examples/chat/display.cpp | 2 +- + examples/chat/prompt.cpp | 2 +- + man/convert2pdf.sh | 2 +- + man/man1/zmq_forwarder.1 | 2 +- + man/man1/zmq_queue.1 | 2 +- + man/man1/zmq_streamer.1 | 2 +- + man/man3/zmq_bind.3 | 2 +- + man/man3/zmq_close.3 | 2 +- + man/man3/zmq_connect.3 | 2 +- + man/man3/zmq_flush.3 | 2 +- + man/man3/zmq_init.3 | 2 +- + man/man3/zmq_msg_close.3 | 2 +- + man/man3/zmq_msg_copy.3 | 2 +- + man/man3/zmq_msg_data.3 | 2 +- + man/man3/zmq_msg_init.3 | 2 +- + man/man3/zmq_msg_init_data.3 | 2 +- + man/man3/zmq_msg_init_size.3 | 2 +- + man/man3/zmq_msg_move.3 | 2 +- + man/man3/zmq_msg_size.3 | 2 +- + man/man3/zmq_poll.3 | 2 +- + man/man3/zmq_recv.3 | 2 +- + man/man3/zmq_send.3 | 2 +- + man/man3/zmq_setsockopt.3 | 2 +- + man/man3/zmq_socket.3 | 2 +- + man/man3/zmq_strerror.3 | 2 +- + man/man3/zmq_term.3 | 2 +- + man/man7/zmq.7 | 2 +- + man/man7/zmq_cl.7 | 2 +- + man/man7/zmq_cpp.7 | 2 +- + man/man7/zmq_inproc.7 | 2 +- + man/man7/zmq_pgm.7 | 2 +- + man/man7/zmq_python.7 | 2 +- + man/man7/zmq_ruby.7 | 2 +- + man/man7/zmq_tcp.7 | 2 +- + man/man7/zmq_udp.7 | 2 +- + packages/debian/copyright | 2 +- + perf/c/local_lat.c | 2 +- + perf/c/local_thr.c | 2 +- + perf/c/remote_lat.c | 2 +- + perf/c/remote_thr.c | 2 +- + perf/cpp/local_lat.cpp | 2 +- + perf/cpp/local_thr.cpp | 2 +- + perf/cpp/remote_lat.cpp | 2 +- + perf/cpp/remote_thr.cpp | 2 +- + perf/java/local_lat.java | 2 +- + perf/java/local_thr.java | 2 +- + perf/java/remote_lat.java | 2 +- + perf/java/remote_thr.java | 2 +- + perf/python/local_lat.py | 2 +- + perf/python/local_thr.py | 2 +- + perf/python/remote_lat.py | 2 +- + perf/python/remote_thr.py | 2 +- + perf/ruby/local_lat.rb | 2 +- + perf/ruby/local_thr.rb | 2 +- + perf/ruby/remote_lat.rb | 2 +- + perf/ruby/remote_thr.rb | 2 +- + src/app_thread.cpp | 2 +- + src/app_thread.hpp | 2 +- + src/atomic_bitmap.hpp | 2 +- + src/atomic_counter.hpp | 2 +- + src/atomic_ptr.hpp | 2 +- + src/command.hpp | 2 +- + src/config.hpp | 2 +- + src/decoder.hpp | 2 +- + src/devpoll.cpp | 2 +- + src/devpoll.hpp | 2 +- + src/dispatcher.cpp | 2 +- + src/dispatcher.hpp | 2 +- + src/downstream.cpp | 2 +- + src/downstream.hpp | 2 +- + src/encoder.hpp | 2 +- + src/epoll.cpp | 2 +- + src/epoll.hpp | 2 +- + src/err.cpp | 2 +- + src/err.hpp | 2 +- + src/fd.hpp | 2 +- + src/fd_signaler.cpp | 2 +- + src/fd_signaler.hpp | 2 +- + src/fq.cpp | 2 +- + src/fq.hpp | 2 +- + src/i_endpoint.hpp | 2 +- + src/i_engine.hpp | 2 +- + src/i_inout.hpp | 2 +- + src/i_poll_events.hpp | 2 +- + src/i_signaler.hpp | 2 +- + src/io_object.cpp | 2 +- + src/io_object.hpp | 2 +- + src/io_thread.cpp | 2 +- + src/io_thread.hpp | 2 +- + src/ip.cpp | 2 +- + src/ip.hpp | 2 +- + src/kqueue.cpp | 2 +- + src/kqueue.hpp | 2 +- + src/lb.cpp | 2 +- + src/lb.hpp | 2 +- + src/likely.hpp | 2 +- + src/msg_content.hpp | 2 +- + src/mutex.hpp | 2 +- + src/object.cpp | 2 +- + src/object.hpp | 2 +- + src/options.cpp | 2 +- + src/options.hpp | 2 +- + src/owned.cpp | 2 +- + src/owned.hpp | 2 +- + src/p2p.cpp | 2 +- + src/p2p.hpp | 2 +- + src/pgm_receiver.cpp | 2 +- + src/pgm_receiver.hpp | 2 +- + src/pgm_sender.cpp | 2 +- + src/pgm_sender.hpp | 2 +- + src/pgm_socket.cpp | 2 +- + src/pgm_socket.hpp | 2 +- + src/pipe.cpp | 2 +- + src/pipe.hpp | 2 +- + src/poll.cpp | 2 +- + src/poll.hpp | 2 +- + src/poller.hpp | 2 +- + src/pub.cpp | 2 +- + src/pub.hpp | 2 +- + src/rep.cpp | 2 +- + src/rep.hpp | 2 +- + src/req.cpp | 2 +- + src/req.hpp | 2 +- + src/select.cpp | 2 +- + src/select.hpp | 2 +- + src/session.cpp | 2 +- + src/session.hpp | 2 +- + src/simple_semaphore.hpp | 2 +- + src/socket_base.cpp | 2 +- + src/socket_base.hpp | 2 +- + src/stdint.hpp | 2 +- + src/sub.cpp | 2 +- + src/sub.hpp | 2 +- + src/tcp_connecter.cpp | 2 +- + src/tcp_connecter.hpp | 2 +- + src/tcp_listener.cpp | 2 +- + src/tcp_listener.hpp | 2 +- + src/tcp_socket.cpp | 2 +- + src/tcp_socket.hpp | 2 +- + src/thread.cpp | 2 +- + src/thread.hpp | 2 +- + src/upstream.cpp | 2 +- + src/upstream.hpp | 2 +- + src/uuid.cpp | 2 +- + src/uuid.hpp | 2 +- + src/windows.hpp | 2 +- + src/wire.hpp | 2 +- + src/xrep.cpp | 2 +- + src/xrep.hpp | 2 +- + src/xreq.cpp | 2 +- + src/xreq.hpp | 2 +- + src/yarray.hpp | 2 +- + src/yarray_item.hpp | 2 +- + src/ypipe.hpp | 2 +- + src/ypollset.cpp | 2 +- + src/ypollset.hpp | 2 +- + src/yqueue.hpp | 2 +- + src/zmq.cpp | 2 +- + src/zmq_connecter.cpp | 2 +- + src/zmq_connecter.hpp | 2 +- + src/zmq_decoder.cpp | 2 +- + src/zmq_decoder.hpp | 2 +- + src/zmq_encoder.cpp | 2 +- + src/zmq_encoder.hpp | 2 +- + src/zmq_engine.cpp | 2 +- + src/zmq_engine.hpp | 2 +- + src/zmq_init.cpp | 2 +- + src/zmq_init.hpp | 2 +- + src/zmq_listener.cpp | 2 +- + src/zmq_listener.hpp | 2 +- + 184 files changed, 184 insertions(+), 189 deletions(-) + +commit bf01727f4b5d2e12daa5e4289c556fb3b7ade3f3 +Author: malosek +Date: Mon Jan 4 16:04:40 2010 +0100 + + updated to libpgm 2.0.19rc4 + + configure.in | 10 +++++----- + foreign/openpgm/libpgm-2.0.18rc3.tar.bz2 | Bin 315989 -> 0 bytes + foreign/openpgm/libpgm-2.0.19rc4.tar.bz2 | Bin 0 -> 317223 bytes + 3 files changed, 5 insertions(+), 5 deletions(-) + +commit 1528edb963b2c9d292758f7704eeda336d358db2 +Author: malosek +Date: Mon Jan 4 16:03:49 2010 +0100 + + fixed autogen.sh complaining about existing config dir + + autogen.sh | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit f2b235db165e459f7f265993477dae0dc987125a +Author: Martin Sustrik +Date: Mon Jan 4 15:46:20 2010 +0100 + + ZMQII-29: Add timeout to zmq_poll function + + bindings/c/zmq.h | 2 +- + bindings/cpp/zmq.hpp | 4 ++-- + man/man3/zmq_poll.3 | 10 ++++++++-- + src/zmq.cpp | 23 ++++++++++++++++++----- + 4 files changed, 29 insertions(+), 10 deletions(-) + +commit 7884f4541aa6f95b76e0b2429baaf11108c543a1 +Author: Martin Sustrik +Date: Mon Jan 4 15:13:04 2010 +0100 + + problem with new version of autoreconf fixed + + autogen.sh | 7 ++++++- + 1 files changed, 6 insertions(+), 1 deletions(-) + +commit 1b90e5f6f50ecb512b22f73850f763a9a009c483 +Author: malosek +Date: Thu Dec 31 16:53:00 2009 +0100 + + added missing likely.hpp file into the dist + + src/Makefile.am | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +commit 9bda63cd6378682af3b685dbbe0c47cdc4455295 +Author: malosek +Date: Thu Dec 31 16:35:04 2009 +0100 + + fixed minor gcc warning in src/pgm_receiver.cpp + + src/pgm_receiver.cpp | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 819590c04cb24f1627b140883e4106bb8a6f62eb +Author: malosek +Date: Thu Dec 31 16:31:13 2009 +0100 + + libpgm updated to 2.0.18rc3 + + configure.in | 10 +++++----- + foreign/openpgm/libpgm-2.0.17rc2.tar.bz2 | Bin 315051 -> 0 bytes + foreign/openpgm/libpgm-2.0.18rc3.tar.bz2 | Bin 0 -> 315989 bytes + 3 files changed, 5 insertions(+), 5 deletions(-) + +commit 9fadf0b218b66e8448a2356f124dc1bb10f1f81d +Author: malosek +Date: Thu Dec 31 16:18:45 2009 +0100 + + fixed minor gcc warning in src/pgm_socket.cpp + + src/pgm_socket.cpp | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +commit d6da7903d0fc42356adbf4c43e04774a1b465632 +Author: malosek +Date: Thu Dec 31 15:47:44 2009 +0100 + + removed unused foreign/openpgm/create_custom_gsi_1.patch file + + Makefile.am | 1 - + foreign/openpgm/create_custom_gsi_1.patch | 43 ----------------------------- + 2 files changed, 0 insertions(+), 44 deletions(-) + +commit 7cb02fb3e7cbe614caefbb5d9ab34936fba2724f +Author: malosek +Date: Thu Dec 31 15:44:42 2009 +0100 + + fixed make dist for non pgm configuration + + configure.in | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) + +commit 102077471c5863242b5e9a2e063e272edd5b48ea +Author: Martin Sustrik +Date: Tue Dec 29 16:50:28 2009 +0100 + + error in zmq_poll manpage fixed + + man/man3/zmq_poll.3 | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +commit e9cebc86ed8eeff2cc5dde49807a4851b43d1232 +Author: unknown +Date: Tue Dec 29 16:42:56 2009 +0100 + + EINPROGRESS definition added on Win32 platform + + bindings/c/zmq.h | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) + +commit 23e5c3b342793ca871747b7d6681d445b34925bb +Author: Martin Sustrik +Date: Tue Dec 29 07:53:33 2009 +0100 + + polling on SUB socket fixed + + src/sub.cpp | 5 +---- + 1 files changed, 1 insertions(+), 4 deletions(-) + +commit 72161fb075025410312c6735d681c3de9a36a4e5 +Author: Martin Sustrik +Date: Mon Dec 28 21:29:31 2009 +0100 + + format of subscriptions changed (no * needed anymore) + + src/socket_base.cpp | 11 ++++-- + src/sub.cpp | 90 +++++++++++++++++++++------------------------------ + src/sub.hpp | 9 +---- + src/zmq_engine.cpp | 7 +++- + 4 files changed, 51 insertions(+), 66 deletions(-) + +commit c97967ed4b70de700db38cc2661bbe43262bc029 +Author: unknown +Date: Mon Dec 28 16:20:21 2009 +0100 + + MSVC build fixed + + builds/msvc/libzmq/libzmq.vcproj | 16 ++++------------ + src/zmq_init.cpp | 1 + + 2 files changed, 5 insertions(+), 12 deletions(-) + +commit 5852db451a76905336601c5ba3e4f33006f007fb +Author: Martin Sustrik +Date: Mon Dec 28 11:51:06 2009 +0100 + + PGM code cleanup + + src/pgm_receiver.cpp | 148 ++++++++++++++++------------------------- + src/pgm_receiver.hpp | 13 ++-- + src/pgm_sender.cpp | 94 ++++++++++----------------- + src/pgm_sender.hpp | 16 +---- + src/pgm_socket.cpp | 178 +++++++++++++++----------------------------------- + src/pgm_socket.hpp | 37 ++--------- + 6 files changed, 159 insertions(+), 327 deletions(-) + +commit aebff623f36efddc0de7a3192832b61802f8cec8 +Author: Martin Sustrik +Date: Wed Dec 23 19:37:56 2009 +0100 + + ZMQII-28: Bidirectional introduction on TCP connection establishment + + src/Makefile.am | 8 +- + src/i_inout.hpp | 6 +- + src/pgm_receiver.cpp | 3 +- + src/pgm_receiver.hpp | 6 +- + src/pgm_sender.cpp | 3 +- + src/pgm_sender.hpp | 6 +- + src/session.cpp | 54 +++++++++--- + src/session.hpp | 24 ++++-- + src/socket_base.cpp | 83 +++++++++++++------ + src/socket_base.hpp | 27 ++++-- + src/zmq_connecter.cpp | 15 ++-- + src/zmq_connecter.hpp | 8 +- + src/zmq_connecter_init.cpp | 132 ------------------------------ + src/zmq_connecter_init.hpp | 79 ------------------ + src/zmq_engine.cpp | 2 +- + src/zmq_init.cpp | 195 ++++++++++++++++++++++++++++++++++++++++++++ + src/zmq_init.hpp | 89 ++++++++++++++++++++ + src/zmq_listener.cpp | 6 +- + src/zmq_listener_init.cpp | 137 ------------------------------- + src/zmq_listener_init.hpp | 79 ------------------ + 20 files changed, 445 insertions(+), 517 deletions(-) + +commit b3bd4c15fe869de4f5c530ecc5942968677a85c3 +Author: Martin Sustrik +Date: Tue Dec 22 09:01:01 2009 +0100 + + OpenPGM error handling fixed + + src/pgm_socket.cpp | 15 +++++++++------ + 1 files changed, 9 insertions(+), 6 deletions(-) + +commit 7cf18a2aec8300099e3c3e236ac3cefa3be746d0 +Author: Martin Sustrik +Date: Mon Dec 21 20:45:52 2009 +0100 + + minor fixes + + src/app_thread.cpp | 4 ++-- + src/object.hpp | 4 ---- + 2 files changed, 2 insertions(+), 6 deletions(-) + +commit 5a0674dfeccf0d80dc92e77a8630be280c71fb84 +Author: Martin Sustrik +Date: Mon Dec 21 18:50:24 2009 +0100 + + OpenPGM error handling improved + + bindings/python/pyzmq.cpp | 2 +- + src/pgm_socket.cpp | 64 +++++++++++++++++++++++++++++++++++---------- + src/pgm_socket.hpp | 12 ++++---- + 3 files changed, 57 insertions(+), 21 deletions(-) + +commit 990a1e8686bdeb3472a27d00cb2436936a4d0d26 +Author: Martin Sustrik +Date: Fri Dec 18 16:01:58 2009 +0100 + + zmq_cl(7) man page added + + man/man7/zmq_cl.7 | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++- + 1 files changed, 118 insertions(+), 3 deletions(-) + +commit bad224251e97205abaf987e8e998bc14af32223c +Author: Martin Sustrik +Date: Fri Dec 18 15:46:21 2009 +0100 + + minor errors in zmq_cpp man page fixed + + man/man7/zmq_cpp.7 | 12 ++++++------ + 1 files changed, 6 insertions(+), 6 deletions(-) + +commit d50c7daf9eafe36ca2df7210ff2e82487e85f842 +Author: Martin Sustrik +Date: Fri Dec 18 14:34:57 2009 +0100 + + hint parameter (zmq_free_fn) added to Lisp binding + + bindings/cl/zeromq.lisp | 7 ++++--- + 1 files changed, 4 insertions(+), 3 deletions(-) + +commit 1924cba88985a36cb1422efd2fb287292b41eb44 +Author: Martin Sustrik +Date: Fri Dec 18 14:33:22 2009 +0100 + + memory management in Lisp binding fixed - issue 11 - Assertion failed: it != peers.end () (pgm_receiver.cpp:161) + bindings/cl/zeromq-api.lisp | 59 +++++++++++++++++++++++++++++------------- + 1 files changed, 41 insertions(+), 18 deletions(-) -commit 38e9103e0c82bcbb61a9c23ed3a4ace1c7420f95 -Author: Martin Sustrik -Date: Thu Apr 8 08:33:38 2010 +0200 +commit 86d68cbcbd24e6dfe6dd1ed230c7806408b70668 +Author: Martin Sustrik +Date: Fri Dec 18 14:19:28 2009 +0100 - issue 13 (Assertion failed: load.get () == 0 (epoll.cpp:49)) fixed + memory leaks related to OpenPGM errors fixed -commit 0f7aab5212ef66f7e292fe4ca891660859972ec4 -Merge: 745db9c b0250cc -Author: Martin Sustrik -Date: Wed Apr 7 11:54:34 2010 +0200 + src/pgm_socket.cpp | 11 +++++++---- + 1 files changed, 7 insertions(+), 4 deletions(-) - Merge branch 'master' of git@github.com:sustrik/zeromq2 +commit 500d32a540d762d30a59e952a4f2216d73e4654c +Author: Martin Sustrik +Date: Wed Dec 16 17:19:20 2009 +0100 -commit 745db9c574153160214470563bea3b53ab4c292a -Author: Martin Sustrik -Date: Wed Apr 7 11:54:09 2010 +0200 + examples & perf added to the Debian package - unitialised member in seesion_t class - fixed + packages/debian/control | 50 +++++++++++++++++++++++++++---- + packages/debian/dirs | 3 ++ + packages/debian/rules | 7 ++-- + packages/debian/zeromq-examples.files | 2 + + packages/debian/zeromq-examples.install | 2 + + packages/debian/zeromq-perf.files | 10 ++++++ + packages/debian/zeromq-perf.install | 10 ++++++ + 7 files changed, 75 insertions(+), 9 deletions(-) -commit b0250cc89df8d6c3d3fff7c8edc17a09ceaaa107 -Author: Martin Sustrik -Date: Wed Apr 7 10:41:11 2010 +0200 +commit 667d1a8280e2dedd7f3ccdbd39605263ba8e98d7 +Author: Martin Sustrik +Date: Wed Dec 16 15:20:14 2009 +0100 - Win32 build fixed + man page updated to match change in zmq_free_fn -commit 065e4d00ff628097ce693ac7d9056fbcaf23d0bc -Merge: edfd05d a7973a2 -Author: Martin Sustrik -Date: Wed Apr 7 08:20:24 2010 +0200 + man/man3/zmq_msg_init_data.3 | 23 +++++++++++++++-------- + 1 files changed, 15 insertions(+), 8 deletions(-) + +commit ab5abf6c7ec7668c4a8373d87c491d22d0db144d +Author: Martin Sustrik +Date: Wed Dec 16 15:08:37 2009 +0100 + + hint parameter added to zmq_free function + + bindings/c/zmq.h | 4 ++-- + bindings/cpp/zmq.hpp | 10 ++++++---- + src/msg_content.hpp | 1 + + src/zmq.cpp | 6 ++++-- + 4 files changed, 13 insertions(+), 8 deletions(-) + +commit 02202ec30ecca9e538cc807ce86b54d822c823bd +Author: Martin Sustrik +Date: Wed Dec 16 14:54:11 2009 +0100 + + addition to CREDITS section of AUTHORS file + + AUTHORS | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +commit 5e77a1daa46f1b757b08f65895778f803575469c +Author: Martin Sustrik +Date: Wed Dec 16 14:43:50 2009 +0100 + + debian package added + + packages/debian/README.Debian | 6 ++ + packages/debian/changelog | 6 ++ + packages/debian/cl-zeromq.files | 7 ++ + packages/debian/cl-zeromq.install | 6 ++ + packages/debian/cl-zeromq.links | 1 + + packages/debian/compat | 1 + + packages/debian/control | 123 +++++++++++++++++++++++++++ + packages/debian/copyright | 18 ++++ + packages/debian/dirs | 2 + + packages/debian/docs | 2 + + packages/debian/libzeromq-dev.files | 37 ++++++++ + packages/debian/libzeromq-dev.install | 19 ++++ + packages/debian/libzeromq-python.files | 1 + + packages/debian/libzeromq-python.install | 1 + + packages/debian/libzeromq-ruby.files | 1 + + packages/debian/libzeromq-ruby.install | 1 + + packages/debian/libzeromq0.files | 2 + + packages/debian/libzeromq0.install | 1 + + packages/debian/rules | 135 ++++++++++++++++++++++++++++++ + packages/debian/shlibs.local | 1 + + packages/debian/zeromq-utils.files | 6 ++ + packages/debian/zeromq-utils.install | 6 ++ + 22 files changed, 383 insertions(+), 0 deletions(-) + +commit 7479871cde46371c593f35c0ace3d9e984fddb1a +Merge: 8aa0908 3e64083 +Author: Martin Sustrik +Date: Tue Dec 15 23:50:32 2009 +0100 Merge branch 'master' of git@github.com:sustrik/zeromq2 -commit edfd05df8ef58afc498795cb74906c07ee396f76 -Author: Jon Dyte -Date: Wed Apr 7 08:20:01 2010 +0200 +commit 8aa0908635f255e2d533539d5330b92b62dc88ba +Author: Martin Sustrik +Date: Tue Dec 15 23:49:55 2009 +0100 + + all news converted to nothrow variant + + src/app_thread.cpp | 23 ++++++++++++----------- + src/dispatcher.cpp | 12 ++++++++---- + src/epoll.cpp | 3 ++- + src/io_thread.cpp | 4 +++- + src/kqueue.cpp | 3 ++- + src/pgm_receiver.cpp | 4 +++- + src/pgm_socket.cpp | 2 ++ + src/session.cpp | 8 ++++++-- + src/socket_base.cpp | 33 +++++++++++++++++++++------------ + src/tcp_listener.cpp | 1 - + src/yqueue.hpp | 5 +++-- + src/zmq.cpp | 4 ++-- + src/zmq_connecter.cpp | 6 ++++-- + src/zmq_connecter_init.cpp | 5 ++++- + src/zmq_engine.cpp | 4 +++- + src/zmq_listener.cpp | 6 ++++-- + src/zmq_listener_init.cpp | 9 ++++++--- + 17 files changed, 85 insertions(+), 47 deletions(-) + +commit 3e640836674872961f48efb4dc7badb20d736407 +Author: unknown +Date: Tue Dec 15 18:00:00 2009 +0100 - devices can be created via API + win32 build fixed -commit a7973a2c4997e2ff79126eb073dc675c574de917 -Author: Martin Lucina -Date: Tue Apr 6 15:23:13 2010 +0200 + builds/msvc/libzmq/libzmq.vcproj | 16 ++++++++++++++++ + src/zmq_listener_init.cpp | 1 + + 2 files changed, 17 insertions(+), 0 deletions(-) - Documentation fixes +commit 2cef05d86976784f4bc1083cb0fa548e267ac132 +Author: Martin Sustrik +Date: Tue Dec 15 17:49:40 2009 +0100 + + reconnection mechanism added to tcp transport + + src/i_inout.hpp | 15 +++++++++++++-- + src/io_object.hpp | 1 + + src/io_thread.hpp | 1 + + src/object.hpp | 5 +++-- + src/session.cpp | 23 +++++++++++++++++++++-- + src/session.hpp | 5 ++++- + src/zmq_connecter.cpp | 10 +++++++--- + src/zmq_connecter.hpp | 5 ++++- + src/zmq_connecter_init.cpp | 36 +++++++++++++++++++++--------------- + src/zmq_connecter_init.hpp | 11 +++++++---- + src/zmq_engine.cpp | 23 ++++++++++++++++++++--- + src/zmq_engine.hpp | 5 ++++- + src/zmq_listener_init.cpp | 22 ++++++++++++++++++++-- + src/zmq_listener_init.hpp | 5 ++++- + 14 files changed, 130 insertions(+), 37 deletions(-) + +commit 14b112301e62af5115ab870d97ae448c2e3deddb +Author: Martin Sustrik +Date: Tue Dec 15 13:58:21 2009 +0100 -commit 0777567e8911382ac42859f907730df023ebec26 -Author: Martin Sustrik -Date: Tue Apr 6 07:33:52 2010 +0200 + handle error during connecting by eventual reconnection - ENODEV from zmq_bind error described + src/zmq_connecter.cpp | 6 ++++-- + 1 files changed, 4 insertions(+), 2 deletions(-) -commit 37fd1a77a6927ae351e10fe8d5b68d0b0d525d22 -Author: Martin Hurton -Date: Wed Mar 31 15:15:16 2010 +0200 +commit e49115224a7957b0e5d49326bc02ae6af186eaf9 +Author: Martin Sustrik +Date: Tue Dec 15 09:09:19 2009 +0100 + + zmq_encoder/decoder are able to add/trim prefixes from messages; fair queueing and load balancing algorithms factorised into separate classes + + src/Makefile.am | 4 ++ + src/downstream.cpp | 34 ++------------- + src/downstream.hpp | 10 +--- + src/fq.cpp | 106 +++++++++++++++++++++++++++++++++++++++++++++++ + src/fq.hpp | 64 +++++++++++++++++++++++++++++ + src/lb.cpp | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++ + src/lb.hpp | 63 ++++++++++++++++++++++++++++ + src/pgm_receiver.cpp | 2 +- + src/pgm_sender.cpp | 2 +- + src/sub.cpp | 50 ++++------------------- + src/sub.hpp | 21 ++------- + src/upstream.cpp | 58 +++----------------------- + src/upstream.hpp | 14 +----- + src/xrep.cpp | 17 ++++---- + src/xrep.hpp | 5 ++- + src/xreq.cpp | 28 ++++++------ + src/xreq.hpp | 8 +++- + src/zmq_decoder.cpp | 40 +++++++++++++++--- + src/zmq_decoder.hpp | 7 +++- + src/zmq_encoder.cpp | 21 ++++++++-- + src/zmq_encoder.hpp | 4 +- + src/zmq_engine.cpp | 4 +- + 22 files changed, 476 insertions(+), 197 deletions(-) + +commit bd792faa9d6c78c375dbc52c6d773e157335da36 +Author: Martin Sustrik +Date: Mon Dec 14 11:46:30 2009 +0100 - Handle full-pipe for REP sockets more gracefully + ZMQ_SNDBUF and ZMQ_RCVBUF honoured in PGM transport -commit 2f219d7c287cd518bc77b576e507d7a17c9535e9 -Author: Martin Sustrik -Date: Sat Mar 27 21:25:40 2010 +0100 + src/pgm_socket.cpp | 13 ++++++++++++- + 1 files changed, 12 insertions(+), 1 deletions(-) - ZMQ_TBC renamed to ZMQ_MORE +commit 68488215da8e03a74ca4da6b822e4cfa3b71d73a +Author: Martin Sustrik +Date: Sun Dec 13 18:32:22 2009 +0100 -commit 842b4dd2e492459cbc0cc79ffdb34ddab8f0b528 -Author: Martin Sustrik -Date: Sat Mar 27 14:57:56 2010 +0100 + Man pages for XREQ/XREP/zmq_queue updated - muti-part message functionality available via API + man/Makefile.am | 2 +- + man/convert2pdf.sh | 2 ++ + man/man1/zmq_queue.1 | 11 +++++++++++ + man/man3/zmq_socket.3 | 37 +++++++++++++++++++++++++++++++++++-- + 4 files changed, 49 insertions(+), 3 deletions(-) -commit 8d8e0857be3d2ab941de443e436061ef82752c17 -Author: Martin Sustrik -Date: Sat Mar 27 14:50:35 2010 +0100 +commit 0637e06387ac0676e9595246eb60a6809664b01a +Author: unknown +Date: Sun Dec 13 14:59:25 2009 +0100 - as advertised, zmq_flush and ZMQ_NOFLUSH were removed + zmq_streamer & zmq_queue are built under MSVC -commit 06538fc11790a0cf895c43d137a33febf97f3a28 -Author: Martin Sustrik -Date: Sat Mar 27 14:24:57 2010 +0100 + builds/msvc/libzmq/libzmq.vcproj | 20 +++- + builds/msvc/msvc.sln | 18 +++ + builds/msvc/zmq_queue/zmq_queue.vcproj | 174 ++++++++++++++++++++++++++ + builds/msvc/zmq_streamer/zmq_streamer.vcproj | 174 ++++++++++++++++++++++++++ + src/xrep.cpp | 5 + + src/xreq.cpp | 5 + + 6 files changed, 394 insertions(+), 2 deletions(-) - multi-part messages work with REQ/REP sockets +commit fa6bf24d8030b0e54fd25b167064482e4cf08a36 +Author: Martin Sustrik +Date: Sun Dec 13 14:45:23 2009 +0100 + + XREP & XREQ socket types added; zmq_queue device added + + bindings/c/zmq.h | 6 +- + bindings/cl/zeromq.lisp | 6 +- + bindings/java/org/zmq/Socket.java | 6 +- + bindings/python/pyzmq.cpp | 6 ++ + bindings/ruby/rbzmq.cpp | 2 + + configure.in | 15 +++- + devices/Makefile.am | 8 ++- + devices/zmq_forwarder/Makefile.am | 2 +- + devices/zmq_forwarder/zmq_forwarder.cpp | 2 +- + devices/zmq_queue/Makefile.am | 9 ++ + devices/zmq_queue/zmq_queue.cpp | 122 +++++++++++++++++++++++++++++++ + devices/zmq_streamer/Makefile.am | 2 +- + devices/zmq_streamer/zmq_streamer.cpp | 2 +- + src/Makefile.am | 4 + + src/app_thread.cpp | 8 ++ + src/pgm_sender.cpp | 4 - + src/xrep.cpp | 95 ++++++++++++++++++++++++ + src/xrep.hpp | 57 ++++++++++++++ + src/xreq.cpp | 95 ++++++++++++++++++++++++ + src/xreq.hpp | 57 ++++++++++++++ + 20 files changed, 490 insertions(+), 18 deletions(-) + +commit c43aded531014895973c283fdd82bb2e5e85c789 +Author: Martin Sustrik +Date: Sun Dec 13 11:27:43 2009 +0100 -commit bbfac783f91f6692b7f9c0aa5392ac955f7b49bf -Author: Martin Sustrik -Date: Sat Mar 27 09:43:49 2010 +0100 + debug code removed from PGM engines - multi-part message work with UPSTREAM/DOWNSTREAM + src/pgm_receiver.cpp | 21 ----------- + src/pgm_receiver.hpp | 10 +++-- + src/pgm_sender.cpp | 33 +----------------- + src/pgm_socket.cpp | 92 ++++--------------------------------------------- + src/pgm_socket.hpp | 24 ++++--------- + 5 files changed, 24 insertions(+), 156 deletions(-) -commit ed291b02516ac5c9fe01f328d505305d36fe6319 -Author: Martin Sustrik -Date: Sat Mar 27 09:24:38 2010 +0100 +commit f4ac8d7a443bd1afb35634d1cccb79943cc316e0 +Author: Martin Sustrik +Date: Sun Dec 13 09:56:02 2009 +0100 + + OpenPGM v1 support removed + + Makefile.am | 4 +- + configure.in | 134 ++------------------ + foreign/openpgm/libpgm-1.2.14.tar.bz2 | Bin 280029 -> 0 bytes + foreign/openpgm/lost_data_tsi.patch | 76 ----------- + src/Makefile.am | 59 --------- + src/pgm_receiver.cpp | 10 -- + src/pgm_sender.cpp | 18 --- + src/pgm_sender.hpp | 2 - + src/pgm_socket.cpp | 226 +-------------------------------- + src/pgm_socket.hpp | 16 --- + 10 files changed, 18 insertions(+), 527 deletions(-) + +commit 73b765e4b497f6a505cbf88c524085fa0e58e59c +Author: Martin Sustrik +Date: Sun Dec 13 09:11:08 2009 +0100 - multi-part messages work with PUB/SUB + PGM transport fixed -commit 0b9897b141ae03ccd00132a638d030a2521cf5b3 -Merge: 0a53ff7 783463a -Author: Martin Sustrik -Date: Fri Mar 26 12:15:47 2010 +0100 + src/encoder.hpp | 26 ++++--- + src/pgm_receiver.cpp | 5 +- + src/pgm_sender.cpp | 6 +- + src/pgm_socket.cpp | 193 ++++++++++++++++++++------------------------------ + src/pgm_socket.hpp | 5 +- + src/zmq_engine.cpp | 4 +- + 6 files changed, 105 insertions(+), 134 deletions(-) - Merge branch 'master' of git@github.com:sustrik/zeromq2 +commit d5670f34baa0751a5b4567a28caea4e4fa208727 +Author: Martin Sustrik +Date: Fri Dec 11 22:29:04 2009 +0100 -commit 783463ac49aeb2d1be57dc9b3669d508187415a8 -Author: Martin Lucina -Date: Thu Mar 25 17:31:18 2010 +0100 + ZMQII-26: Use zero-copy for large messages (rx side) - Clarify use of poll() with C++ API, fix typo + src/decoder.hpp | 87 ++++++++++++++++++++++++++++++++++-------- + src/encoder.hpp | 107 ++++++++++++++++++++++++++++++--------------------- + src/zmq_decoder.cpp | 3 +- + src/zmq_decoder.hpp | 2 +- + src/zmq_encoder.cpp | 3 +- + src/zmq_encoder.hpp | 2 +- + src/zmq_engine.cpp | 72 ++++++++++++++-------------------- + src/zmq_engine.hpp | 13 ++---- + 8 files changed, 174 insertions(+), 115 deletions(-) -commit c802a72a0b4aae06cd65158af3c65e65e0dfc2e0 -Author: Vitaly Mayatskikh -Date: Mon Mar 22 22:31:37 2010 +0100 +commit 770178724f9493e99c832863031aef016f143e9f +Author: Martin Sustrik +Date: Thu Dec 10 21:34:40 2009 +0100 - configure does not mention xmlto when missing + errors are never predicted in branch prediction (likely/unlikely macros added) -commit 0a53ff7b9f8a212793c540535c322bfaa93d3430 -Merge: f031677 93bdb79 -Author: Martin Sustrik -Date: Sat Mar 20 19:51:29 2010 +0100 + src/atomic_counter.hpp | 1 - + src/err.hpp | 91 +++++++++++++++++++++++++++++------------------- + src/likely.hpp | 32 +++++++++++++++++ + 3 files changed, 87 insertions(+), 37 deletions(-) - Merge branch 'master' of git@github.com:sustrik/zeromq2 +commit d4fdc26efc6b21103e446f712a484af910a57f2f +Author: unknown +Date: Thu Dec 10 16:46:22 2009 +0100 -commit 93bdb792a92b9bd235c7be47a13febf429568301 -Author: Martin Sustrik -Date: Sat Mar 20 19:50:36 2010 +0100 + zmq_poll implemented on Win32 platform - PUB socket was blocking occassionally - fixed + bindings/c/zmq.h | 7 +++ + src/zmq.cpp | 125 +++++++++++++++++++++++++++++++++++++++++++++++++++--- + 2 files changed, 125 insertions(+), 7 deletions(-) -commit f031677100b41347e09932fc973040097a2187e4 -Author: Martin Sustrik -Date: Sat Mar 20 15:04:30 2010 +0100 +commit 986ab66b8f260614b2bd18f870ad98402c0f247a +Author: unknown +Date: Thu Dec 10 10:39:24 2009 +0100 - rollback of half-processed messages in case of disconnection + ZMQII-27: Allow setting SNDBUF and RCVBUF size from 0MQ API (Win32) -commit dfdaff5eba1e6980adb3326c119d2070d0ad42bb -Author: Martin Sustrik -Date: Sat Mar 20 10:58:59 2010 +0100 + src/tcp_socket.cpp | 15 +++++++++++++++ + 1 files changed, 15 insertions(+), 0 deletions(-) - XREP-style prefixing/trimming messages removed +commit 8d58643655b653c520fcdcc2a89b5067788f32fc +Author: unknown +Date: Thu Dec 10 10:33:07 2009 +0100 -commit cbaf10978a8ffa98d98161aeec8d020c517b127b -Author: Martin Sustrik -Date: Fri Mar 19 09:14:26 2010 +0100 + MSVC build for chat example added - fixes for building with Sun CC + builds/msvc/display/display.vcproj | 176 ++++++++++++++++++++++++++++++++++++ + builds/msvc/msvc.sln | 18 ++++ + builds/msvc/prompt/prompt.vcproj | 176 ++++++++++++++++++++++++++++++++++++ + examples/chat/prompt.cpp | 5 + + 4 files changed, 375 insertions(+), 0 deletions(-) -------------------------------------------------------------------------------- +commit 2e39f892c353851fe90261db0a0875abab50539f +Author: Martin Sustrik +Date: Thu Dec 10 09:47:24 2009 +0100 + + ZMQII-27: Allow setting SNDBUF and RCVBUF size from 0MQ API (POSIX) + + bindings/c/zmq.h | 2 ++ + bindings/cl/zeromq.lisp | 2 ++ + bindings/java/org/zmq/Socket.java | 2 ++ + bindings/python/pyzmq.cpp | 6 ++++++ + bindings/ruby/rbzmq.cpp | 2 ++ + man/man3/zmq_setsockopt.3 | 24 ++++++++++++++++++++++++ + src/options.cpp | 18 ++++++++++++++++++ + src/options.hpp | 3 +++ + src/tcp_socket.cpp | 17 +++++++++++++++-- + src/tcp_socket.hpp | 3 ++- + src/zmq_connecter_init.cpp | 2 +- + src/zmq_engine.cpp | 8 +++++--- + src/zmq_engine.hpp | 5 ++++- + src/zmq_listener_init.cpp | 2 +- + 14 files changed, 87 insertions(+), 9 deletions(-) + +commit 72dacc35702a14ab0bb5a2650dffbb3bbda63175 +Author: Martin Sustrik +Date: Thu Dec 10 08:25:21 2009 +0100 -0MQ version 2.0.6 (Beta) was released on 2010/03/16. + zero-copy on tx side optimised to minimise number of user/kernel space transitions -Changes since 2.0-beta2: + src/encoder.hpp | 14 ++++++++++---- + 1 files changed, 10 insertions(+), 4 deletions(-) -commit 38c942ae648115ac10320968eb4b5e235ef15674 -Author: Martin Sustrik -Date: Tue Mar 16 17:07:17 2010 +0100 +commit 1c1dfb50f88002ce7a024f2d8980b968d3aee1ae +Author: Martin Sustrik +Date: Wed Dec 9 14:12:25 2009 +0100 - Add Git location to README + zmq_cpp(7) man page filled in -commit 6d5a9e96400025044af8172887ef99589c0d1eb1 -Author: Martin Sustrik -Date: Tue Mar 16 16:20:23 2010 +0100 + man/man7/zmq_cpp.7 | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++- + 1 files changed, 95 insertions(+), 2 deletions(-) - Update README +commit cab5a4a1596e5019c7fd306ad49aac67209b467c +Author: Martin Sustrik +Date: Wed Dec 9 09:19:16 2009 +0100 -commit ad75d0213483f3c585ce144386623e64e65eca0d -Author: Martin Sustrik -Date: Tue Mar 16 15:48:16 2010 +0100 + minor documentation updates - Add MSVC build files to distribution + examples/chat/README | 4 ++-- + src/encoder.hpp | 12 ++++++------ + 2 files changed, 8 insertions(+), 8 deletions(-) -commit a9e0c3cd7e0c54f872749f387cf3d69b216bc613 -Author: Martin Sustrik -Date: Tue Mar 16 15:37:47 2010 +0100 +commit c98e29fb6e017a667452cd0a50536da691600353 +Author: Martin Sustrik +Date: Tue Dec 8 21:48:39 2009 +0100 - Removing leftover MSVC builds + README added to chat example -commit 5472861179ff232c55e7a7021a93da5c680f2017 -Merge: 8a3f974 8fcf6ff -Author: Martin Sustrik -Date: Tue Mar 16 15:24:57 2010 +0100 + examples/chat/README | 42 ++++++++++++++++++++++++++++++++++++++++++ + 1 files changed, 42 insertions(+), 0 deletions(-) - Merge branch 'master' of git@github.com:sustrik/zeromq2 +commit 902d4f2282f4ed59f942be6fa1013b20dd964536 +Author: Martin Sustrik +Date: Tue Dec 8 16:13:51 2009 +0100 -commit 8a3f97400a2b3ef2ec088a00868087b85cfd81b6 -Author: Martin Sustrik -Date: Tue Mar 16 15:23:55 2010 +0100 + minor fix of zero-copy on tx side - Clarify zmq_poll restrictions + src/encoder.hpp | 6 ++---- + 1 files changed, 2 insertions(+), 4 deletions(-) -commit 1705ec224745b935e13d8f18ef81bcbef45ff143 -Author: Martin Lucina -Date: Tue Mar 16 15:19:38 2010 +0100 +commit 9be877c68503c35f9f72c8b92bd11454e4fcad97 +Author: Martin Sustrik +Date: Tue Dec 8 15:41:50 2009 +0100 - C++ interface documentation updates + ZMQII-26: Use zero-copy for large messages -commit 8fcf6ffb67aba2ff9f78f4ba327d29755f03535a -Author: Martin Lucina -Date: Mon Mar 15 15:47:17 2010 +0100 + src/encoder.hpp | 28 +++++++++++++++++++++++----- + src/zmq_engine.cpp | 21 +++++++++++++-------- + src/zmq_engine.hpp | 12 ++++++++---- + 3 files changed, 44 insertions(+), 17 deletions(-) - Cleanups to autogen.sh +commit bfef2fcd0ba590169ad46ea45da9d36dca1b5b97 +Author: Martin Sustrik +Date: Mon Dec 7 21:52:10 2009 +0100 -commit fceba036279a0e9bb39aebd862b70ad1bb5b3f40 -Author: Martin Lucina -Date: Mon Mar 15 15:45:38 2010 +0100 + autotools build system builds chat example now - Cleanups to autogen.sh - - Use POSIX "command -v" construct to test for prerequisite commands - Clarify error messages on failure + Makefile.am | 4 ++-- + configure.in | 25 ++++++++++++++++++------- + examples/Makefile.am | 7 +++++++ + examples/chat/Makefile.am | 11 +++++++++++ + 4 files changed, 38 insertions(+), 9 deletions(-) -commit 61ad236e9543a569fe066872a5fda4fa40ea7591 -Author: Martin Sustrik -Date: Sat Mar 13 14:40:10 2010 +0100 +commit a08a72dd082e5e62f0d043c71ea7d9b6fb80b57e +Author: Martin Sustrik +Date: Mon Dec 7 21:06:54 2009 +0100 - ZMQ_NOFLUSH and zmq_flush obsoleted + chat example added -commit c42343d3f027248514344aec9e3814dfe1047d59 -Author: Martin Sustrik -Date: Sat Mar 13 12:34:55 2010 +0100 + examples/chat/display.cpp | 50 ++++++++++++++++++++++++++++++++++++ + examples/chat/prompt.cpp | 62 +++++++++++++++++++++++++++++++++++++++++++++ + src/fd_signaler.cpp | 2 +- + 3 files changed, 113 insertions(+), 1 deletions(-) - pipe_t::rollback removes only unfinished message from the pipe rather than all unflushed messages +commit 82012667cca5249ba7aa16ac5880b86ac54f3e98 +Author: Martin Sustrik +Date: Mon Dec 7 17:28:43 2009 +0100 -commit dcb983699e52bf2e075baaeef250bcd3c82e4846 -Author: Martin Sustrik -Date: Sat Mar 13 08:59:46 2010 +0100 + Deadlock on zmq_close - zmq_queue implementation added + src/fd_signaler.cpp | 9 ++++++--- + 1 files changed, 6 insertions(+), 3 deletions(-) -commit 22db38bf3d9c96a840af50300632d44fd01ed3a8 -Author: unknown -Date: Fri Mar 12 20:20:25 2010 +0100 +commit 9f495942736bfc1c1ef5f0b23d5a1bdab56d3757 +Author: Martin Sustrik +Date: Sat Dec 5 11:20:57 2009 +0100 - MSVC build: C++ perf tests removed; all executables go into bin directory + C & C++ header files clean-up -commit c08a7f8896e8fdae8379d2fce552b360daaeadc8 -Author: Martin Sustrik -Date: Fri Mar 12 20:02:19 2010 +0100 + bindings/c/zmq.h | 257 ++++---------------------------------------------- + bindings/cpp/zmq.hpp | 62 ++++++------- + src/ypipe.hpp | 12 +-- + 3 files changed, 53 insertions(+), 278 deletions(-) - C perf tests are built non-optionally; C++ perf tests removed +commit 356ce8fe917c1b3b645555bcd2ff0ff989c6829a +Author: Martin Sustrik +Date: Fri Dec 4 10:06:46 2009 +0100 + + man pages updated + + man/man1/zmq_forwarder.1 | 2 +- + man/man1/zmq_streamer.1 | 2 +- + man/man7/zmq.7 | 145 +++++++++++++++++++++++++++++++++++++++++++++- + man/man7/zmq_cl.7 | 2 +- + man/man7/zmq_cpp.7 | 3 +- + man/man7/zmq_inproc.7 | 2 +- + man/man7/zmq_pgm.7 | 2 +- + man/man7/zmq_python.7 | 2 +- + man/man7/zmq_ruby.7 | 2 +- + man/man7/zmq_tcp.7 | 2 +- + man/man7/zmq_udp.7 | 2 +- + 11 files changed, 153 insertions(+), 13 deletions(-) + +commit 3e051e874ad03299cc9a9693cf8f20d6e37af329 +Author: Martin Sustrik +Date: Fri Dec 4 10:03:38 2009 +0100 -commit 1fbeba2fe3c3bd6046eea4d6432791194d4238f2 -Author: Martin Sustrik -Date: Fri Mar 12 19:05:56 2010 +0100 + Vitaly Mayatskikh added to authors section - simplify configuration summary + AUTHORS | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) -commit 66b67fbdf2b047ef7adb8ec018a6fe89dd9cbfca -Author: Martin Sustrik -Date: Fri Mar 12 18:58:29 2010 +0100 +commit 721e37a371713ddb20c4dfcca253fe01f71a4af7 +Author: Martin Sustrik +Date: Fri Dec 4 10:02:25 2009 +0100 - devices are built unconditionally + platform.hpp.in removed from the codebase -commit 430aa533347dcbca57857d318a6898f480967cba -Author: Martin Sustrik -Date: Fri Mar 12 18:42:38 2010 +0100 + src/platform.hpp.in | 234 --------------------------------------------------- + 1 files changed, 0 insertions(+), 234 deletions(-) - text concerning language bindings removed from configure +commit 734aaa2dcbd130cfc5d8ef0bd31bd259117f6c0c +Author: Martin Sustrik +Date: Thu Dec 3 12:58:16 2009 +0100 + + placeholders for new man pages added + + man/Makefile.am | 9 ++++++--- + man/convert2pdf.sh | 18 ++++++++++++++++++ + man/man1/zmq_streamer.1 | 11 +++++++++++ + man/man7/zmq_cl.7 | 9 +++++++++ + man/man7/zmq_cpp.7 | 9 +++++++++ + man/man7/zmq_inproc.7 | 9 +++++++++ + man/man7/zmq_pgm.7 | 9 +++++++++ + man/man7/zmq_python.7 | 9 +++++++++ + man/man7/zmq_ruby.7 | 9 +++++++++ + man/man7/zmq_tcp.7 | 9 +++++++++ + man/man7/zmq_udp.7 | 9 +++++++++ + 11 files changed, 107 insertions(+), 3 deletions(-) + +commit 6fcdc5fa69ea44d38e5505c23a6e9645efd35027 +Author: Martin Sustrik +Date: Thu Dec 3 10:14:07 2009 +0100 + + common lisp binding & perf tests added + + bindings/Makefile.am | 8 +- + bindings/cl/Makefile.am | 9 ++ + bindings/cl/meta.lisp | 59 +++++++++++ + bindings/cl/package.lisp | 108 +++++++++++++++++++ + bindings/cl/zeromq-api.lisp | 155 +++++++++++++++++++++++++++ + bindings/cl/zeromq.asd | 38 +++++++ + bindings/cl/zeromq.lisp | 244 +++++++++++++++++++++++++++++++++++++++++++ + configure.in | 21 ++++ + perf/Makefile.am | 2 +- + perf/cl/Makefile.am | 2 + + perf/cl/lat-parms.lisp | 22 ++++ + perf/cl/local-lat-poll.lisp | 43 ++++++++ + perf/cl/local-lat.lisp | 52 +++++++++ + perf/cl/local-thr.lisp | 54 ++++++++++ + perf/cl/remote-lat.lisp | 50 +++++++++ + perf/cl/remote-thr.lisp | 41 +++++++ + perf/cl/thr-parms.lisp | 25 +++++ + 17 files changed, 930 insertions(+), 3 deletions(-) + +commit 7146ef85e96551ce6f7b80d014463f246d09c878 +Author: Martin Sustrik +Date: Wed Dec 2 21:26:47 2009 +0100 + + seqnum mechanism automated + + src/dispatcher.cpp | 2 ++ + src/object.cpp | 27 ++++++++++++++++++++------- + src/object.hpp | 12 +++++++++--- + src/owned.cpp | 26 ++++++++------------------ + src/owned.hpp | 14 ++------------ + src/session.cpp | 5 ----- + src/socket_base.cpp | 12 ++++++------ + src/socket_base.hpp | 1 + + src/zmq_connecter.cpp | 1 - + src/zmq_connecter_init.cpp | 4 ++-- + src/zmq_listener.cpp | 2 -- + src/zmq_listener_init.cpp | 6 ++++-- + 12 files changed, 54 insertions(+), 58 deletions(-) + +commit cb84580bbced0b5d34ddcbac6e0aed5d0ad7cae6 +Author: Martin Sustrik +Date: Tue Dec 1 19:09:58 2009 +0100 -commit 54df388aced3ae059009eec3df66c7dea717747b + harmless uninitialised memory read fixed + + src/yqueue.hpp | 6 ++++-- + 1 files changed, 4 insertions(+), 2 deletions(-) + +commit 9bd309bda6522dfdd514dd0c4edae04322c83ed1 +Author: Martin Sustrik +Date: Tue Dec 1 18:50:54 2009 +0100 + + annoying optimisation in 'bind' command removed + + src/command.hpp | 4 +--- + src/object.cpp | 11 ++++------- + src/object.hpp | 6 +++--- + src/session.cpp | 5 ++--- + src/socket_base.cpp | 13 +++---------- + src/socket_base.hpp | 3 +-- + 6 files changed, 14 insertions(+), 28 deletions(-) + +commit c04583ff6ca3c27de5628a61b6b6ce59fd13c9d9 +Author: Martin Sustrik +Date: Tue Dec 1 15:12:42 2009 +0100 + + minor code beautification + + src/pipe.cpp | 10 +++++----- + 1 files changed, 5 insertions(+), 5 deletions(-) + +commit 0d704fceee5e1bd0fe9438fa380452b69cd29114 Author: unknown -Date: Fri Mar 12 18:05:38 2010 +0100 +Date: Tue Dec 1 14:58:00 2009 +0100 - Java binding removed from MSVC build + MSVC warnings fixed -commit 6badd204d5686de8b2a6e8ee88da78260c0ff949 -Author: Martin Hurton -Date: Wed Mar 3 17:25:46 2010 +0100 + src/pipe.cpp | 32 ++++++++++++++++++++++++-------- + src/pipe.hpp | 6 ++++-- + 2 files changed, 28 insertions(+), 10 deletions(-) - Implement flow control for ZMQ_REP sockets +commit 9cff475af849897f669049fd7748f875fa1cd6c3 +Author: malosek +Date: Mon Nov 30 18:18:13 2009 +0100 -commit 923609b0922c3bf07f16c8c99aba4fe98f08ef60 -Author: Martin Hurton -Date: Tue Mar 2 22:23:34 2010 +0100 + added libpgm-2.0.17rc2 into the dist package - Implement flow control for ZMQ_REQ sockets + Makefile.am | 4 ++-- + configure.in | 21 +++++++++++++++------ + foreign/openpgm/libpgm-2.0.17rc2.tar.bz2 | Bin 0 -> 315051 bytes + 3 files changed, 17 insertions(+), 8 deletions(-) -commit 42e575cb6b62fe1e5d12d2e4fb5c6874d47eb57e -Author: Martin Hurton -Date: Tue Mar 2 12:41:33 2010 +0100 +commit 82242f6a9e06d855ff2ac5616196a97868838a6c +Author: malosek +Date: Mon Nov 30 17:48:16 2009 +0100 - Implement flow control fox ZMQ_XREP sockets + minor formatting fix in zmq_init.3 man page -commit e34184acc327ae4b085a1a50ff6502e2dc148522 -Author: Martin Hurton -Date: Tue Mar 2 11:15:50 2010 +0100 + man/man3/zmq_init.3 | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +commit c637bf292d0dc97be5c94c5c96a033c2d665576c +Merge: 9ccf2b4 fa1641a +Author: malosek +Date: Mon Nov 30 16:45:36 2009 +0100 + + Merge branch 'master' of git@github.com:sustrik/zeromq2 + +commit 9ccf2b42cf932b4c29ea20cc9c6e3d5d8e7a62b4 +Author: malosek +Date: Mon Nov 30 16:45:18 2009 +0100 - Implement flow control for ZMQ_XREQ sockets + minor tweaks in pgm code -commit 06d7a447378c8e9f0805c219deaf8e7e7ef1eeb0 -Author: Martin Hurton -Date: Tue Mar 2 10:48:30 2010 +0100 + src/pgm_sender.cpp | 4 ++++ + src/pgm_socket.cpp | 2 +- + 2 files changed, 5 insertions(+), 1 deletions(-) - Implement flow control for ZMQ_PUB sockets +commit fa1641afc593be5926e558381861112b584e861a +Author: malosek +Date: Fri Nov 27 14:30:48 2009 +0100 -commit f9c84a1a689f4f64cfa45cb22d4f02ec246c7f93 -Author: Martin Hurton -Date: Mon Mar 1 17:21:23 2010 +0100 + msvc build fixed - Implement flow control for ZMQ_DOWNSTREAM sockets + bindings/c/zmq.h | 3 +++ + builds/msvc/libzmq/libzmq.vcproj | 16 ++++++++++++++++ + 2 files changed, 19 insertions(+), 0 deletions(-) -commit 5d4f6b18cd57897cc0e77e474118e104a0d5cfc3 -Author: Martin Hurton -Date: Mon Mar 1 16:55:13 2010 +0100 +commit 19ce7c0e77f703ed2ec3b54685ddf4a6f2329ffe +Author: Martin Sustrik +Date: Thu Nov 26 12:41:50 2009 +0100 - Implement flow control for ZMQ_P2P sockets + zmq_msg_data.3 referenced twice in Makefile.am - fixed -commit f9521c6b6a35103c03b742a311a34d7b04da0b84 -Author: Martin Hurton -Date: Tue Mar 2 09:02:40 2010 +0100 + AUTHORS | 1 + + man/Makefile.am | 4 ++-- + 2 files changed, 3 insertions(+), 2 deletions(-) - PGM: implement flow control +commit 8d85638f77ec0aa886170ba6bb49763ef165393b +Author: Martin Sustrik +Date: Thu Nov 26 12:01:26 2009 +0100 -commit 61ee6fae536a8000be87b5aaf271f6519a3b7d3f -Author: Martin Hurton -Date: Mon Mar 1 10:13:26 2010 +0100 + memory leak in message encoder fixed - Implement flow control - - This commit introduces the necessary changes necessary - for implementing flow control. None of the socket types - implements the flow control yet. The code will crash when - the flow control is enabled and the thw lwm is reached. - - The following commits will add flow-control support for - individual socket types. + AUTHORS | 1 + + perf/c/local_thr.c | 3 +++ + src/session.cpp | 4 ---- + src/zmq_decoder.cpp | 8 +++++++- + src/zmq_encoder.cpp | 7 ++++++- + src/zmq_listener_init.cpp | 1 - + 6 files changed, 17 insertions(+), 7 deletions(-) -commit 31d36104aa7caead6f299f0c5cb58a9fde7cf9b0 -Author: Martin Lucina -Date: Fri Mar 12 10:34:11 2010 +0100 +commit 92aa9e94e21b652839faa3dda27c67571bad315d +Author: Martin Sustrik +Date: Wed Nov 25 08:55:03 2009 +0100 - devices/ build fixed + experimental code to use futexes instead of mutexes added to simple_semapthore_t -commit 10bbe6af9900b4609cfcadc031dcf4dcb8ebfb3b -Author: Martin Lucina -Date: Thu Mar 11 20:43:51 2010 +0100 + src/simple_semaphore.hpp | 60 +++++++++++++++++++++++++++++++++++++++++++-- + 1 files changed, 57 insertions(+), 3 deletions(-) - Cleanup .gitignore +commit c98fd6bc3f2a49d7cb0b820a07354168c98f60b7 +Author: Martin Sustrik +Date: Tue Nov 24 11:23:10 2009 +0100 + + ZMQII-25: Implement streamed request/reply + + bindings/c/zmq.h | 6 ++ + bindings/java/org/zmq/Socket.java | 2 + + bindings/python/pyzmq.cpp | 6 ++ + bindings/ruby/rbzmq.cpp | 2 + + configure.in | 15 +++- + devices/Makefile.am | 8 ++- + devices/zmq_forwarder/zmq_forwarder.cpp | 7 +- + devices/zmq_streamer/Makefile.am | 9 ++ + devices/zmq_streamer/zmq_streamer.cpp | 122 ++++++++++++++++++++++++++ + man/man3/zmq_socket.3 | 9 ++ + src/Makefile.am | 4 + + src/app_thread.cpp | 14 +++- + src/downstream.cpp | 131 ++++++++++++++++++++++++++++ + src/downstream.hpp | 64 ++++++++++++++ + src/p2p.hpp | 4 +- + src/pub.hpp | 4 +- + src/rep.cpp | 2 +- + src/rep.hpp | 4 +- + src/req.hpp | 4 +- + src/sub.hpp | 4 +- + src/upstream.cpp | 143 +++++++++++++++++++++++++++++++ + src/upstream.hpp | 69 +++++++++++++++ + 22 files changed, 612 insertions(+), 21 deletions(-) + +commit 5cd98bc575517ea72c435770a5313711484f7d34 +Author: Martin Sustrik +Date: Mon Nov 23 09:22:25 2009 +0100 + + the rest of man3 man pages filled in + + man/man3/zmq_msg_close.3 | 20 +++++++++++++++ + man/man3/zmq_msg_copy.3 | 31 ++++++++++++++++++++++++ + man/man3/zmq_msg_data.3 | 15 ++++++++++++ + man/man3/zmq_msg_init.3 | 21 ++++++++++++++++ + man/man3/zmq_msg_init_data.3 | 33 ++++++++++++++++++++++++++ + man/man3/zmq_msg_init_size.3 | 32 +++++++++++++++++++++++++ + man/man3/zmq_msg_move.3 | 26 ++++++++++++++++++++ + man/man3/zmq_msg_size.3 | 18 ++++++++++++++ + man/man3/zmq_poll.3 | 53 ++++++++++++++++++++++++++++++++++++++++++ + 9 files changed, 249 insertions(+), 0 deletions(-) + +commit e90ada0d044636201c57786307a49a52f9cf7643 +Author: Martin Sustrik +Date: Sun Nov 22 16:51:21 2009 +0100 + + more man pages filled in + + bindings/c/zmq.h | 2 +- + man/man3/zmq_bind.3 | 36 ++++++++++++++++ + man/man3/zmq_close.3 | 15 +++++++ + man/man3/zmq_connect.3 | 37 ++++++++++++++++- + man/man3/zmq_flush.3 | 25 +++++++++++ + man/man3/zmq_init.3 | 3 +- + man/man3/zmq_recv.3 | 40 +++++++++++++++++ + man/man3/zmq_send.3 | 52 +++++++++++++++++++++++ + man/man3/zmq_setsockopt.3 | 103 +++++++++++++++++++++++++++++++++++++++++++++ + man/man3/zmq_socket.3 | 56 ++++++++++++++++++++++++ + man/man3/zmq_term.3 | 2 + + 11 files changed, 368 insertions(+), 3 deletions(-) + +commit 6602cce9af93539df8f1c43235e7e7130a3df60d +Author: Martin Sustrik +Date: Sun Nov 22 12:05:11 2009 +0100 -commit 27e2d08449ea52649e2e42b263f76fbd5d8382c5 -Author: Martin Lucina -Date: Thu Mar 11 20:33:27 2010 +0100 + zmq_init, zmq_term & zmq_strerror man pages added - Restructure language bindings - - C and C++ headers moved from bindings/ to include/, bindings/ removed - --with-c and --with-cpp options to configure removed, C and C++ now built - and installed by default + man/Makefile.am | 2 +- + man/convert2pdf.sh | 2 ++ + man/man3/zmq_init.3 | 26 ++++++++++++++++++++++++++ + man/man3/zmq_strerror.3 | 27 +++++++++++++++++++++++++++ + man/man3/zmq_term.3 | 11 +++++++++++ + 5 files changed, 67 insertions(+), 1 deletions(-) -commit 90944759b66771bbe399922eecedc5095fa2a509 -Author: Martin Lucina -Date: Thu Mar 11 20:12:55 2010 +0100 +commit ed5563f75285197aa0cdbe8a0dc6f80c5bb1f89c +Author: Martin Sustrik +Date: Sun Nov 22 10:25:53 2009 +0100 + + man pages (dummy) added for zmq_msg_* functions + + man/Makefile.am | 5 ++++- + man/convert2pdf.sh | 16 ++++++++++++++++ + man/man3/zmq_msg_close.3 | 12 ++++++++++++ + man/man3/zmq_msg_copy.3 | 12 ++++++++++++ + man/man3/zmq_msg_data.3 | 12 ++++++++++++ + man/man3/zmq_msg_init.3 | 12 ++++++++++++ + man/man3/zmq_msg_init_data.3 | 15 +++++++++++++++ + man/man3/zmq_msg_init_size.3 | 12 ++++++++++++ + man/man3/zmq_msg_move.3 | 12 ++++++++++++ + man/man3/zmq_msg_size.3 | 12 ++++++++++++ + 10 files changed, 119 insertions(+), 1 deletions(-) + +commit 55b64a02e7f3b1ce9e512240a9f9a337ead3b54c +Author: Martin Sustrik +Date: Sun Nov 22 08:47:06 2009 +0100 + + man pages - initial (dummy) version + + Makefile.am | 8 +++++- + configure.in | 8 ++++++- + man/Makefile.am | 16 +++++++++++++++ + man/convert2pdf.sh | 48 +++++++++++++++++++++++++++++++++++++++++++++ + man/man1/zmq_forwarder.1 | 11 ++++++++++ + man/man3/zmq_bind.3 | 12 +++++++++++ + man/man3/zmq_close.3 | 12 +++++++++++ + man/man3/zmq_connect.3 | 12 +++++++++++ + man/man3/zmq_flush.3 | 12 +++++++++++ + man/man3/zmq_init.3 | 12 +++++++++++ + man/man3/zmq_poll.3 | 12 +++++++++++ + man/man3/zmq_recv.3 | 12 +++++++++++ + man/man3/zmq_send.3 | 12 +++++++++++ + man/man3/zmq_setsockopt.3 | 12 +++++++++++ + man/man3/zmq_socket.3 | 12 +++++++++++ + man/man3/zmq_term.3 | 12 +++++++++++ + man/man7/zmq.7 | 9 ++++++++ + 17 files changed, 229 insertions(+), 3 deletions(-) + +commit c41daca3da6ffd033f93c3e24898414567f71eb3 +Author: Martin Sustrik +Date: Sat Nov 21 21:30:09 2009 +0100 - Removed Java binding from core distribution + race condition in inproc transport shutdown fixed -commit 9fda070e4d66d538e3c709c6cb8934cbf4442c29 -Author: Martin Lucina -Date: Wed Mar 10 23:20:43 2010 +0100 + src/command.hpp | 3 +++ + src/object.cpp | 9 ++++++--- + src/object.hpp | 6 +++--- + src/session.cpp | 4 +++- + src/socket_base.cpp | 16 ++++++++++++---- + src/socket_base.hpp | 3 ++- + 6 files changed, 29 insertions(+), 12 deletions(-) - Typeset literal correctly +commit 64634605b3ccb90d582cfdf380535c89bf900a0e +Author: Martin Sustrik +Date: Sat Nov 21 21:13:29 2009 +0100 -commit 0a1e0beaa2849a51ea659eba0f142ce340d2cc6d -Author: Martin Lucina -Date: Wed Mar 10 23:18:08 2010 +0100 + obsolete parameter removed from 'bind' command - Fixes to PGM wire format description + src/command.hpp | 1 - + src/object.cpp | 9 +++------ + src/object.hpp | 6 +++--- + src/session.cpp | 2 +- + src/socket_base.cpp | 6 ++---- + src/socket_base.hpp | 3 +-- + 6 files changed, 10 insertions(+), 17 deletions(-) -commit 5fef480aeb28424769d97c92f331d87f87b87c85 -Author: Martin Lucina -Date: Wed Mar 10 13:52:41 2010 +0100 +commit 0e9ab2e8a3f5bc22f2c331c14236a2918a5512a8 +Author: Martin Sustrik +Date: Sat Nov 21 20:59:55 2009 +0100 - Fixes to TCP wire format specification + inproc transport - initial commit -commit 8f90ae8dfdf5efbb6c8429897dc95cad621af00b -Author: Martin Sustrik -Date: Wed Mar 10 12:40:13 2010 +0100 + src/dispatcher.cpp | 56 ++++++++++++++++++++++++++++++++++++++++++++++ + src/dispatcher.hpp | 12 ++++++++++ + src/object.cpp | 15 ++++++++++++ + src/object.hpp | 6 +++++ + src/socket_base.cpp | 62 +++++++++++++++++++++++++++++++++++++++++++++++++- + src/socket_base.hpp | 12 ++++++++++ + src/zmq.cpp | 6 +++- + 7 files changed, 165 insertions(+), 4 deletions(-) - wire formats in docs clarified +commit 14f2fecdcd9732fe741c211138a4ba327816a937 +Author: Martin Sustrik +Date: Thu Nov 19 09:53:49 2009 +0100 -commit 98801ebcaea1117ae596a3bae0653c3720a94359 -Author: Martin Lucina -Date: Wed Mar 10 12:19:39 2010 +0100 + ZMQII-24: SEGFAULT when anonymous session disconnects - Documentation fixes + src/pipe.cpp | 6 +++++- + 1 files changed, 5 insertions(+), 1 deletions(-) -commit bc468b34513a0fd76e69e03f3f978abd7d8c3871 -Author: Martin Lucina -Date: Tue Mar 9 19:29:41 2010 +0100 +commit c2e0661b0afb2f50f47e0275fa6603947f26d240 +Author: Martin Sustrik +Date: Thu Nov 19 08:06:52 2009 +0100 - Add missing section with zmq_version() + uninitialised variable in devpoll_t and kqueue_t -commit edebff902a9785ecdb3a27f6a78ac7cc68b38a56 -Author: Martin Lucina -Date: Tue Mar 9 18:58:59 2010 +0100 + src/devpoll.cpp | 3 ++- + src/kqueue.cpp | 3 ++- + 2 files changed, 4 insertions(+), 2 deletions(-) - Add dependency for zmq_epgm.7 +commit 26ca5ed8c62f8a88a32106a5c9e003712f4ca655 +Author: Martin Sustrik +Date: Sat Nov 14 18:57:04 2009 +0100 -commit ca70b40383fd12ce866054dd87cecb3d732c8d9f -Author: Martin Lucina -Date: Tue Mar 9 18:53:42 2010 +0100 + Fixing concurrency issue in rep.cpp resulting in broken connections with multiple requesters under heavy load. - Hack, zmq_epgm.7 needs to be copied from zmq_pgm.7 + src/rep.cpp | 9 +++++---- + 1 files changed, 5 insertions(+), 4 deletions(-) -commit 1aee86408d575d6572b071d7564da7f006d1757e -Author: Martin Lucina -Date: Tue Mar 9 18:47:31 2010 +0100 +commit 84585a9561b5e3bd39baa8d49b889455362334ea +Author: malosek +Date: Wed Nov 4 18:59:19 2009 +0100 - Documentation rewrite + pgm_transport_recvmsgv in process_upstream returns PGM_IO_STATUS_RATE_LIMITED on busy sender -commit d790940fd06060c8a2c624b0e41e470ad31ae0d8 -Author: Martin Sustrik -Date: Tue Mar 9 18:14:49 2010 +0100 + src/pgm_socket.cpp | 5 +++-- + 1 files changed, 3 insertions(+), 2 deletions(-) - udp transport renamed to epgm +commit c2cd7977f7a82e978d77b2d4d8e23d78f71e809c +Author: malosek +Date: Tue Nov 3 19:54:43 2009 +0100 -commit 5a776f5597cac632ca507e2d80ca0de064bba1d6 -Author: Martin Sustrik -Date: Tue Mar 9 17:34:28 2010 +0100 + update pgm_socket to recent openpgm2 - PGM late joiners would start receiving a complete message rather than a message part + src/pgm_socket.cpp | 19 +++++++++---------- + 1 files changed, 9 insertions(+), 10 deletions(-) -commit 0f891e091cc46775226ee1fe28784876395a7b92 -Author: Martin Sustrik -Date: Tue Mar 9 17:24:42 2010 +0100 +commit 08b02a43ae21e833a04d274fb20ef3bbc73c0d09 +Author: malosek +Date: Tue Nov 3 14:11:53 2009 +0100 - message flags from the wire are written to zmq_msg_t and vice versa + fixed get_sender_fds and get_receiver_fds for openpgm2 -commit 531c6af0d4df606ddef15da821dad20399b9480a -Author: Martin Sustrik -Date: Tue Mar 9 16:56:53 2010 +0100 + src/pgm_socket.cpp | 83 +++++++++++++++++++++++++++++++-------------------- + src/pgm_socket.hpp | 2 +- + 2 files changed, 51 insertions(+), 34 deletions(-) - message flags added to zmq_msg_t strcuture +commit 7d672d3ab8c74371b58b293f807db74760b18155 +Author: malosek +Date: Tue Nov 3 14:06:25 2009 +0100 -commit 96ccc1c5fceb56bd7ffc2e6bef9ddab5347d722b -Author: Martin Sustrik -Date: Tue Mar 9 15:10:44 2010 +0100 + minor fixes for MSVC++ 2005 build - 'flags' fields added to the wire format + src/app_thread.cpp | 3 +++ + src/fd.hpp | 2 +- + src/windows.hpp | 5 +++++ + 3 files changed, 9 insertions(+), 1 deletions(-) -commit e04e2cdbbaf351eb04164bdcd293fcb8fa22a9a4 -Author: Martin Sustrik -Date: Tue Mar 9 08:43:20 2010 +0100 +commit 7cbdcc954213b715ce83316538403bbce1fac99f +Author: Martin Sustrik +Date: Thu Oct 22 13:21:27 2009 +0200 - rollback functionality added to pipe + ZMQII-21: Problem with fd_signaler_t::poll on socket close -commit 9481c69b0f60068f12aa26699588fed6a8faceec -Author: Martin Sustrik -Date: Sat Mar 6 16:32:19 2010 +0100 + src/fd_signaler.cpp | 31 ++++++++++++++++++++++++------- + 1 files changed, 24 insertions(+), 7 deletions(-) - problem with NIC name resolution on OSX fixed +commit 55acf365ea76b908388ca9726232bde90242cdcb +Author: Martin Sustrik +Date: Tue Oct 20 18:44:17 2009 +0200 -commit 26b0aea24f9add0a1811e23f709d96b44b459571 -Author: Martin Lucina -Date: Wed Mar 3 17:01:08 2010 +0100 + releasing python global lock when doing blocking operations - Win32 build fixes + bindings/python/pyzmq.cpp | 5 +++++ + 1 files changed, 5 insertions(+), 0 deletions(-) -commit 352da8ae8775f057a7ec67a7bd3f2270ac1c4d0f -Author: unknown -Date: Wed Mar 3 15:47:21 2010 +0100 +commit 8b08047cb08dd6ba7ae142007f82607183574ef6 +Author: malosek +Date: Mon Oct 19 19:00:04 2009 +0200 - type mismatch in tcp_listener (win version) fixed + added --with-pgm2-examples configure option -commit 14054ecce7d367d8e3d47f84f72d2fc748aec8e4 -Author: Martin Hurton -Date: Wed Mar 3 09:41:57 2010 +0100 + configure.in | 17 ++++++++ + perf/c/Makefile.am | 104 +++++++++++++++++++++++++++++++++++++++++++++++++++- + src/Makefile.am | 4 +- + 3 files changed, 123 insertions(+), 2 deletions(-) - Fix typo: zmq_close -> zmq_msg_close +commit 71e455bfe5dd1df1220e9280e536be56238d2178 +Author: malosek +Date: Mon Oct 19 15:19:22 2009 +0200 -commit 708298d798693a19ace9a4811a3760d8de0a5c1d -Author: Martin Hurton -Date: Wed Mar 3 00:08:11 2010 +0100 + ZMQII-19: add --disable-eventfd configure option - Fix possible lockups when reading from ZMQ_REP sockets + configure.in | 27 +++++++++++++++++++++++++-- + 1 files changed, 25 insertions(+), 2 deletions(-) -commit 157a66fc42d46c79edc01f6feed8f482fb5d53f1 -Author: unknown -Date: Mon Mar 1 18:33:16 2010 +0100 +commit 50c7d12be6c10c294143491b479c50349a3c84a3 +Author: malosek +Date: Mon Oct 12 22:53:11 2009 +0200 - polling on POSIX sockets returns POLLERR (win32) + added HAVE_LIBWS2_32 into platform.hpp.in -commit 4e7158b67dcbbc307e76616a85aa34cc83ad6606 -Author: Martin Sustrik -Date: Mon Mar 1 17:40:39 2010 +0100 + src/platform.hpp.in | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) - return POLLERR from polling on POSIX sockets (linux version) +commit 0ce02058ebc35184b91399eee35d44ef01cd9e38 +Author: malosek +Date: Mon Oct 12 22:51:41 2009 +0200 -commit 7442f53956e5d32d9c6a3543f8bef1664a773926 -Merge: ea0a44c 83f85ea -Author: Martin Sustrik -Date: Sat Feb 27 14:18:21 2010 +0100 + updated 0MQ to recent OpenPGM2 rev.562 - Merge branch 'master' of git@github.com:sustrik/zeromq2 + src/Makefile.am | 1 + + src/pgm_socket.cpp | 2 +- + 2 files changed, 2 insertions(+), 1 deletions(-) -commit ea0a44c8a964cad4276ec216319d32e95e4a4bc0 -Author: Martin Sustrik -Date: Sat Feb 27 14:18:02 2010 +0100 +commit ea2f6558fd2a759b78364ded493c598f5ca5a2d3 +Author: malosek +Date: Mon Oct 12 22:50:01 2009 +0200 - Ruby binding removed + mingw fixed winsock linking issue -commit 83f85ea51dee1fb2fcee22543a90361b860d6cb8 -Author: unknown -Date: Sat Feb 27 13:49:53 2010 +0100 + configure.in | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) - ruby binding removed from msvc build +commit 7afc61ae7c4859fa1a6273e1964d378c00142746 +Author: malosek +Date: Tue Oct 6 12:57:24 2009 +0200 + + 0MQ compilable on winXP mingw with --with-pgm2 option + + configure.in | 12 ++++++++-- + src/Makefile.am | 53 ++++++++++++++++++++++++++++++++----------------- + src/pgm_receiver.cpp | 5 ++++ + src/pgm_receiver.hpp | 8 ++++++- + src/pgm_sender.cpp | 6 +++- + src/pgm_sender.hpp | 4 +++ + src/pgm_socket.cpp | 23 ++++++++++++++------- + src/pgm_socket.hpp | 13 ++++------- + src/platform.hpp.in | 3 ++ + 9 files changed, 86 insertions(+), 41 deletions(-) + +commit ac83175ef0f0084f281a416785679f8b56f551b9 +Author: malosek +Date: Mon Oct 5 16:57:26 2009 +0200 -commit 696ada883331359bee76b1ea996d8ac846624bea -Author: unknown -Date: Sat Feb 27 13:36:52 2010 +0100 + updated to recent PGM2 changes - python binding removed from nsvc build + foreign/openpgm/create_custom_gsi_1.patch | 2 +- + src/pgm_socket.cpp | 26 +++++++++++++++++--------- + 2 files changed, 18 insertions(+), 10 deletions(-) -commit 45414b5444db0a1f7e325c7dce92fbe84667d093 -Author: Martin Sustrik -Date: Sat Feb 27 12:23:22 2010 +0100 +commit 3daeff2786ce1d6d8e58f0ad15e693f2c48c94f9 +Author: malosek +Date: Mon Oct 5 15:06:40 2009 +0200 - python binding removed + mingw port -commit efefa069b2ce407a7da4328ab024c47920a76960 -Author: Martin Lucina -Date: Fri Feb 26 20:03:58 2010 +0100 + configure.in | 13 ++++++++----- + src/fd.hpp | 4 ++-- + src/platform.hpp.in | 3 +++ + src/uuid.hpp | 7 ++++++- + src/windows.hpp | 6 ++++++ + 5 files changed, 25 insertions(+), 8 deletions(-) - Cygwin support +commit de2e439a52e93a4cb17a19e9ef9cadfd5ebf2cea +Author: malosek +Date: Mon Oct 5 15:06:08 2009 +0200 -commit deda7ca54a3c8f1ba735e8654ca87f8808606122 -Author: Martin Sustrik -Date: Fri Feb 26 17:28:09 2010 +0100 + 1 minor change in xmlParser.cpp - Java Poller patch + foreign/xmlParser/xmlParser.cpp | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) -commit 4a1a83887d6faf36cb01f1c69142e6aafafe5eba -Author: unknown -Date: Fri Feb 26 16:42:52 2010 +0100 +commit 14dc1f45cd1a328415db09ef1e06def6179dae00 +Author: malosek +Date: Mon Oct 5 12:28:34 2009 +0200 - Win32 build of Java binding fixed + build system tuning - fixed make dist -commit 4440b13c359dab2c1ba55e31c604ac093172d68e -Author: Martin Sustrik -Date: Fri Feb 26 15:55:36 2010 +0100 + Makefile.am | 7 ++++--- + configure.in | 15 +++++++++++---- + src/Makefile.am | 11 ++++++----- + 3 files changed, 21 insertions(+), 12 deletions(-) - Poller object implemented in Java binding +commit b0c97a5f8b88fca73338c1c173b446515e2ed366 +Author: malosek +Date: Mon Oct 5 10:37:49 2009 +0200 -commit 1c4daf79ce12da75acb8010c99b3c1d509a7a950 -Author: Martin Sustrik -Date: Fri Feb 26 14:28:20 2010 +0100 + build system tuning - MIT license text added + Makefile.am | 1 + + src/Makefile.am | 4 ++-- + 2 files changed, 3 insertions(+), 2 deletions(-) -commit 57e057c825156b6effd15c07ee302f4ccdd2561c -Author: Martin Sustrik -Date: Thu Feb 25 16:29:17 2010 +0100 +commit d57ee0984ac3f8712063a7f83d7200be25ca5513 +Merge: ff65e26 4efe236 +Author: malosek +Date: Mon Oct 5 10:22:31 2009 +0200 - 1st version of Java poll added + Merge branch 'master' of git@github.com:sustrik/zeromq2 -commit ed8fe68383ca94ca33a9919bc2ed5b5a5d62cab0 -Author: Martin Sustrik -Date: Wed Feb 24 17:27:31 2010 +0100 +commit ff65e26ce7567ea6a907e566f8530f4988231d68 +Author: malosek +Date: Mon Oct 5 10:22:12 2009 +0200 - handle invalid PGM connection string decently + create_custom_gsi.patch renamed to create_custom_gsi_1.patch -commit be51cfa419bb6c75eb24d241769a7c5543c432a7 -Merge: 0b4172b b7f01f9 -Author: Martin Sustrik -Date: Wed Feb 24 16:19:53 2010 +0100 + configure.in | 4 +- + foreign/openpgm/create_custom_gsi.patch | 43 ----------------------------- + foreign/openpgm/create_custom_gsi_1.patch | 43 +++++++++++++++++++++++++++++ + 3 files changed, 45 insertions(+), 45 deletions(-) - Merge branch 'master' of git@github.com:sustrik/zeromq2 +commit e1b9fcd4b185cdcfd460a5d2ecb29d085856bb20 +Author: malosek +Date: Mon Oct 5 10:18:24 2009 +0200 -commit 0b4172b8689b60ce254c6823d69962bbdbd031d4 -Author: Martin Sustrik -Date: Wed Feb 24 16:19:14 2010 +0100 + moved pgm_create_custom_gsi into PGM1 and drop ssl dependency - minor cast issues on cygwin fixed + configure.in | 18 ++++++------- + foreign/openpgm/create_custom_gsi.patch | 43 +++++++++++++++++++++++++++++++ + foreign/openpgm/lost_data_tsi.patch | 4 +- + src/pgm_socket.cpp | 18 +------------ + src/pgm_socket.hpp | 3 -- + src/platform.hpp.in | 6 ---- + 6 files changed, 54 insertions(+), 38 deletions(-) -commit b7f01f9071c26292c30517bac18dae92efaf3ffb -Author: unknown -Date: Wed Feb 24 15:33:03 2010 +0100 +commit 4efe2366d7394e8969fc9aa64c50be6842d8455f +Author: Martin Sustrik +Date: Fri Oct 2 10:46:36 2009 +0200 + + poller is a concept now rather than virtualised class + + src/Makefile.am | 2 +- + src/devpoll.cpp | 41 +++++++++++-------------- + src/devpoll.hpp | 13 ++++---- + src/epoll.cpp | 16 ++++------ + src/epoll.hpp | 14 ++++---- + src/i_poller.hpp | 84 ----------------------------------------------------- + src/io_object.cpp | 2 +- + src/io_object.hpp | 6 ++- + src/io_thread.cpp | 41 +------------------------ + src/io_thread.hpp | 8 ++-- + src/kqueue.cpp | 17 +++++------ + src/kqueue.hpp | 13 ++++---- + src/poll.cpp | 18 +++++------ + src/poll.hpp | 13 ++++---- + src/poller.hpp | 68 ++++++++++++++++++++++++++++++++++++++++++ + src/select.cpp | 33 +++++++++------------ + src/select.hpp | 13 ++++---- + 17 files changed, 170 insertions(+), 232 deletions(-) + +commit 4a3b4dadead8fe2af65443d0be4cc8462b9aa597 +Author: Martin Sustrik +Date: Fri Oct 2 09:42:13 2009 +0200 - chat example removed from win build; missing fd_signaler_t::poll on win added + ZMQII-9: Check and implement speculative reads & writes -commit 476ebde6280a428e2dd8fee7c70670aa449831c9 -Author: Martin Sustrik -Date: Wed Feb 24 13:02:29 2010 +0100 + src/ypollset.cpp | 1 - + src/zmq_engine.cpp | 6 ++++++ + 2 files changed, 6 insertions(+), 1 deletions(-) - use binary UUIDs instead of string representation to save some bytes +commit 49a9ef5fcb661827ee174415b4608e609bd0a65b +Author: unknown +Date: Thu Oct 1 13:48:04 2009 +0200 -commit cc5c30f5dc2d6490c0199709ceb2d86e3cc3895d -Author: Martin Lucina -Date: Wed Feb 24 12:09:24 2010 +0100 + windows error handling improved - Fix: OpenPGM is now distributed as .tar.gz + bindings/c/zmq.h | 12 ++++++++++++ + src/err.cpp | 43 +++++++++++++++++++++++++++++++++++++++++-- + src/err.hpp | 1 + + src/tcp_connecter.cpp | 10 +++++----- + src/tcp_listener.cpp | 17 ++++++++++++----- + src/zmq.cpp | 8 ++++++++ + 6 files changed, 79 insertions(+), 12 deletions(-) -commit bba36e6ee6ecdee5f3ded30b9f11e7684393bfd2 -Author: Martin Lucina -Date: Wed Feb 24 12:07:24 2010 +0100 +commit cc631c4c6649b0d67114db13386a949426e35dbf +Author: Martin Sustrik +Date: Thu Oct 1 10:56:17 2009 +0200 + + ZMQII-18: Implement I/O multiplexing (first approximation) + + bindings/c/zmq.h | 33 ++++++++++++++ + bindings/cpp/zmq.hpp | 5 ++ + src/fd_signaler.hpp | 2 - + src/i_signaler.hpp | 6 +++ + src/p2p.cpp | 11 +++++ + src/p2p.hpp | 2 + + src/pub.cpp | 11 +++++ + src/pub.hpp | 2 + + src/rep.cpp | 17 +++++++ + src/rep.hpp | 2 + + src/req.cpp | 13 ++++++ + src/req.hpp | 2 + + src/socket_base.cpp | 15 ++++++ + src/socket_base.hpp | 12 +++++ + src/sub.cpp | 13 ++++++ + src/sub.hpp | 2 + + src/ypollset.cpp | 6 +++ + src/ypollset.hpp | 1 + + src/zmq.cpp | 117 +++++++++++++++++++++++++++++++++++++++++++++++++- + 19 files changed, 269 insertions(+), 3 deletions(-) + +commit f2ff2c6e5c4e244dea28e1ac6ec3f886b7ebc356 +Author: Martin Sustrik +Date: Wed Sep 30 10:08:35 2009 +0200 - Disable IPv6 support - - The current IPv6 support is half-assed and breaks for too many people. - Revert back to IPv4 only for now. + checking for available messages added to ypipe/pipe -commit 39b89619742cf4aed25a5b3ccc5ff6d23d9d15cf -Author: Martin Lucina -Date: Wed Feb 24 09:41:10 2010 +0100 + src/pipe.cpp | 11 +++++++++++ + src/pipe.hpp | 3 +++ + src/ypipe.hpp | 24 ++++++++++++++++-------- + 3 files changed, 30 insertions(+), 8 deletions(-) - Update OpenPGM to 2.0.24 (stable) +commit 84d854a088d27b642355d4e835a2d93e405452ae +Author: Martin Sustrik +Date: Tue Sep 29 15:40:29 2009 +0200 -commit ccd47f1ee8c9268b99478c6cce3d8b1aada62566 -Author: Martin Sustrik -Date: Wed Feb 24 09:17:05 2010 +0100 + documentation error in zmq.h fixed - chat example moved to separate repo + bindings/c/zmq.h | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) -commit 8980a985828579d03f031b18a1bebcd65eded417 -Author: Martin Sustrik -Date: Wed Feb 24 08:29:29 2010 +0100 +commit 64e68e748607473befbcf2d96590d45dc7bc98db +Author: malosek +Date: Tue Sep 29 13:56:19 2009 +0200 - zmq_error used from ruby binding + detecting data loss for PGM2 receiver -commit 551fa104ffdb8c417b7d75ce70c463992e7d4652 -Author: Martin Sustrik -Date: Tue Feb 23 23:43:31 2010 +0100 + src/pgm_receiver.cpp | 10 ++++++++++ + src/pgm_socket.cpp | 40 ++++++++++++++++++++++++++++++++++------ + 2 files changed, 44 insertions(+), 6 deletions(-) - zmq_errno used in C++ binding +commit 39d915ded8ccb612ae1f9aaefcd93f349f4c8f4c +Author: malosek +Date: Mon Sep 28 18:06:06 2009 +0200 -commit 95329719cda2b941e422d06daad3a7ba4c4a8829 -Author: Martin Sustrik -Date: Tue Feb 23 23:37:05 2010 +0100 + PGM2 sender - zmq_errno is exported from the DLL + src/pgm_receiver.cpp | 2 +- + src/pgm_sender.cpp | 26 +++++++++++++-- + src/pgm_sender.hpp | 3 ++ + src/pgm_socket.cpp | 85 +++++++++++++++++++++++++++++++++++++++---------- + src/pgm_socket.hpp | 8 +++- + 5 files changed, 100 insertions(+), 24 deletions(-) -commit 2441ef11a22170499d7ae12865dc98a61230f7ed -Author: Martin Sustrik -Date: Tue Feb 23 23:28:25 2010 +0100 +commit cf6cc0128ff4d26e0059f399bbb8342ce259b996 +Author: malosek +Date: Fri Sep 25 17:50:12 2009 +0200 - zmq_errno helper function added + pgm2 receiver working (partly) -commit 2dd55605ea3956413cb25cab705ffdbdb2e00da5 -Author: Martin Sustrik -Date: Tue Feb 23 22:13:56 2010 +0100 + src/Makefile.am | 3 +- + src/pgm_socket.cpp | 161 +++++++++++++++++++++++++++++++++++---------------- + src/pgm_socket.hpp | 14 ++++- + src/socket_base.cpp | 4 +- + 4 files changed, 129 insertions(+), 53 deletions(-) - recv fails after polling for IN on REQ socket +commit 72c5c5fff42fc0b4c9d1eaaaebe9d6e1dd8824f2 +Author: malosek +Date: Thu Sep 24 16:23:49 2009 +0200 -commit 025c9e173c58971993858ea66fb2eeaf08de195d -Author: Martin Sustrik -Date: Tue Feb 23 17:22:52 2010 +0100 + --with-pgm2 compilable - execution disabled on certain source files; some comments on java binding; MSVC temp files added to .gitignore + configure.in | 10 +++--- + src/pgm_receiver.cpp | 2 +- + src/pgm_receiver.hpp | 2 +- + src/pgm_sender.cpp | 2 +- + src/pgm_sender.hpp | 2 +- + src/pgm_socket.cpp | 91 +++++++++++++++++++++++++++++++++++++++++++------ + src/pgm_socket.hpp | 9 +---- + 7 files changed, 89 insertions(+), 29 deletions(-) -commit 71b4947f951f0120e4aadccb42f2452bb95dba06 -Author: unknown -Date: Tue Feb 23 12:02:55 2010 +0100 +commit 33afdcd1adccd19ebd9f4ec9cc6d23a37975d135 +Author: malosek +Date: Thu Sep 24 12:43:35 2009 +0200 + + added --with-pgm2 into build system + + configure.in | 116 +++++++++++++++++++++++++++++++++++++++++--------- + src/Makefile.am | 89 +++++++++++++++++++++++++++++++++++++- + src/pgm_receiver.cpp | 2 +- + src/pgm_receiver.hpp | 2 +- + src/pgm_sender.cpp | 2 +- + src/pgm_sender.hpp | 2 +- + src/pgm_socket.cpp | 2 +- + src/pgm_socket.hpp | 2 +- + src/platform.hpp.in | 8 +++- + src/socket_base.cpp | 4 +- + 10 files changed, 196 insertions(+), 33 deletions(-) + +commit 5aee5fd0cfc6351e843de1540eafa4e757066edc +Author: malosek +Date: Wed Sep 23 12:14:44 2009 +0200 - Win32 build fixed + Updated libzmq.vcproj file -commit 7c0df6ee02eb792c6afea7f047539840addb2f02 -Author: Martin Sustrik -Date: Tue Feb 23 11:52:33 2010 +0100 + builds/msvc/libzmq/libzmq.vcproj | 28 ++++++++++++++++++++++++++++ + 1 files changed, 28 insertions(+), 0 deletions(-) - Java binding beautified, inline documentation added +commit 27d8627cb5d8c91df2f09ecc1272e84be4fe3c80 +Author: malosek +Date: Wed Sep 23 11:31:03 2009 +0200 -commit ef1b5974891a30b15299464859023a531c2328f8 -Author: Martin Sustrik -Date: Tue Feb 23 10:01:54 2010 +0100 + Updated changelog for alpha3 release - minor fix in zmq_socket(3) man page + ChangeLog | 26 ++++++++++++++++---------- + 1 files changed, 16 insertions(+), 10 deletions(-) -commit b9a612ff3f74a3add607b054213d0f52e85cc426 -Merge: f249555 61f0ef5 -Author: Martin Sustrik -Date: Mon Feb 22 18:19:51 2010 +0100 +commit b0a1a16fc2a84afa0eb2715f680297caef521b54 +Merge: 088a2db 2521130 +Author: Martin Sustrik +Date: Wed Sep 23 10:23:53 2009 +0200 Merge branch 'master' of git@github.com:sustrik/zeromq2 -commit f24955519ac0d3b0da5dd87fbb7bfc8cc1e24295 -Author: Martin Sustrik -Date: Mon Feb 22 18:19:26 2010 +0100 +commit 088a2db6746488c1ce4a73c357caaece50bbdf60 +Author: Martin Sustrik +Date: Wed Sep 23 10:22:54 2009 +0200 + + ZMQII-16: Change "struct zmq_msg_t" to "zmq_msg_t" in C binding + + bindings/c/zmq.h | 24 ++++++++++++------------ + perf/c/local_lat.c | 2 +- + perf/c/local_thr.c | 2 +- + perf/c/remote_lat.c | 2 +- + perf/c/remote_thr.c | 2 +- + src/p2p.cpp | 4 ++-- + src/p2p.hpp | 4 ++-- + src/pipe.cpp | 2 +- + src/pipe.hpp | 4 ++-- + src/pub.cpp | 4 ++-- + src/pub.hpp | 4 ++-- + src/rep.cpp | 4 ++-- + src/rep.hpp | 4 ++-- + src/req.cpp | 4 ++-- + src/req.hpp | 4 ++-- + src/socket_base.hpp | 10 ++++++---- + src/sub.cpp | 4 ++-- + src/sub.hpp | 6 +++--- + 18 files changed, 46 insertions(+), 44 deletions(-) + +commit 25211307696752acc17e91783aa662dc9e423b21 +Author: malosek +Date: Wed Sep 23 10:22:39 2009 +0200 - zmq_poll doesn't exit when infinite timeout is set and interrupt occurs + ZMQII-14: Change default for ZMQ_MCAST_LOOP to true -commit 61f0ef569b2f879b6b4e1f247253ceec08e774c7 -Author: Martin Lucina -Date: Mon Feb 22 18:16:40 2010 +0100 + src/options.cpp | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) - NetBSD: Check for and use atomic_ops(3) if available +commit 85cbd7f83c10c70da8fa44fe7673143703f9710d +Author: malosek +Date: Tue Sep 22 15:12:51 2009 +0200 -commit 3a69cca386a895313729f418ee44443794feed0f -Author: Martin Lucina -Date: Mon Feb 22 16:42:13 2010 +0100 + added PGM bus functionality - Fix $build_doc/$install_man check yet again + Makefile.am | 1 + + configure.in | 20 ++++- + foreign/openpgm/lost_data_tsi.patch | 76 +++++++++++++++ + src/pgm_receiver.cpp | 176 ++++++++++++++++++----------------- + src/pgm_receiver.hpp | 37 +++++--- + src/pgm_socket.cpp | 159 ++++++++----------------------- + src/pgm_socket.hpp | 19 ++-- + src/platform.hpp.in | 6 + + 8 files changed, 265 insertions(+), 229 deletions(-) -commit 1294c1d33a1c73218eb94bf18ceb9ae873d08891 -Author: Martin Sustrik -Date: Sun Feb 21 16:58:53 2010 +0100 +commit 3bd8f83f6d412221e4673ceb90b8ca7fa74ff2f1 +Author: Martin Sustrik +Date: Tue Sep 22 13:00:05 2009 +0200 - typo in zmq_ipc(7) fixed + language bindings use zmq_strerror instead of strerror -commit ff99d753ae30a7b5fef730fdcf1643e2928d9993 -Author: malosek -Date: Sat Feb 20 21:03:12 2010 +0100 + bindings/cpp/zmq.hpp | 9 +-------- + bindings/java/Context.cpp | 12 +++--------- + bindings/java/Socket.cpp | 11 ++--------- + bindings/python/pyzmq.cpp | 20 ++++++++++---------- + bindings/ruby/rbzmq.cpp | 18 +++++++++--------- + 5 files changed, 25 insertions(+), 45 deletions(-) - Minor buid system tunning +commit a0db7f6b811e687eda452a7de9f5db112f715544 +Author: Martin Sustrik +Date: Tue Sep 22 12:08:18 2009 +0200 -commit 740e531fbb47ad324737c075251c674e9dced6f1 -Author: Martin Sustrik -Date: Sat Feb 20 09:11:30 2010 +0100 + POSIX error codes unsupported on win platform faked - Aleksey Yeschenko added to the credit section of AUTHORS file + bindings/c/zmq.h | 16 +++++++++++++--- + src/zmq.cpp | 13 +++++++++++++ + 2 files changed, 26 insertions(+), 3 deletions(-) -commit 57148b1fdeec0080b77ecfa837add9557226261c -Author: Martin Lucina -Date: Fri Feb 19 18:23:54 2010 +0100 +commit e136d923b7060ef64d44264f88e49057e6638f31 +Author: Martin Sustrik +Date: Tue Sep 22 11:52:35 2009 +0200 + + ZMQ-specific error codes added + + bindings/c/zmq.h | 34 +++++++++++++++++++++++++++++----- + src/dispatcher.cpp | 2 +- + src/err.cpp | 5 +++++ + src/pub.cpp | 2 +- + src/rep.cpp | 6 +++--- + src/req.cpp | 8 ++++---- + src/socket_base.cpp | 10 +++++----- + src/sub.cpp | 4 ++-- + src/zmq.cpp | 15 +++++++++++++++ + 9 files changed, 65 insertions(+), 21 deletions(-) + +commit cc8136896d30890efb24aadc2d3058652aa43d45 +Author: Martin Sustrik +Date: Tue Sep 22 10:57:46 2009 +0200 - Add missing check for install_man=yes - - Fixes git builds w/o asciidoc, bug introduced in 46824abe + documentation in zmq.h improved -commit 8b86dcf81cc7b80267f334f4f26dfd319532ad25 -Author: Martin Sustrik -Date: Fri Feb 19 17:50:47 2010 +0100 + bindings/c/zmq.h | 283 ++++++++++++++++++++++++++++++++++++-------------- + bindings/cpp/zmq.hpp | 13 --- + src/zmq.cpp | 28 +---- + 3 files changed, 208 insertions(+), 116 deletions(-) - build on cygwin enabled +commit e6ca5da1815023e90306914dab101eeef4b6f199 +Author: Martin Sustrik +Date: Tue Sep 22 08:30:15 2009 +0200 -commit 727054547f32680f7db098497c2d7b1a0b20e2d8 -Author: Martin Sustrik -Date: Fri Feb 19 17:02:07 2010 +0100 + Windows build fixed - don't check for identity, if the connection is anonymous + src/fd_signaler.cpp | 31 ++++++++++++++++--------------- + src/p2p.cpp | 3 +++ + src/rep.cpp | 2 ++ + 3 files changed, 21 insertions(+), 15 deletions(-) -commit aff1f6621ae13083c7f15f7f1f808560254a2dcb -Merge: 75f571c 2a79a94 -Author: Martin Sustrik -Date: Fri Feb 19 15:25:05 2010 +0100 +commit b15f695976d21300beabc3e0ecef87c1a0b4dc4c +Author: Martin Sustrik +Date: Mon Sep 21 17:20:13 2009 +0200 + + different fixes to req/rep + + src/dispatcher.cpp | 8 ++++---- + src/fd_signaler.cpp | 22 +++++++++++----------- + src/options.cpp | 4 +++- + src/options.hpp | 5 +++++ + src/p2p.cpp | 14 +++----------- + src/p2p.hpp | 2 -- + src/pub.cpp | 14 +++----------- + src/pub.hpp | 2 -- + src/rep.cpp | 14 +++----------- + src/rep.hpp | 2 -- + src/req.cpp | 14 +++----------- + src/req.hpp | 2 -- + src/session.cpp | 36 ++++++++++++++++++++++++------------ + src/socket_base.cpp | 40 +++++++++++++--------------------------- + src/socket_base.hpp | 13 ++++--------- + src/sub.cpp | 14 +++----------- + src/sub.hpp | 2 -- + 17 files changed, 79 insertions(+), 129 deletions(-) + +commit cb1b6fe32cbf3c7cf5961bb4156f2de743693a3a +Author: Martin Sustrik +Date: Mon Sep 21 14:39:59 2009 +0200 + + initial version of req/rep sockets + + src/Makefile.am | 8 + + src/app_thread.cpp | 20 ++- + src/app_thread.hpp | 3 +- + src/i_endpoint.hpp | 7 +- + src/options.cpp | 80 +++++++++ + src/options.hpp | 3 + + src/p2p.cpp | 92 ++++++++++ + src/p2p.hpp | 56 ++++++ + src/pipe.cpp | 28 +--- + src/pipe.hpp | 19 +-- + src/pub.cpp | 129 ++++++++++++++- + src/pub.hpp | 24 +++- + src/rep.cpp | 204 +++++++++++++++++++++++ + src/rep.hpp | 79 +++++++++ + src/req.cpp | 206 +++++++++++++++++++++++ + src/req.hpp | 84 ++++++++++ + src/session.cpp | 49 +++--- + src/session.hpp | 6 +- + src/socket_base.cpp | 460 ++++++++++++++------------------------------------- + src/socket_base.hpp | 77 ++++----- + src/sub.cpp | 88 +++++++++- + src/sub.hpp | 38 ++++- + src/yarray.hpp | 110 ++++++++++++ + src/yarray_item.hpp | 62 +++++++ + 24 files changed, 1460 insertions(+), 472 deletions(-) + +commit 7668b246fc3cf4a2a3b3ee9b1283ad8a4b12ac4f +Author: Martin Sustrik +Date: Sun Sep 20 12:03:14 2009 +0200 - Merge branch 'master' of git@github.com:sustrik/zeromq2 + ZMQ_POLL option forces fd_signaler to be used in app_thread -commit 75f571c8844231f4172f131e1dd6ba2348eb54e5 -Author: Martin Sustrik -Date: Fri Feb 19 15:24:43 2010 +0100 + src/app_thread.cpp | 18 +++++++++++++++--- + src/app_thread.hpp | 5 ++--- + src/fd_signaler.cpp | 39 ++++++++++++++++++++++++--------------- + src/fd_signaler.hpp | 3 --- + src/i_signaler.hpp | 4 ++-- + src/ypollset.cpp | 4 ++++ + src/ypollset.hpp | 2 +- + 7 files changed, 48 insertions(+), 27 deletions(-) - Multi-hop REQ/REP, part XII., generate unique identities for anonymous connections +commit 495a2228cd08a29946f9e9ce2e0721e789203e35 +Author: Martin Sustrik +Date: Sun Sep 20 10:58:00 2009 +0200 -commit 2a79a943de417679c562cd4a917e1d1bc19b0d25 -Author: Martin Lucina -Date: Thu Feb 18 19:38:15 2010 +0100 + MSVC warnings removed - Add NetBSD support + src/fd_signaler.cpp | 11 ++++------- + 1 files changed, 4 insertions(+), 7 deletions(-) -commit 776b12633981fd95050e138daeeba00a65d9532b -Author: Martin Lucina -Date: Thu Feb 18 19:27:35 2010 +0100 +commit f99b8fc921bc0e6aa55276d8c55e43c9d7f4375a +Author: Martin Sustrik +Date: Sun Sep 20 10:47:27 2009 +0200 - Fix typo + receiving side of signaler virtualised -commit ab27f84b14a317d78a9dd145ef5c82e0ef88f583 -Author: Martin Lucina -Date: Thu Feb 18 19:27:15 2010 +0100 + src/app_thread.cpp | 4 +- + src/fd_signaler.cpp | 55 ++++++++++++++++++++++++++++++++++++++------------ + src/fd_signaler.hpp | 12 ++-------- + src/i_signaler.hpp | 11 ++++++++++ + src/io_thread.cpp | 4 +- + src/ypollset.cpp | 8 +++--- + src/ypollset.hpp | 18 +++++----------- + 7 files changed, 70 insertions(+), 42 deletions(-) - libstdc++ depends on libm on some platforms +commit 50a8b9ea0c4a819073b46449dee8fc839b837ae5 +Author: Martin Sustrik +Date: Sun Sep 20 10:14:21 2009 +0200 + + 'flags' parameter added to zmq_init + + bindings/c/zmq.h | 6 +++++- + bindings/cpp/zmq.hpp | 4 ++-- + bindings/java/Context.cpp | 4 ++-- + bindings/java/org/zmq/Context.java | 8 +++++--- + bindings/python/pyzmq.cpp | 13 ++++++++----- + bindings/ruby/rbzmq.cpp | 11 +++++++---- + perf/c/local_lat.c | 2 +- + perf/c/local_thr.c | 2 +- + perf/c/remote_lat.c | 2 +- + perf/c/remote_thr.c | 2 +- + perf/java/local_lat.java | 2 +- + perf/java/local_thr.java | 2 +- + perf/java/remote_lat.java | 2 +- + perf/java/remote_thr.java | 2 +- + perf/ruby/local_lat.rb | 2 +- + perf/ruby/local_thr.rb | 2 +- + perf/ruby/remote_lat.rb | 2 +- + perf/ruby/remote_thr.rb | 2 +- + src/app_thread.cpp | 3 ++- + src/app_thread.hpp | 3 ++- + src/dispatcher.cpp | 8 +++++--- + src/dispatcher.hpp | 2 +- + src/fd_signaler.cpp | 6 ++++++ + src/io_thread.cpp | 3 ++- + src/io_thread.hpp | 3 ++- + src/zmq.cpp | 8 ++++---- + 26 files changed, 65 insertions(+), 41 deletions(-) + +commit edecf75b611cf0e6b1c2658846cff013434edad4 +Author: Martin Sustrik +Date: Thu Sep 17 12:29:32 2009 +0200 -commit 495f0d105f809a265c34aa9a0eb20af0dcdcf283 -Author: Martin Lucina -Date: Thu Feb 18 17:29:14 2010 +0100 + python binding checks ctx argument type - Fix detection of libstdc++ - - We only care about libstdc++ when using GNU C++. - Further, libstdc++ depends on libm on some platforms, fix this. + bindings/python/pyzmq.cpp | 22 ++++++++++++---------- + 1 files changed, 12 insertions(+), 10 deletions(-) -commit 46824abeb2b016c51f406401d965816f71189aed -Author: Martin Lucina -Date: Thu Feb 18 17:25:49 2010 +0100 +commit 8cdf75327d847c464415ab32554d155febcf7c5e +Author: Martin Sustrik +Date: Thu Sep 17 11:44:39 2009 +0200 - Never build docs from tarball releases - - This fixes the build_doc logic to work as advertised and never - try to (re)build documentation when working with a tarball release. + ChangeLog updated -commit 8be491b7bdb8525eb37cebf355697c566a482e2d -Author: Martin Lucina -Date: Thu Feb 18 13:46:00 2010 +0100 + ChangeLog | 336 ++++++++++++++++++++++++++++++++----------------------------- + 1 files changed, 175 insertions(+), 161 deletions(-) - Use feature test macros more conservatively - - It turns out that feature test macros are a complete mess, and defining - _GNU_SOURCE and _POSIX_C_SOURCE together breaks some systems. So we try - and define the appropriate "make everything visible" combination specific - to each system instead. This may still break something, so people should - test their platforms and speak up if so. +commit dffbdbb60c5d5caf01d13063a3d1babab0411338 +Author: malosek +Date: Thu Sep 17 11:31:28 2009 +0200 -commit d008637bc42da3fca50e423c2df0736be2745ac7 -Author: Martin Sustrik -Date: Wed Feb 17 21:16:59 2010 +0100 + fixed compiler warning cast from uint64 to bool in socket_base.cpp - one more attempt to fix the previous win32 problem + src/socket_base.cpp | 11 ++++++++--- + 1 files changed, 8 insertions(+), 3 deletions(-) -commit f97da5e6449b183ad3ebb9b0ba8c37ff3dc17387 -Merge: e385319 41354bf -Author: Martin Sustrik -Date: Wed Feb 17 20:33:46 2010 +0100 +commit 1bd6d5e0f6a6013b2d43abb2a82f0027a92fcc96 +Author: malosek +Date: Thu Sep 17 11:26:39 2009 +0200 + + fixed missing xmlParser in dist package + + Makefile.am | 4 +++- + 1 files changed, 3 insertions(+), 1 deletions(-) + +commit 2be152967c90834bf02ab84e39980281d3f05002 +Author: malosek +Date: Thu Sep 17 10:49:02 2009 +0200 + + java binding Makefile.am cleanup + + bindings/java/Makefile.am | 3 +-- + 1 files changed, 1 insertions(+), 2 deletions(-) + +commit cff6eb43766ddbbc894237c1ffffc824ca3c79b6 +Author: malosek +Date: Thu Sep 17 10:29:02 2009 +0200 + + msvc directory moved into builds dir + + bindings/java/Socket.cpp | 2 +- + builds/msvc/c_local_lat/c_local_lat.vcproj | 176 +++++++ + builds/msvc/c_local_thr/c_local_thr.vcproj | 176 +++++++ + builds/msvc/c_remote_lat/c_remote_lat.vcproj | 176 +++++++ + builds/msvc/c_remote_thr/c_remote_thr.vcproj | 176 +++++++ + builds/msvc/cpp_local_lat/cpp_local_lat.vcproj | 176 +++++++ + builds/msvc/cpp_local_thr/cpp_local_thr.vcproj | 176 +++++++ + builds/msvc/cpp_remote_lat/cpp_remote_lat.vcproj | 176 +++++++ + builds/msvc/cpp_remote_thr/cpp_remote_thr.vcproj | 176 +++++++ + builds/msvc/j_local_lat/j_local_lat.vcproj | 78 +++ + builds/msvc/j_local_thr/j_local_thr.vcproj | 78 +++ + builds/msvc/j_remote_lat/j_remote_lat.vcproj | 78 +++ + builds/msvc/j_remote_thr/j_remote_thr.vcproj | 78 +++ + builds/msvc/java/java.vcproj | 244 ++++++++++ + builds/msvc/libzmq/libzmq.vcproj | 562 ++++++++++++++++++++++ + builds/msvc/msvc.sln | 154 ++++++ + builds/msvc/platform.hpp | 59 +++ + builds/msvc/python/python.vcproj | 176 +++++++ + builds/msvc/zmq_forwarder/zmq_forwarder.vcproj | 174 +++++++ + msvc/c_local_lat/c_local_lat.vcproj | 176 ------- + msvc/c_local_thr/c_local_thr.vcproj | 176 ------- + msvc/c_remote_lat/c_remote_lat.vcproj | 176 ------- + msvc/c_remote_thr/c_remote_thr.vcproj | 176 ------- + msvc/cpp_local_lat/cpp_local_lat.vcproj | 176 ------- + msvc/cpp_local_thr/cpp_local_thr.vcproj | 176 ------- + msvc/cpp_remote_lat/cpp_remote_lat.vcproj | 176 ------- + msvc/cpp_remote_thr/cpp_remote_thr.vcproj | 176 ------- + msvc/j_local_lat/j_local_lat.vcproj | 78 --- + msvc/j_local_thr/j_local_thr.vcproj | 78 --- + msvc/j_remote_lat/j_remote_lat.vcproj | 78 --- + msvc/j_remote_thr/j_remote_thr.vcproj | 78 --- + msvc/java/java.vcproj | 244 ---------- + msvc/libzmq/libzmq.vcproj | 538 --------------------- + msvc/msvc.sln | 154 ------ + msvc/platform.hpp | 59 --- + msvc/python/python.vcproj | 176 ------- + msvc/zmq_forwarder/zmq_forwarder.vcproj | 174 ------- + 37 files changed, 3090 insertions(+), 3066 deletions(-) + +commit 3ebe9932f9c208966f8cb97d631d26df0367c151 +Merge: 1a65504 d16b3bc +Author: malosek +Date: Wed Sep 16 17:07:15 2009 +0200 Merge branch 'master' of git@github.com:sustrik/zeromq2 -commit e385319e5aaff6deafddfb216b24f026b461caa6 -Author: Martin Sustrik -Date: Wed Feb 17 20:33:00 2010 +0100 +commit 1a655045951c29edda0b616640b9dac507cda164 +Author: malosek +Date: Wed Sep 16 17:06:59 2009 +0200 + + ruby directory moved into bindings dir + + Makefile.am | 9 +- + bindings/Makefile.am | 8 +- + bindings/ruby/Makefile.am | 11 ++ + bindings/ruby/extconf.rb | 24 ++++ + bindings/ruby/rbzmq.cpp | 277 +++++++++++++++++++++++++++++++++++++++++++++ + configure.in | 2 +- + ruby/Makefile.am | 11 -- + ruby/extconf.rb | 24 ---- + ruby/rbzmq.cpp | 277 --------------------------------------------- + 9 files changed, 322 insertions(+), 321 deletions(-) + +commit c63387ca3657848c0eaa8014a863148c1e6525ff +Author: malosek +Date: Wed Sep 16 17:00:32 2009 +0200 + + python directory moved into bindings dir + + Makefile.am | 8 +- + bindings/Makefile.am | 11 + + bindings/python/Makefile.am | 7 + + bindings/python/pyzmq.cpp | 528 +++++++++++++++++++++++++++++++++++++++++++ + bindings/python/setup.py.in | 14 ++ + configure.in | 3 +- + python/Makefile.am | 7 - + python/pyzmq.cpp | 528 ------------------------------------------- + python/setup.py.in | 14 -- + 9 files changed, 564 insertions(+), 556 deletions(-) + +commit 1b2a426656134b85ff4c75cb0cccbc53f2b83447 +Author: malosek +Date: Wed Sep 16 16:49:09 2009 +0200 + + c and cpp directories moved into bindings directory + + bindings/c/zmq.h | 216 +++++++++++++++++++++++ + bindings/cpp/zmq.hpp | 283 +++++++++++++++++++++++++++++++ + bindings/java/Makefile.am | 2 +- + c/zmq.h | 216 ----------------------- + cpp/zmq.hpp | 283 ------------------------------- + devices/zmq_forwarder/Makefile.am | 2 +- + devices/zmq_forwarder/zmq_forwarder.cpp | 2 +- + perf/c/Makefile.am | 2 +- + perf/cpp/Makefile.am | 2 +- + perf/java/Makefile.am | 2 +- + src/Makefile.am | 4 +- + src/app_thread.cpp | 2 +- + src/dispatcher.cpp | 2 +- + src/i_inout.hpp | 2 +- + src/io_thread.cpp | 2 +- + src/msg_content.hpp | 2 +- + src/pipe.cpp | 2 +- + src/pipe.hpp | 2 +- + src/pub.cpp | 2 +- + src/socket_base.cpp | 2 +- + src/sub.cpp | 2 +- + src/zmq.cpp | 2 +- + src/zmq_decoder.hpp | 2 +- + src/zmq_encoder.hpp | 2 +- + 24 files changed, 520 insertions(+), 520 deletions(-) + +commit 6bfb9e6aaf0adad441d693a679c30ef30aeb5c14 +Author: malosek +Date: Wed Sep 16 16:22:23 2009 +0200 - recv returning -1 while errno=0 fixed + java directory moved into bindings directory II -commit 41354bfa9820eb4495cf98342177d036df2a7dc7 -Author: unknown -Date: Wed Feb 17 20:16:19 2010 +0100 + Makefile.am | 8 ++------ + bindings/java/Makefile.am | 2 +- + configure.in | 4 ++-- + 3 files changed, 5 insertions(+), 9 deletions(-) - zmq_version fixed on Win32 platform +commit 3de435a07d460e7eb2423a75e71a409b0f1143e2 +Author: malosek +Date: Wed Sep 16 16:22:00 2009 +0200 + + java directory moved into bindings directory + + bindings/java/Context.cpp | 96 +++++++++++++ + bindings/java/Makefile.am | 58 ++++++++ + bindings/java/Socket.cpp | 272 ++++++++++++++++++++++++++++++++++++ + bindings/java/org/zmq/Context.java | 50 +++++++ + bindings/java/org/zmq/Socket.java | 112 +++++++++++++++ + java/Context.cpp | 96 ------------- + java/Makefile.am | 58 -------- + java/Socket.cpp | 272 ------------------------------------ + java/org/zmq/Context.java | 50 ------- + java/org/zmq/Socket.java | 112 --------------- + 10 files changed, 588 insertions(+), 588 deletions(-) + +commit d16b3bc0c93452a4be7d06525793ac5190e38031 +Merge: 35c58dc 10dd8c5 +Author: Martin Sustrik +Date: Wed Sep 16 15:52:39 2009 +0200 -commit f745c96a9bcf930d10fe31de5f7b3e772cccfa83 -Author: Martin Lucina -Date: Wed Feb 17 15:40:26 2010 +0100 + Merge branch 'master' of git@github.com:sustrik/zeromq2 - Add POSIX and GNU Feature Test Macros - - This should fix more exotic POSIX platforms such as HPUX which insist on - having _POSIX_C_SOURCE defined to get proper threading behaviour. We also - define _GNU_SOURCE so that we get any extensions on systems with glibc, e.g. - eventfd. +commit 35c58dc7331e3c5033b16829dff40437efe97a81 +Author: Martin Sustrik +Date: Wed Sep 16 15:37:20 2009 +0200 -commit 9d8623b28f09f5a6db94c7d69ae264984ef1fbe3 -Author: Martin Sustrik -Date: Wed Feb 17 08:30:27 2010 +0100 + ZMQII-1: fix for devpoll, kqueue & poll - ZMQII-76: Bug in how replies are handled when the REQ endpoint goes away + src/devpoll.cpp | 3 ++- + src/kqueue.cpp | 3 ++- + src/poll.cpp | 4 ++-- + 3 files changed, 6 insertions(+), 4 deletions(-) -commit 33cb20a747a2ca2c7b0487b023cfd6548ffe11e8 -Author: Martin Sustrik -Date: Tue Feb 16 23:31:17 2010 +0100 +commit 10dd8c53460a28849aacf7d2e24b63d7fae11ae0 +Merge: 03d494d fc7715b +Author: malosek +Date: Wed Sep 16 15:36:56 2009 +0200 - ZMQII-77: Put librbzmq symbols into ZMQ module + Merge branch 'master' of git@github.com:sustrik/zeromq2 -commit 1e7878489dc5d3013b5e5858fe404ab6b4a6947a -Author: Martin Sustrik -Date: Tue Feb 16 23:02:59 2010 +0100 +commit 03d494d4f074a8707274e6d5fd21ac6dca917344 +Author: malosek +Date: Wed Sep 16 15:36:38 2009 +0200 - exconf.rb checks for libzmq.so installation + added udp:// transport prefix for PGM UDP encapsulation -commit 8214d386c3f10dcc7f034a1159e82aa2d470829f -Merge: 4190f64 96b2690 -Author: Martin Sustrik -Date: Tue Feb 16 22:20:09 2010 +0100 + src/pgm_receiver.cpp | 4 ++-- + src/pgm_receiver.hpp | 2 +- + src/pgm_sender.cpp | 10 ++++------ + src/pgm_sender.hpp | 2 +- + src/pgm_socket.cpp | 33 +++++++-------------------------- + src/pgm_socket.hpp | 2 +- + src/socket_base.cpp | 13 +++++++++---- + 7 files changed, 25 insertions(+), 41 deletions(-) + +commit fc7715b4636be7a0d49f27234359ddfddce23f5b +Merge: f1c72d6 c6665f4 +Author: Martin Sustrik +Date: Wed Sep 16 15:27:39 2009 +0200 Merge branch 'master' of git@github.com:sustrik/zeromq2 -commit 4190f64d8cfc3950bc456ea7793db72130d05feb -Author: Martin Sustrik -Date: Tue Feb 16 22:19:33 2010 +0100 +commit f1c72d693e3bd252866a1f78e575493573eb57fe +Author: Martin Sustrik +Date: Wed Sep 16 15:26:49 2009 +0200 - Special exception clause added to LGPL license + ZMQII-4: Failure in dev/poll poller -commit 96b2690716a811a4c782de0eccfb9affa398cfe4 -Merge: 60ce5cc a2f9899 -Author: Martin Lucina -Date: Tue Feb 16 19:59:32 2010 +0100 + src/zmq_connecter.cpp | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) - Merge branch 'master' of github.com:sustrik/zeromq2 +commit c6665f46be7eb701866441087c35cdb1a08fc641 +Author: malosek +Date: Wed Sep 16 14:57:22 2009 +0200 -commit 60ce5cc82a48d5881cb493a5b6b3afba19bd0863 -Author: Martin Lucina -Date: Tue Feb 16 19:58:55 2010 +0100 + set rc to 0 in its declaration (pyzmq.cpp) - PGM tarball should be removed on 'distclean', not 'clean' + python/pyzmq.cpp | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) -commit b9caa319e279cd8cd367e0a64308b9e80c4ead3d -Author: Martin Sustrik -Date: Tue Feb 16 18:30:38 2010 +0100 +commit 3b2c3cae095abf9b61cd72cf19f053071a8c614a +Author: malosek +Date: Wed Sep 16 14:55:11 2009 +0200 - Multi-hop REQ/REP, part XI., finalise the XREQ/XREP functionality + setsockopt cleanup in rbzmq -commit 2ddce205350f11dacd8d8550f7d4e6e088c7fbcd -Merge: 43620b3 a2f9899 -Author: Martin Sustrik -Date: Tue Feb 16 18:03:41 2010 +0100 + perf/ruby/local_thr.rb | 2 +- + ruby/rbzmq.cpp | 106 +++++++++++++++++++----------------------------- + 2 files changed, 43 insertions(+), 65 deletions(-) + +commit 3534732c0614a764731fbea2431247068fa63330 +Merge: 17800ac a71d002 +Author: malosek +Date: Wed Sep 16 14:26:04 2009 +0200 Merge branch 'master' of git@github.com:sustrik/zeromq2 -commit a2f9899f6a1fad3f9c73fc7599445bdde0b95ec4 -Author: Martin Sustrik -Date: Tue Feb 16 17:50:36 2010 +0100 +commit 17800ac85e667d18124d0e90f9387d6c90887570 +Author: malosek +Date: Wed Sep 16 14:25:49 2009 +0200 - missing COPYING file added + setsockopt cleanup in pyzmq.cpp -commit afb526f31a82b8697b5f7e73e50b14705a3a74b2 -Author: Martin Lucina -Date: Tue Feb 16 00:11:38 2010 +0100 + python/pyzmq.cpp | 31 +++++++++++++++++++++++-------- + 1 files changed, 23 insertions(+), 8 deletions(-) - Fix 'make dist' to work with no special magic +commit a71d00288008b7ed1dc91b6ad3d5fdf25a5e683e +Merge: 4631fde 7a5db60 +Author: Martin Sustrik +Date: Wed Sep 16 14:03:42 2009 +0200 + + Merge branch 'master' of git@github.com:sustrik/zeromq2 + +commit 4631fde7e385ea31e85f41290614afb9bda391c9 +Author: Martin Sustrik +Date: Wed Sep 16 14:02:43 2009 +0200 -commit 8e9b78af271ae54882abf3010260d1e80ddd70f2 -Author: Martin Lucina -Date: Mon Feb 15 23:59:35 2010 +0100 + ZMQII-8: Failure during orphan pipe deallocation - Correct path for pgm distclean + src/dispatcher.cpp | 4 ++-- + src/session.cpp | 6 +++++- + src/zmq_connecter_init.cpp | 6 +++++- + 3 files changed, 12 insertions(+), 4 deletions(-) -commit df0c18ca17aa0dcd0e9f3737666a794b943f0982 -Author: Martin Lucina -Date: Mon Feb 15 23:54:49 2010 +0100 +commit 7a5db6041f4f11ed502fa7446da900509dedb00f +Author: malosek +Date: Wed Sep 16 12:22:36 2009 +0200 + + added newly added socket options to all language bindings, P2P model changed to PUB/SUB for throughput tests + + c/zmq.h | 2 +- + java/Socket.cpp | 1 + + java/org/zmq/Socket.java | 1 + + perf/c/local_thr.c | 8 ++++- + perf/c/remote_thr.c | 5 ++- + perf/cpp/local_thr.cpp | 8 ++++- + perf/cpp/remote_thr.cpp | 6 +++- + perf/java/local_thr.java | 68 ++++++++++++++++++++++++-------------------- + perf/java/remote_thr.java | 60 +++++++++++++++++++++------------------ + perf/python/local_thr.py | 8 ++++- + perf/python/remote_thr.py | 6 +++- + perf/ruby/local_thr.rb | 7 ++++- + perf/ruby/remote_thr.rb | 6 +++- + python/pyzmq.cpp | 18 +++++++++++- + ruby/rbzmq.cpp | 5 +++ + src/socket_base.cpp | 11 ++++++- + 16 files changed, 149 insertions(+), 71 deletions(-) + +commit 9c522dccaf0b2c8074bd96fbfb4c968f45748ba4 +Author: Martin Sustrik +Date: Wed Sep 16 11:02:18 2009 +0200 + + reconnect added to zmq_connecter + + perf/c/remote_lat.c | 10 ++++++---- + perf/cpp/remote_lat.cpp | 5 ++++- + src/session.cpp | 9 ++++++--- + src/session.hpp | 5 ++++- + src/socket_base.cpp | 4 ++-- + src/zmq_connecter.cpp | 22 +++++++++++++++++----- + src/zmq_connecter.hpp | 5 ++++- + src/zmq_connecter_init.cpp | 22 ++++++++++++++++++++-- + src/zmq_engine.cpp | 1 + + src/zmq_engine.hpp | 1 + + src/zmq_listener_init.cpp | 2 +- + 11 files changed, 66 insertions(+), 20 deletions(-) + +commit 6e03cb2f3eb083e1de8e7161d3ab21b52c87eece +Merge: bce2e60 9fbdcc7 +Author: Martin Sustrik +Date: Wed Sep 16 10:56:55 2009 +0200 - Missed one instance of pgm2 + Merge branch 'master' of git@github.com:sustrik/zeromq2 -commit b09eeeb2fac380da1e3455cdf97278850842e1c8 -Author: Martin Lucina -Date: Mon Feb 15 23:52:08 2010 +0100 +commit 9fbdcc7940823634d82f51d2b124ccfbca6e9b17 +Author: malosek +Date: Wed Sep 16 10:35:23 2009 +0200 - Update gitignore + removed reset method from zmq_decoder_t -commit 80c820d758aa65d71fbf4a24fd59d11de1f72fa5 -Author: Martin Lucina -Date: Mon Feb 15 23:51:05 2010 +0100 + src/pgm_receiver.cpp | 25 +++++++++++++++---------- + src/pgm_receiver.hpp | 2 +- + src/zmq_decoder.cpp | 10 ---------- + src/zmq_decoder.hpp | 2 -- + 4 files changed, 16 insertions(+), 23 deletions(-) - Cleaning up more PGM cruft +commit 969522bbf55467b6f6e8113be28451d087060843 +Author: malosek +Date: Wed Sep 16 10:11:01 2009 +0200 + + added OpenPGM receiver - ZMQ_SUB + + c/zmq.h | 1 + + src/Makefile.am | 2 + + src/options.cpp | 3 +- + src/options.hpp | 7 +- + src/pgm_receiver.cpp | 202 ++++++++++++++++++++++++++++++++++++++++++++++++++ + src/pgm_receiver.hpp | 98 ++++++++++++++++++++++++ + src/pgm_sender.cpp | 7 +-- + src/pgm_sender.hpp | 2 +- + src/pgm_socket.cpp | 17 +++-- + src/socket_base.cpp | 75 +++++++++++++++++-- + src/sub.cpp | 6 ++ + 11 files changed, 395 insertions(+), 25 deletions(-) + +commit bce2e60bbb3b7f799a532d9b8f2e171c570b9fea +Author: Martin Sustrik +Date: Wed Sep 16 09:50:39 2009 +0200 -commit 635e314643885ce8508ee64632bed7d6228fe8b6 -Author: Martin Lucina -Date: Mon Feb 15 23:09:57 2010 +0100 + more errors from send & recv handled decently on windows - Clarify python.h messages + src/tcp_socket.cpp | 12 +++++++++++- + 1 files changed, 11 insertions(+), 1 deletions(-) -commit 55800cea8c63ea84bd99e4c660ef1fd17a353e32 -Author: Martin Lucina -Date: Mon Feb 15 23:02:24 2010 +0100 +commit 0381a78c0484012e760d61051f325c71136df17e +Author: malosek +Date: Tue Sep 15 13:47:15 2009 +0200 - Fix typo + added reset method into zmq_decoder_t class -commit 5687661ba4a1ecf70e130047dc288cb6cff6f21a -Author: Martin Lucina -Date: Mon Feb 15 22:58:45 2010 +0100 + src/zmq_decoder.cpp | 10 ++++++++++ + src/zmq_decoder.hpp | 2 ++ + 2 files changed, 12 insertions(+), 0 deletions(-) - Cleanup messages from configure.in +commit 79d4a6debf2f4a6970c1137f15426ba0c3535ac0 +Merge: 7653f34 98b8e9b +Author: malosek +Date: Tue Sep 15 12:01:07 2009 +0200 -commit 48a90cfb347bc983362ce2bc021591d513d6a5ec -Author: Martin Lucina -Date: Mon Feb 15 22:25:01 2010 +0100 + Merge branch 'master' of git@github.com:sustrik/zeromq2 - Replace check for sparc with host_cpu +commit 7653f34df0aae4689d0ccc563a2f111f4793e539 +Author: malosek +Date: Tue Sep 15 12:00:48 2009 +0200 -commit 0ded6c1973596436d7e5c54cfb89ada4d6c7473d -Author: Martin Lucina -Date: Mon Feb 15 22:17:18 2010 +0100 + fixed pub_t class creating ZMQ_SUB socket_base_t - Multiple fixes to --with-pgm - - Disallow build --with-pgm on non-x86/AMB64 CPUs - Check correctly for all dependencies required by --with-pgm - Don't assume tar has -j - Reorder --with-pgm checks + src/pub.cpp | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) -commit 94c74d5c18183b49507d633c7b06713841cfcb03 -Author: Martin Sustrik -Date: Mon Feb 15 21:04:34 2010 +0100 +commit 98b8e9b54dd8c67006422106b478a3a6eab07869 +Merge: a841774 3a3bcd3 +Author: Martin Sustrik +Date: Tue Sep 15 10:06:42 2009 +0200 - Brian Granger added to credits list + Merge branch 'master' of github.com:sustrik/zeromq2 -commit f96f53c9687b5a032ef45ce42154a7f944492eec -Author: Martin Sustrik -Date: Mon Feb 15 21:03:11 2010 +0100 +commit a841774cbd6363e6ddccc7a56e9a97d1c1481a76 +Author: Martin Sustrik +Date: Tue Sep 15 10:04:43 2009 +0200 - ZMQ_POLLERR placeholder added to zmq.h + forwarder renamed to zmq_forwarder (MSVC build) -commit 5041b0bc0bce43e5b6d8b6c6264141d33f3c2a7c -Author: Martin Sustrik -Date: Mon Feb 15 20:35:00 2010 +0100 + msvc/forwarder/forwarder.vcproj | 174 ------------------------------- + msvc/msvc.sln | 10 +- + msvc/zmq_forwarder/zmq_forwarder.vcproj | 174 +++++++++++++++++++++++++++++++ + 3 files changed, 179 insertions(+), 179 deletions(-) - fixing the previous commit :( +commit 3a3bcd337fb8000aef6c8f5ca3dd1b10475d7ab0 +Author: malosek +Date: Tue Sep 15 09:57:11 2009 +0200 -commit 7778010d76e6da534307ca3f0a3506d3d7f0ec5d -Author: Martin Sustrik -Date: Mon Feb 15 19:58:47 2010 +0100 + pgm_sender code beautiication - care taken of the fact that AI_NUMERICSERV is not defined on OSX 10.5 + src/pgm_sender.hpp | 11 ++--------- + 1 files changed, 2 insertions(+), 9 deletions(-) -commit 817c89a78ea7b773046b010ca129fd1206e1c8f0 +commit f44b215a60f50e8730a50522d7b9f2d5b4381d19 Author: malosek -Date: Mon Feb 15 19:42:05 2010 +0100 +Date: Tue Sep 15 09:47:25 2009 +0200 - removed first dummy run of PKG_CHECK_EXISTS + added out_event call into pgm_sender_t revive -commit 43620b3d35e3f3a6e49046fdc0426651bf58dedb -Author: Martin Sustrik -Date: Sun Feb 14 13:34:48 2010 +0100 + src/pgm_sender.cpp | 23 +---------------------- + 1 files changed, 1 insertions(+), 22 deletions(-) - Multi-hop REQ/REP, part X., optional delayed creation of pipes during connect +commit 712c7bd8954a801526e87e652840f7087f9af706 +Merge: 3642813 35e82b4 +Author: malosek +Date: Tue Sep 15 09:46:08 2009 +0200 -commit 4405250d93a2ad6eb3940c4bc4fe8ea32bd52f9e -Author: Martin Sustrik -Date: Sat Feb 13 15:30:03 2010 +0100 + Merge branch 'master' of git@github.com:sustrik/zeromq2 - Multi-hop REQ/REP, part IX., pass the peer identity as far as socket_base_t +commit 35e82b460549e227f6c3409be32d2c657955628c +Author: Martin Sustrik +Date: Tue Sep 15 09:45:32 2009 +0200 -commit f5ce81f2893ec0707c2f4346740878e68b51e13a -Author: Martin Sustrik -Date: Sat Feb 13 14:07:30 2010 +0100 + forwarder renamed to zmq_forwarder - Multi-hop REQ/REP, part VIII., new blob_t type used for holding identity + configure.in | 2 +- + devices/Makefile.am | 4 +- + devices/forwarder/Makefile.am | 9 -- + devices/forwarder/forwarder.cpp | 122 ------------------------------- + devices/zmq_forwarder/Makefile.am | 9 ++ + devices/zmq_forwarder/zmq_forwarder.cpp | 122 +++++++++++++++++++++++++++++++ + 6 files changed, 134 insertions(+), 134 deletions(-) -commit cdc2efe9b5f0d1f45065b1c32e5eabd7e9f78a12 -Author: Martin Sustrik -Date: Sat Feb 13 13:07:33 2010 +0100 +commit 364281343ce0fd03b25bc6b1b451ee7ba8db436b +Merge: bdf22e9 f7ad4a2 +Author: malosek +Date: Tue Sep 15 09:44:44 2009 +0200 - Multi-hop REQ/REP, part VII., identity-related algorithms rewritten + Merge branch 'master' of git@github.com:sustrik/zeromq2 -commit 923eacd28a725a6b32de588fe7a54dbe252d84aa -Author: Martin Sustrik -Date: Sat Feb 13 09:09:40 2010 +0100 +commit bdf22e9c2fe82366283f4edc02fd59c37fdb2c4b +Author: malosek +Date: Tue Sep 15 09:43:42 2009 +0200 - Multi-hop REQ/REP, part VI., session 'name' renamed to 'peer_identity' + deleted useles iostream include from socket_base.cpp -commit 2e78e48503375a415d95ee8df80df9c065172abc -Author: Martin Sustrik -Date: Fri Feb 12 20:49:00 2010 +0100 + src/socket_base.cpp | 6 ++---- + 1 files changed, 2 insertions(+), 4 deletions(-) - Multi-hop REQ/REP, part V., peer identity is passed from init object to session +commit f7ad4a203ad184d97002111f4ffb8bfe6a8f7c01 +Author: Martin Sustrik +Date: Mon Sep 14 17:04:57 2009 +0200 -commit d8430f4b9a43bf8c99854298edc9f1bc35c0e8ec -Author: Martin Sustrik -Date: Fri Feb 12 20:03:02 2010 +0100 + forwarder device compilable on windows - Multi-hop REQ/REP, part IV., add command deallocation mechanism + foreign/xmlParser/xmlParser.cpp | 12 +++- + msvc/forwarder/forwarder.vcproj | 174 +++++++++++++++++++++++++++++++++++++++ + msvc/msvc.sln | 9 ++ + python/pyzmq.cpp | 3 - + ruby/rbzmq.cpp | 3 +- + 5 files changed, 196 insertions(+), 5 deletions(-) -commit 313b5dfadd8753b341197cc109bce40e08856cf6 -Author: Martin Sustrik -Date: Fri Feb 12 19:42:35 2010 +0100 +commit 6cfd175e31eec44d215bbc237f2f1d94bfeac06d +Author: Martin Sustrik +Date: Mon Sep 14 16:45:53 2009 +0200 - Multi-hop REQ/REP, part III., change 'type' in options to simple 'traceroute' flag + forwarder device added -commit 96e0442332fcc680ddafdcaa8fcbdc6acd992c76 -Merge: 36a5763 dc8f4b1 -Author: Martin Sustrik -Date: Fri Feb 12 15:58:22 2010 +0100 + Makefile.am | 4 +- + configure.in | 39 +++++++++--- + devices/Makefile.am | 6 ++ + devices/forwarder/Makefile.am | 9 +++ + devices/forwarder/forwarder.cpp | 122 +++++++++++++++++++++++++++++++++++++++ + 5 files changed, 168 insertions(+), 12 deletions(-) - Merge branch 'master' of git@github.com:sustrik/zeromq2 +commit e2900ce0a1b11ec212aeaf42bbefb26a54697c25 +Author: Martin Sustrik +Date: Mon Sep 14 14:30:15 2009 +0200 -commit 36a576370ccfed3c104850b5b95a6ed3870edbea -Author: Martin Sustrik -Date: Fri Feb 12 15:57:54 2010 +0100 + xmlParser added - Multi-hop REQ/REP, part I., tracerouting switched on on XREP socket + foreign/xmlParser/xmlParser.cpp | 2888 +++++++++++++++++++++++++++++++++++++++ + foreign/xmlParser/xmlParser.hpp | 762 +++++++++++ + 2 files changed, 3650 insertions(+), 0 deletions(-) -commit dc8f4b1b761103784b422b7604bc8f36d429d3f4 -Author: Martin Hurton -Date: Fri Feb 12 15:08:57 2010 +0100 +commit 2bc9419ced21151fe90c530758dc85b7024fdb70 +Author: Martin Sustrik +Date: Mon Sep 14 13:54:30 2009 +0200 - Fix memory leak in bind() + ZMQII-10: Make connections interrupted during the init phase be closed silently -commit 7b4cf2a4d040057f6f378cac2cd125513a859c1b -Author: Martin Sustrik -Date: Fri Feb 12 13:33:50 2010 +0100 + src/zmq_decoder.cpp | 13 +++++++++++-- + src/zmq_listener_init.cpp | 7 +++++-- + 2 files changed, 16 insertions(+), 4 deletions(-) - Multi-hop REQ/REP, part I., socket type is known to all associated objects +commit 37cacc5700eaaaddbe2df6e3affeca4a335b023a +Author: Martin Sustrik +Date: Mon Sep 14 12:28:13 2009 +0200 -commit cd7300fd4f25754f844b17a77685ec837ebecbbb -Author: Martin Hurton -Date: Fri Feb 12 12:12:49 2010 +0100 + ZMQII-1: Win32 - failure on shutdown - Resolve command starvation in recv() + java/Socket.cpp | 2 ++ + msvc/libzmq/libzmq.vcproj | 4 ++++ + src/select.cpp | 4 ++-- + src/socket_base.cpp | 2 +- + 4 files changed, 9 insertions(+), 3 deletions(-) -commit 7f7ac843d58b3d8a77f681fa4c35bd21726b6f31 -Author: Martin Lucina -Date: Thu Feb 11 17:51:47 2010 +0100 +commit c806aabb2d3e6b1ba9e3f61319f23d45c7f9a007 +Author: Martin Sustrik +Date: Mon Sep 14 11:25:57 2009 +0200 - Next 0MQ release will be 2.0.6 - - As decided on the mailing list, there have been five 2.x releases to - date, so the upcoming release will be numbered 2.0.6. + java binding sets socket options using setsockopt function -commit de41c9da31246314bb2b0c55dfe3b2884d48df3b -Merge: 30b967e 92d0147 -Author: Martin Lucina -Date: Thu Feb 11 17:51:08 2010 +0100 + c/zmq.h | 19 ++++---- + java/Socket.cpp | 114 +++++++++++++++++++--------------------------- + java/org/zmq/Socket.java | 58 ++++++----------------- + src/options.cpp | 5 +- + src/options.hpp | 1 - + src/socket_base.cpp | 16 ++----- + 6 files changed, 77 insertions(+), 136 deletions(-) - Merge branch 'master' of github.com:sustrik/zeromq2 +commit 36707529a7d82b164b59d42fe0d5d8a35c3dd279 +Author: Martin Sustrik +Date: Mon Sep 14 09:40:35 2009 +0200 -commit 30b967e2a439ce76b1141d34fa3c8ee9f87a88a8 -Author: Martin Lucina -Date: Thu Feb 11 17:49:40 2010 +0100 + minor merge problem corrected - Integrate version numbering into autoconf - - configure.in is now the master source for the package version number, - this propagates to src/platform.hpp (for zmq_version) and doc/Makefile.am - (for documentation generation) automagically. + src/pub.cpp | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) -commit 92d0147b20f77cad5d20e257aec502f628e7889e -Author: Martin Sustrik -Date: Thu Feb 11 16:50:40 2010 +0100 +commit 89b1f2782ca6a1db9c68b7d642b5a41cc4d56414 +Merge: 47350ad 1a4d6f9 +Author: Martin Sustrik +Date: Fri Sep 11 18:18:25 2009 +0200 - python binding build with 2.4 version of python fixed + Merge branch 'master' of git@github.com:sustrik/zeromq2 -commit 432fbd796bb4905fb19ceee802009b17e88e9256 -Author: Martin Sustrik -Date: Thu Feb 11 10:43:59 2010 +0100 +commit 47350adcb6ea48512d732bc323eb1835a5ac9908 +Author: Martin Sustrik +Date: Fri Sep 11 18:16:47 2009 +0200 - ZMQII-72: Add zmq_version function (documentation) + separate class for PUB-style socket added -commit bd9213e71222df66634d59581264ffe67210222c -Author: Martin Sustrik -Date: Thu Feb 11 10:29:33 2010 +0100 + c/zmq.h | 6 +++--- + src/Makefile.am | 2 ++ + src/app_thread.cpp | 5 ++++- + src/pub.cpp | 39 +++++++++++++++++++++++++++++++++++++++ + src/pub.hpp | 41 +++++++++++++++++++++++++++++++++++++++++ + src/sub.cpp | 12 ++++++++++++ + src/sub.hpp | 2 ++ + 7 files changed, 103 insertions(+), 4 deletions(-) - ZMQII-72: Add zmq_version function +commit 1a4d6f91194c52795808baa07dcd61a20ff599be +Author: malosek +Date: Fri Sep 11 17:58:37 2009 +0200 + + added OpenPGM sender - ZMQ_PUB + + Makefile.am | 4 +- + c/zmq.h | 2 + + src/Makefile.am | 6 +- + src/app_thread.cpp | 2 +- + src/config.hpp | 4 +- + src/options.cpp | 4 +- + src/options.hpp | 6 + + src/pgm_sender.cpp | 224 +++++++++++++++ + src/pgm_sender.hpp | 109 ++++++++ + src/pgm_socket.cpp | 754 +++++++++++++++++++++++++++++++++++++++++++++++++++ + src/pgm_socket.hpp | 153 +++++++++++ + src/socket_base.cpp | 105 +++++++- + src/socket_base.hpp | 5 +- + src/sub.cpp | 2 +- + 14 files changed, 1360 insertions(+), 20 deletions(-) + +commit e940878b3f8ff332df534c4df463cfdf085cc787 +Author: Martin Sustrik +Date: Fri Sep 11 16:59:47 2009 +0200 + + build on win32 fixed + + msvc/libzmq/libzmq.vcproj | 8 ++++++++ + src/socket_base.cpp | 2 +- + src/tcp_connecter.cpp | 2 +- + 3 files changed, 10 insertions(+), 2 deletions(-) + +commit 7be7962f9802b48e66663416097eb76edfa83e1e +Author: Martin Sustrik +Date: Fri Sep 11 16:23:16 2009 +0200 -commit 7cab423fc20e46f54fa561e51b566cc8a63ca5c1 -Merge: bc9b7f1 354efc5 -Author: Martin Hurton -Date: Wed Feb 10 17:14:21 2010 +0100 + prefix-style message filtering added - Merge branch 'master' of github.com:sustrik/zeromq2 + src/sub.cpp | 61 +++++++++++++++++++++++++++++++++++++++++++++------------- + src/sub.hpp | 10 +++++++- + 2 files changed, 55 insertions(+), 16 deletions(-) -commit bc9b7f1f54b9dcf754021f1f7eb766d71cc97f29 -Author: Martin Hurton -Date: Wed Feb 10 12:48:04 2010 +0100 +commit 42ad2aa02d3b14eaa3c36c3f1a5a5789546ba411 +Author: Martin Sustrik +Date: Fri Sep 11 15:51:35 2009 +0200 - lb: bugfix - never skip active pipe when sending msg + ZMQII-7: Pipe detach fails on shutdown -commit 6b3c1798e7554dd1ce63b2ad137e327f3f32fcf1 -Author: Martin Hurton -Date: Wed Feb 10 12:47:34 2010 +0100 + src/socket_base.cpp | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) - fq: bugfix - don't read msg from inactive pipe +commit 29c5930d0b9a4a1df3b90819bdfbfff6a66fedd0 +Author: Martin Sustrik +Date: Fri Sep 11 14:17:57 2009 +0200 -commit 354efc513fdb4096f8830e6c2e3e8f1311303e61 -Author: Martin Lucina -Date: Wed Feb 10 16:18:46 2010 +0100 + asserts for invalid indexes in pipe reader & writer added - Convert documentation to AsciiDoc + src/pipe.cpp | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) -commit 2d44bf3644c8e12aa86c48e9da4df19bfa9ea703 -Author: Martin Sustrik -Date: Wed Feb 10 11:04:28 2010 +0100 +commit e0d1294c4bae51a2bc83a09225e89dddc9b6dcf4 +Merge: 5daa0de a91b449 +Author: Martin Sustrik +Date: Fri Sep 11 13:20:57 2009 +0200 - ZMQII-69: Make 0MQ build on HP-UX + Merge branch 'master' of git@github.com:sustrik/zeromq2 -commit 8c25bab31d63bf5e2c4eec6d9084cf7d1c1e5dd3 -Author: Martin Sustrik -Date: Wed Feb 10 10:42:54 2010 +0100 +commit 5daa0dec0f473c84aab6b12cdc5541335e74f07f +Author: Martin Sustrik +Date: Fri Sep 11 13:20:24 2009 +0200 - ZMQII-70: zmq_poll on win32 fails with EINVAL + ZMQII-5: Only one consumer in a process gets the message -commit 8f86cac2f6721eec4b600383eb113f7fedf41ce1 -Author: Martin Sustrik -Date: Tue Feb 9 19:23:15 2010 +0100 + src/session.cpp | 23 ++++++++++++++--------- + src/zmq_connecter_init.cpp | 4 +++- + src/zmq_engine.cpp | 2 ++ + src/zmq_listener_init.cpp | 4 +++- + 4 files changed, 22 insertions(+), 11 deletions(-) - ZMQII-69: Make 0MQ build on HP-UX +commit a91b44977201e4b3891c70da0472a332f60a39fc +Author: malosek +Date: Fri Sep 11 11:21:40 2009 +0200 -commit fd673ae231119682a242967551cfa034fa32791a -Author: Martin Sustrik -Date: Tue Feb 9 15:21:26 2010 +0100 + Revert "link libzmq with glib when congifured --with-pgm" + + This reverts commit 88695aaee607e6f4db1f4fd052e2596653fb18b2. + + c/zmq.h | 2 - + perf/cpp/remote_thr.cpp | 13 +------- + src/Makefile.am | 6 +--- + src/config.hpp | 4 +-- + src/options.cpp | 4 +-- + src/options.hpp | 6 ---- + src/socket_base.cpp | 74 +++++++--------------------------------------- + 7 files changed, 16 insertions(+), 93 deletions(-) + +commit 88695aaee607e6f4db1f4fd052e2596653fb18b2 +Author: malosek +Date: Fri Sep 11 11:13:15 2009 +0200 - couple of typos in the documentation fixed + link libzmq with glib when congifured --with-pgm -commit 6b2ca4e158c3394f5aba8f0f01ff1734423683f9 -Author: Martin Sustrik -Date: Tue Feb 9 15:15:44 2010 +0100 + c/zmq.h | 2 + + perf/cpp/remote_thr.cpp | 13 +++++++- + src/Makefile.am | 6 +++- + src/config.hpp | 4 ++- + src/options.cpp | 4 ++- + src/options.hpp | 6 ++++ + src/socket_base.cpp | 74 +++++++++++++++++++++++++++++++++++++++------- + 7 files changed, 93 insertions(+), 16 deletions(-) - ZMQII-67: Build checks for python even if it's not needed +commit f824b8a067c60b32260c56020742d6428ed3bb98 +Author: Martin Sustrik +Date: Thu Sep 10 16:59:22 2009 +0200 -commit 4c870ede7fdecaf1f952b01096e09cc03a7c7aef -Author: Martin Sustrik -Date: Tue Feb 9 09:08:37 2010 +0100 + classify error from async connect as network related or 0MQ bugs - ZMQII-57: Shutdown OpenPGM library + src/tcp_connecter.cpp | 10 ++++++++++ + 1 files changed, 10 insertions(+), 0 deletions(-) -commit 396e41a2a4b31f91ef4c4458d53be9e3a9b4bb92 -Author: Martin Sustrik -Date: Mon Feb 8 18:55:51 2010 +0100 +commit f674c9269e04546da22e45ef6fff9303441680ea +Author: Martin Sustrik +Date: Thu Sep 10 16:32:06 2009 +0200 - minor change to README + ZMQII-2: SIGSEGV in zmq_connecter_init_t::read -commit 01533a5aefb49e23be95cab9cfa5ca32cd438d25 -Author: Martin Sustrik -Date: Mon Feb 8 18:37:48 2010 +0100 + src/zmq_decoder.cpp | 2 +- + src/zmq_encoder.cpp | 2 +- + src/zmq_engine.cpp | 2 ++ + 3 files changed, 4 insertions(+), 2 deletions(-) - ZMQII-65: Two OS threads are mapped to the same app_thread_t +commit 93e70ee583489034c9f3b92fb87b374707afd5d5 +Author: Martin Sustrik +Date: Thu Sep 10 15:20:54 2009 +0200 -commit 7593d815ac57f2877480c5056b2f1aa65460f5c3 -Author: Martin Sustrik -Date: Mon Feb 8 10:34:12 2010 +0100 + throughput tests use P2P sockets consistently - ZMQII-64: First message stuck in 0MQ in case of immediate disconnection + perf/cpp/remote_thr.cpp | 2 +- + perf/java/local_thr.java | 2 +- + perf/java/remote_thr.java | 2 +- + perf/ruby/local_thr.rb | 2 +- + perf/ruby/remote_thr.rb | 2 +- + 5 files changed, 5 insertions(+), 5 deletions(-) -commit 427bc3276aa236c8691fee7e634717d0579a3055 -Author: Martin Sustrik -Date: Sun Feb 7 16:24:14 2010 +0100 +commit 95944551be93665fe4dcadbe00168da553b7d82f +Merge: 5acef9f b3f32e2 +Author: malosek +Date: Thu Sep 10 12:04:26 2009 +0200 - minor code cleanup + Merge branch 'master' of git@github.com:sustrik/zeromq2 -commit b0ee6b0c8ab8a5052a5e111dda24308dd00c0d62 -Author: Martin Sustrik -Date: Sun Feb 7 11:31:05 2010 +0100 +commit b3f32e219ec15a582b6fd03b155e0861443690f6 +Author: Martin Sustrik +Date: Thu Sep 10 12:00:47 2009 +0200 - ZMQII-62: zmq_close after sending message via P2P socket fails + ZMQII-3: cheap and nasty implementation of message filtering -commit bbaa494fb569d94c356ddecca7dbf249ffc217cf -Author: Martin Sustrik -Date: Sun Feb 7 09:14:43 2010 +0100 + c/zmq.h | 2 + + src/Makefile.am | 2 + + src/app_thread.cpp | 18 ++++++++++- + src/socket_base.cpp | 5 +++ + src/socket_base.hpp | 2 +- + src/sub.cpp | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++ + src/sub.hpp | 51 +++++++++++++++++++++++++++++++ + 7 files changed, 159 insertions(+), 3 deletions(-) - ZMQII-59: TCP server crashes sometimes when message is send and socket is closed immediately +commit 5acef9fc96280df934176b02de724eb904e4bba3 +Author: malosek +Date: Thu Sep 10 11:21:05 2009 +0200 + + added --with-pgm option, libpgm-1.2.14 build within 0mq build system + + Makefile.am | 3 + + configure.in | 119 +++++++++++++++++++++++++++++++- + foreign/openpgm/libpgm-1.2.14.tar.bz2 | Bin 0 -> 280029 bytes + src/Makefile.am | 64 +++++++++++++++++- + src/platform.hpp.in | 3 + + 5 files changed, 183 insertions(+), 6 deletions(-) -commit d21bf21a362cf6d20d8d060bb91ee2fdca1dd88b -Author: Martin Sustrik -Date: Fri Feb 5 13:00:49 2010 +0100 +commit d81d3412520c9fed36f39462840c7d35815f4a87 +Merge: 1864832 4cc923b +Author: Martin Sustrik +Date: Wed Sep 9 12:14:04 2009 +0200 - allow async connect on Win32 return WSAECONNABORTED + Merge branch 'master' of github.com:sustrik/zeromq2 -commit 0888fcd06f1c66ec3dfab744bfc24d1486737c7e -Author: Martin Sustrik -Date: Thu Feb 4 23:58:41 2010 +0100 +commit 1864832adaa173b7c85d4321b8ff8c396ce6b9af +Author: Martin Sustrik +Date: Wed Sep 9 12:13:19 2009 +0200 - yqueue_t uses malloc/free instead of new/delete + building zmq.jar on win32 fixed -commit 30076c4f7a5b0c70ef0c5a6574cac531bc996f5e -Author: Martin Sustrik -Date: Thu Feb 4 17:46:47 2010 +0100 + msvc/java/java.vcproj | 8 ++++---- + 1 files changed, 4 insertions(+), 4 deletions(-) - ZMQII-58: TCP connecting asserts on Win32 (same fix for POSIX) +commit 4cc923b0252a0f1f0ee52508b7a3108e8e3c0950 +Author: malosek +Date: Wed Sep 9 11:19:05 2009 +0200 -commit c46b7ed1978ead346022577ff015b092f3257c84 -Author: unknown -Date: Thu Feb 4 17:40:04 2010 +0100 + Stop configure, when could not link with libuuid - ZMQII-58: TCP connecting asserts on Win32 + configure.in | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) -commit b86483acbe109566f4e0fb43266fdd98e7648d55 -Author: Martin Sustrik -Date: Thu Feb 4 14:50:59 2010 +0100 +commit 65b8b2d2c78867ee2671f995f5f7c805abd00df2 +Merge: 305b81d d743d97 +Author: Martin Sustrik +Date: Wed Sep 9 11:08:39 2009 +0200 - ZMQII-50: Document Ruby Bindings + Merge branch 'master' of github.com:sustrik/zeromq2 -commit bc90231227a84f4b7dffe432a8efa70b75c19031 -Author: Martin Sustrik -Date: Thu Feb 4 09:39:57 2010 +0100 +commit 305b81dbdf63ab1b66733a330b2c64a980712b8b +Author: Martin Sustrik +Date: Wed Sep 9 11:07:48 2009 +0200 - contrain interface name resolving in OpenPGM to IPv4 interfaces + higher precision time measurement in python perf tests -commit 0f697fe2b460dfbec7481f6d535b95f6b4cc2eac -Author: Martin Sustrik -Date: Wed Feb 3 20:04:44 2010 +0100 + perf/python/local_thr.py | 8 ++++---- + perf/python/remote_lat.py | 11 ++++++----- + 2 files changed, 10 insertions(+), 9 deletions(-) - ZMQII-56: Avoid allocation of chunk in yqueue.hpp by keeping a spare one +commit d743d97e365b1d430b6c63de2782392a5f8f5305 +Author: malosek +Date: Wed Sep 9 10:37:40 2009 +0200 -commit 72bbc92b70a67fab1dbba6fbd53f574944bdd8e4 -Merge: 6502c16 4172fdd -Author: Martin Lucina -Date: Wed Feb 3 15:54:39 2010 +0100 + Updated AUTHORS, ChangeLog, README and added COPYING.LESSER files - Merge branch 'master' of github.com:sustrik/zeromq2 + AUTHORS | 38 +++++++++ + COPYING.LESSER | 166 ++++++++++++++++++++++++++++++++++++++++ + ChangeLog | 231 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + README | 4 + + 4 files changed, 439 insertions(+), 0 deletions(-) -commit 6502c16a7fd878e61f0672a47e2cdb4d56ab0eb2 -Author: Martin Lucina -Date: Wed Feb 3 15:52:11 2010 +0100 +commit 4d07d7cabe1a865812cf5d95a84557880e3c3096 +Author: Martin Sustrik +Date: Wed Sep 9 10:08:46 2009 +0200 - Update OpenPGM to 2.0.23rc8 + fix of async connect on win32 -commit 4172fdd6970d4b42443442bf6633f9a9bd4c6f2b -Author: unknown -Date: Wed Feb 3 14:55:46 2010 +0100 + src/tcp_connecter.cpp | 4 +++- + src/zmq_connecter.cpp | 2 +- + 2 files changed, 4 insertions(+), 2 deletions(-) - Win32 build fixed +commit c99f39abc669084fd3a94675ee98e235448ad5a4 +Merge: 37d8371 cb78991 +Author: Martin Sustrik +Date: Wed Sep 9 09:07:11 2009 +0200 -commit 7c25feb51bdbc9563cc65ff4829f761ef7231483 -Author: Martin Sustrik -Date: Wed Feb 3 13:06:34 2010 +0100 + Merge branch 'master' of git@github.com:sustrik/zeromq2 - ZMQII-55: At most one PGM/UDP transport can be opened +commit 37d8371967308ab1e541cf58b91e368b3e0b526c +Author: Martin Sustrik +Date: Wed Sep 9 09:03:30 2009 +0200 -commit 9cee8f9c3e22f1e880988271ab1c31c92827efde -Author: Martin Sustrik -Date: Tue Feb 2 15:11:25 2010 +0100 + async connect bug fixed - problem with PGM messages larger than 1 MTU fixed + src/zmq_connecter.cpp | 19 ++++++------------- + 1 files changed, 6 insertions(+), 13 deletions(-) -commit 27e47bdcc0358b84a57378e19359556e2dbcb50e -Author: Martin Sustrik -Date: Tue Feb 2 13:29:31 2010 +0100 +commit cb78991f8e20fa35d99fa209be659c0aed59de47 +Merge: 734a62c d3fb9f9 +Author: malosek +Date: Tue Sep 8 16:55:28 2009 +0200 - ZMQII-54: Affinity isn't honoured + Merge branch 'master' of git@github.com:sustrik/zeromq2 -commit 5d16070ffcd426e81ea27520f6847d68e5e5af80 -Author: Martin Sustrik -Date: Tue Feb 2 08:46:35 2010 +0100 +commit 734a62c12d2e2fb009ccf97d7d188060a474cc17 +Author: malosek +Date: Tue Sep 8 16:55:03 2009 +0200 - ZMQII-53: Memory leak when using invalid socket type + Sparc solaris port -commit a1e70f29575994798df1d57314193782f6d9cdcb -Author: Martin Sustrik -Date: Tue Feb 2 08:27:38 2010 +0100 + configure.in | 1 + + src/devpoll.cpp | 6 ++++-- + src/object.hpp | 2 +- + src/tcp_socket.cpp | 3 ++- + src/zmq.cpp | 3 ++- + 5 files changed, 10 insertions(+), 5 deletions(-) - ZMQII-52: Asserion during reconnection +commit d3fb9f90af73a46e02b7e8780a8db95a31360d56 +Author: Martin Sustrik +Date: Tue Sep 8 16:16:01 2009 +0200 -commit 528610ff55ef283b99cbcda007200a6b4092be59 -Author: Martin Sustrik -Date: Tue Feb 2 08:14:23 2010 +0100 + missing java MSVC project added - typo in zmq_socket(3) man page fixed + msvc/java/java.vcproj | 244 +++++++++++++++++++++++++++++++++++++++++++++++++ + 1 files changed, 244 insertions(+), 0 deletions(-) -commit 00b9a5dedeb47efd78aea59b579a4b5befba743a -Author: Martin Sustrik -Date: Sun Jan 31 20:14:30 2010 +0100 +commit dadfd243649fbde768a24c677fa952f90d00589d +Merge: ef34c94 844b590 +Author: Martin Sustrik +Date: Tue Sep 8 15:11:19 2009 +0200 - ZMQII-51: Implement O(1) topic matching + Merge branch 'master' of github.com:sustrik/zeromq2 -commit 70ea8e9d4b88a1ecb1c076eccc2e9bd872c2230c -Author: Martin Sustrik -Date: Sat Jan 30 13:40:50 2010 +0100 +commit ef34c94c3a9cbda87b0a4512ec56415b023aff0b +Author: Martin Sustrik +Date: Tue Sep 8 15:10:10 2009 +0200 - ZMQII-48: Implement P2P socket type + win build for python -commit eb47c1b064ec2f433d3889b7fd4a297a965166bb -Merge: 2784f90 4d5e643 -Author: Martin Sustrik -Date: Fri Jan 29 08:39:36 2010 +0100 + msvc/msvc.sln | 8 ++ + msvc/python/python.vcproj | 176 +++++++++++++++++++++++++++++++++++++++++++++ + python/pyzmq.cpp | 9 +++ + 3 files changed, 193 insertions(+), 0 deletions(-) - Merge branch 'master' of git@github.com:sustrik/zeromq2 +commit 844b590b5e348d8513ed574f6548cc0be41574af +Author: malosek +Date: Tue Sep 8 15:06:08 2009 +0200 -commit 2784f90d595a253e071244d440f78e667f6a957c -Author: Martin Sustrik -Date: Fri Jan 29 08:39:19 2010 +0100 + added libzmq.pc.in file - moving debian directory to the root of the project + configure.in | 2 +- + src/Makefile.am | 2 ++ + src/libzmq.pc.in | 10 ++++++++++ + 3 files changed, 13 insertions(+), 1 deletions(-) -commit 4d5e643299e22b53120173319490957b98c0199e +commit b3fc14522574ccad233bee02ea135d8a93fb2441 +Merge: 2a4a10c 3069b6b Author: malosek -Date: Thu Jan 28 19:19:25 2010 +0100 +Date: Tue Sep 8 14:54:52 2009 +0200 - patching libtool script moved at the end of configure + Merge branch 'master' of git@github.com:sustrik/zeromq2 -commit 849095a042b8326f5789baa04d1dbb7ca36d4632 -Merge: f17f0fa e5ff617 +commit 2a4a10c8be92c5ce6314378fc4de163888075279 +Author: malosek +Date: Tue Sep 8 14:54:04 2009 +0200 + + build system tuning + + Makefile.am | 8 ++++++-- + configure.in | 37 +++++++++++++++++++++++++++++++++---- + java/Makefile.am | 6 +++--- + perf/Makefile.am | 25 +++++++++++++++++++++++-- + perf/java/Makefile.am | 5 +++++ + perf/python/Makefile.am | 6 +----- + perf/ruby/Makefile.am | 1 + + python/pyzmq.cpp | 2 +- + ruby/rbzmq.cpp | 3 ++- + src/Makefile.am | 2 +- + 10 files changed, 76 insertions(+), 19 deletions(-) + +commit 3069b6bd54486346f7bfcce58d6a5e34d129965c +Author: Martin Sustrik +Date: Tue Sep 8 13:55:13 2009 +0200 + + win port of java binding + java perf tests + + java/Context.cpp | 7 ++ + java/Message.cpp | 138 --------------------------------- + java/Socket.cpp | 7 ++ + java/org/zmq/Socket.java | 2 +- + msvc/j_local_lat/j_local_lat.vcproj | 78 ++++++++++++++++++ + msvc/j_local_thr/j_local_thr.vcproj | 78 ++++++++++++++++++ + msvc/j_remote_lat/j_remote_lat.vcproj | 78 ++++++++++++++++++ + msvc/j_remote_thr/j_remote_thr.vcproj | 78 ++++++++++++++++++ + msvc/msvc.sln | 45 +++++++++++ + perf/c/local_thr.c | 3 +- + 10 files changed, 374 insertions(+), 140 deletions(-) + +commit ec6822a477b89ac77afc90425bf36c4829dbef3d +Author: unknown +Date: Tue Sep 8 11:30:49 2009 +0200 + + win port for c and cpp perf tests + + c/zmq.h | 8 +- + cpp/zmq.hpp | 7 + + msvc/c_local_lat/c_local_lat.vcproj | 176 +++++++++++++++++++++++++++++ + msvc/c_local_thr/c_local_thr.vcproj | 176 +++++++++++++++++++++++++++++ + msvc/c_remote_lat/c_remote_lat.vcproj | 176 +++++++++++++++++++++++++++++ + msvc/c_remote_thr/c_remote_thr.vcproj | 176 +++++++++++++++++++++++++++++ + msvc/cpp_local_lat/cpp_local_lat.vcproj | 176 +++++++++++++++++++++++++++++ + msvc/cpp_local_thr/cpp_local_thr.vcproj | 176 +++++++++++++++++++++++++++++ + msvc/cpp_remote_lat/cpp_remote_lat.vcproj | 176 +++++++++++++++++++++++++++++ + msvc/cpp_remote_thr/cpp_remote_thr.vcproj | 176 +++++++++++++++++++++++++++++ + msvc/libzmq/libzmq.vcproj | 10 ++- + msvc/msvc.sln | 72 ++++++++++++ + perf/c/local_lat.c | 3 +- + perf/c/local_thr.c | 24 +--- + perf/c/remote_lat.c | 19 +--- + perf/c/remote_thr.c | 3 +- + perf/cpp/local_lat.cpp | 3 +- + perf/cpp/local_thr.cpp | 20 +--- + perf/cpp/remote_lat.cpp | 16 +-- + perf/cpp/remote_thr.cpp | 3 +- + src/fd_signaler.cpp | 2 +- + src/tcp_connecter.cpp | 18 +++- + src/tcp_listener.cpp | 89 ++++++++++++++- + src/tcp_socket.cpp | 5 + + src/zmq.cpp | 67 +++++++++++- + 25 files changed, 1702 insertions(+), 75 deletions(-) + +commit b71c3005e68d02f800ff09bcacece79d167bff75 +Author: malosek +Date: Mon Sep 7 17:06:47 2009 +0200 + + include directory split into c and cpp dirs, added --with-c and --with-cpp configure options + + Makefile.am | 2 - + autogen.sh | 8 ++- + c/zmq.h | 206 +++++++++++++++++++++++++++++++++++++ + configure.in | 45 ++++++--- + cpp/zmq.hpp | 276 ++++++++++++++++++++++++++++++++++++++++++++++++++ + include/zmq.h | 206 ------------------------------------- + include/zmq.hpp | 276 -------------------------------------------------- + perf/c/Makefile.am | 4 +- + perf/cpp/Makefile.am | 4 +- + src/Makefile.am | 15 ++- + src/app_thread.cpp | 2 +- + src/dispatcher.cpp | 2 +- + src/i_inout.hpp | 2 +- + src/io_thread.cpp | 2 +- + src/msg_content.hpp | 2 +- + src/pipe.cpp | 2 +- + src/pipe.hpp | 2 +- + src/socket_base.cpp | 2 +- + src/zmq.cpp | 2 +- + src/zmq_decoder.hpp | 2 +- + src/zmq_encoder.hpp | 2 +- + 21 files changed, 547 insertions(+), 517 deletions(-) + +commit f895426c1885729f4a4a20b1eb543a92915aed85 +Author: unknown +Date: Mon Sep 7 15:41:43 2009 +0200 + + initial changes for win port + + include/zmq.h | 5 +- + msvc/libzmq/libzmq.vcproj | 520 +++++++++++++++++++++++++++++++++++++++++++++ + msvc/msvc.sln | 20 ++ + msvc/platform.hpp | 59 +++++ + src/app_thread.cpp | 2 + + src/fd_signaler.cpp | 1 + + src/options.hpp | 2 + + src/pipe.cpp | 4 +- + src/tcp_connecter.cpp | 75 +++++++- + src/tcp_listener.cpp | 1 - + src/tcp_socket.cpp | 74 ++++++- + src/uuid.cpp | 13 +- + src/uuid.hpp | 11 +- + src/zmq_connecter.cpp | 2 +- + 14 files changed, 764 insertions(+), 25 deletions(-) + +commit 87ccbb9fae0f9234f82f9a9ec6a215f5e73209d3 +Merge: 67253f3 d62c742 Author: Martin Sustrik -Date: Thu Jan 28 12:45:37 2010 +0100 +Date: Mon Sep 7 11:10:58 2009 +0200 Merge branch 'master' of git@github.com:sustrik/zeromq2 -commit f17f0fa67bc5a373f3fc7964aaad4f08aa1dc761 -Author: Martin Sustrik -Date: Thu Jan 28 12:45:12 2010 +0100 +commit d62c74232a4c1edd38004933afd0c7dc119bd98b +Merge: 11a6cb9 63b56d7 +Author: Martin Sustrik +Date: Mon Sep 7 11:01:42 2009 +0200 - CL binding ripped out of the tree + Merge branch 'master' of git://github.com/sustrik/zeromq2 -commit e5ff617c4e061d29c9a019efa2292fd09c87a71e -Author: malosek -Date: Wed Jan 27 20:58:40 2010 +0100 +commit 11a6cb925f7ff3d17f48edccc886839b4d49ef0b +Author: Martin Sustrik +Date: Mon Sep 7 11:00:20 2009 +0200 - fixed OpenPGM compilation on mingw32 + Ruby binding functional -commit 8f57ff4634ae44cd998bc0b864a8987f241e2fce -Author: malosek -Date: Wed Jan 27 20:45:43 2010 +0100 + perf/ruby/local_lat.rb | 66 ++----- + perf/ruby/local_thr.rb | 90 +++------- + perf/ruby/remote_lat.rb | 64 +++---- + perf/ruby/remote_thr.rb | 48 ++---- + ruby/Makefile.am | 2 +- + ruby/rbzmq.cpp | 292 ++++++++++++++++++++++++++++++ + ruby/zmq.cpp | 460 ----------------------------------------------- + 7 files changed, 382 insertions(+), 640 deletions(-) - fixed OpenPGM compilation on mingw32 +commit 67253f3186488db93dee23bd9194419f58f0b1d3 +Author: Martin Sustrik +Date: Sat Sep 5 09:30:12 2009 +0200 + + Java perf tests added + + java/Context.cpp | 15 ++--- + java/Makefile.am | 22 +------ + java/Socket.cpp | 140 +++++++++++++++++++++++--------------------- + java/org/zmq/Context.java | 3 + + java/org/zmq/Message.java | 66 --------------------- + java/org/zmq/Socket.java | 42 +++++++------- + perf/cpp/local_thr.cpp | 2 +- + perf/cpp/remote_lat.cpp | 6 +- + perf/java/local_lat.java | 55 ++++++++++++++++++ + perf/java/local_thr.java | 65 +++++++++++++++++++++ + perf/java/remote_lat.java | 60 +++++++++++++++++++ + perf/java/remote_thr.java | 53 +++++++++++++++++ + 12 files changed, 343 insertions(+), 186 deletions(-) + +commit 63b56d7fb38624c32111f9188d54b6fefb10a0e5 +Author: Martin Sustrik +Date: Fri Sep 4 16:21:39 2009 +0200 -commit 2056c888d2567ab96c3539fd60bfb652e19df335 -Author: malosek -Date: Wed Jan 27 18:29:45 2010 +0100 + python perf tests are included into distribution package - changed version of the master branch back to dev + configure.in | 3 ++- + perf/Makefile.am | 4 ++-- + perf/python/Makefile.am | 5 +++++ + 3 files changed, 9 insertions(+), 3 deletions(-) -commit 0b97e7a4f23f7add763ac6e0fc945c9a342a7d32 -Author: malosek -Date: Wed Jan 27 11:30:22 2010 +0100 +commit 4307baf7bcc71ca91da0175e79cdfbf6cc1ad770 +Author: Martin Sustrik +Date: Fri Sep 4 16:02:41 2009 +0200 + + python binding functional + + perf/c/local_lat.c | 11 +++++++---- + perf/c/local_thr.c | 10 ++++++---- + perf/c/remote_lat.c | 11 +++++++---- + perf/c/remote_thr.c | 11 +++++++---- + perf/cpp/local_lat.cpp | 8 ++++---- + perf/cpp/local_thr.cpp | 8 ++++---- + perf/cpp/remote_lat.cpp | 8 ++++---- + perf/cpp/remote_thr.cpp | 8 ++++---- + perf/python/local_lat.py | 6 +++--- + perf/python/remote_lat.py | 4 ++-- + perf/python/remote_thr.py | 2 +- + src/app_thread.cpp | 4 +--- + src/dispatcher.cpp | 36 +++++++++++++++++++++++++++++++++++- + src/dispatcher.hpp | 25 ++++++++++++++++++++++--- + src/object.cpp | 5 +++++ + src/object.hpp | 1 + + src/session.cpp | 7 ++++++- + src/socket_base.cpp | 12 +++++++++++- + src/zmq.cpp | 3 +-- + 19 files changed, 131 insertions(+), 49 deletions(-) + +commit 450b31c3b263ee6ceea27517a2a969d0c74bcd7e +Author: Martin Sustrik +Date: Fri Sep 4 11:08:13 2009 +0200 - libpgm updated to 2.6.21rc6 + bug in python binding fixed -commit 943125bd12dbf181f4dfce7babddf1af7bcb7e18 + python/pyzmq.cpp | 25 ++++++++----------------- + 1 files changed, 8 insertions(+), 17 deletions(-) + +commit 103cbee6a509e55ff5def82eb5ec3ef7feb319a3 Author: Martin Sustrik -Date: Wed Jan 27 08:47:01 2010 +0100 +Date: Fri Sep 4 09:51:42 2009 +0200 - Hard-wired constant on OpenVMS replaced by symbolic constant + couple of bugs fixed -commit aa27034db5d47f4630f464da53f63a0e62c34daa -Author: unknown -Date: Sun Jan 24 08:38:18 2010 +0100 + src/Makefile.am | 6 +++++- + src/tcp_socket.cpp | 2 +- + src/zmq_connecter_init.cpp | 1 - + src/zmq_engine.cpp | 7 ++----- + src/zmq_listener_init.cpp | 3 ++- + 5 files changed, 10 insertions(+), 9 deletions(-) - IPv6 patch - part V. (win32) +commit 4914e5c9d192ac6763e5da6fa28ea503ee769bf0 +Author: Martin Sustrik +Date: Wed Sep 2 16:16:25 2009 +0200 -commit adc5d7693d9279134c0494210b9d2b885e95d950 + O(1) socket removal + + src/app_thread.cpp | 12 ++++++------ + src/socket_base.cpp | 14 +++++++++++++- + src/socket_base.hpp | 7 +++++++ + 3 files changed, 26 insertions(+), 7 deletions(-) + +commit f92de9b2a9ad73fd7cd966e65b5a06b725e779fc Author: Martin Sustrik -Date: Sun Jan 24 08:19:02 2010 +0100 +Date: Wed Sep 2 14:59:53 2009 +0200 - IPv6 patch - part IV. + bug during terminal shutdown fixed -commit fca9a2159a1fb963901d11dc6f734a622baa92d6 -Merge: 079d327 454f43a + perf/c/local_lat.c | 13 +++++++++---- + perf/c/local_thr.c | 5 ++++- + perf/c/remote_lat.c | 15 ++++++++++----- + perf/c/remote_thr.c | 3 +++ + perf/cpp/local_thr.cpp | 2 +- + perf/cpp/remote_lat.cpp | 2 +- + src/session.cpp | 18 +++++++++++++----- + 7 files changed, 41 insertions(+), 17 deletions(-) + +commit 702fdbb5dd6a83e7f656e8d1190e695ebb636765 Author: Martin Sustrik -Date: Sat Jan 23 11:14:53 2010 +0100 +Date: Wed Sep 2 11:58:39 2009 +0200 - Merge branch 'master' of git@github.com:sustrik/zeromq2 + messages that may have been received in the init phase are flushed immediately after engine is plugged in -commit 079d327670d9137d93f4dbe9eb6cfa6d4165b903 + src/zmq_engine.cpp | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) + +commit 75a5a8732cd5be1bb3bff608e352bf4ac624ffd4 Author: Martin Sustrik -Date: Sat Jan 23 11:14:30 2010 +0100 +Date: Wed Sep 2 10:59:31 2009 +0200 - IPv6 patch - part III. + --disable-shared & C perf tests: a better way -commit 454f43a45b2d453b53984387e8a8a50cad568f41 -Author: unknown -Date: Sat Jan 23 09:08:31 2010 +0100 + configure.in | 1 + + perf/c/Makefile.am | 8 ++++---- + src/platform.hpp.in | 3 +++ + 3 files changed, 8 insertions(+), 4 deletions(-) - IP address resolving on Win32 fixed +commit 947b46319314dfab0e545282e9ccfc708d6f57e3 +Author: Martin Sustrik +Date: Wed Sep 2 10:46:10 2009 +0200 -commit df4548aa76617314cb1a47e6d408cc663640cd70 -Merge: 2634934 d762e1a + building C perf tests with --disable-shared fixed + + perf/c/Makefile.am | 8 ++++---- + 1 files changed, 4 insertions(+), 4 deletions(-) + +commit 5e08a89d1c0edf44e15f262dd0f27a1c03bcd699 +Merge: 6a5120b 1f06d99 Author: Martin Sustrik -Date: Sat Jan 23 08:20:01 2010 +0100 +Date: Wed Sep 2 10:23:01 2009 +0200 Merge branch 'master' of git@github.com:sustrik/zeromq2 -commit 2634934999408124837afceaf577b75ed58116d7 +commit 6a5120b1f1c48d19b777f76ac756b00fb624d110 Author: Martin Sustrik -Date: Sat Jan 23 08:19:30 2010 +0100 +Date: Wed Sep 2 10:22:23 2009 +0200 + + python extension & perf tests + + include/zmq.h | 6 +- + perf/c/local_thr.c | 6 +- + perf/cpp/local_thr.cpp | 5 +- + perf/python/local_lat.py | 42 +-- + perf/python/local_thr.py | 44 +-- + perf/python/remote_lat.py | 43 ++- + perf/python/remote_thr.py | 17 +- + python/pyzmq.cpp | 924 ++++++++++++++++----------------------------- + src/i_endpoint.hpp | 2 + + src/session.cpp | 29 +- + src/session.hpp | 13 +- + src/socket_base.cpp | 30 +- + src/socket_base.hpp | 2 + + 13 files changed, 452 insertions(+), 711 deletions(-) + +commit 1f06d99a0f563fdc32e9c00392f9875ba3009593 +Author: Martin Hurton +Date: Mon Aug 31 13:11:46 2009 +0200 + + Add Java binding + + Makefile.am | 8 +- + configure.in | 54 +++++++++- + java/Context.cpp | 92 +++++++++++++++ + java/Makefile.am | 72 ++++++++++++ + java/Message.cpp | 138 ++++++++++++++++++++++ + java/Socket.cpp | 276 +++++++++++++++++++++++++++++++++++++++++++++ + java/org/zmq/Context.java | 47 ++++++++ + java/org/zmq/Message.java | 66 +++++++++++ + java/org/zmq/Socket.java | 141 +++++++++++++++++++++++ + 9 files changed, 891 insertions(+), 3 deletions(-) + +commit 0aacee389fdb553ef9925d0135eefcb501a67726 +Author: Martin Hurton +Date: Mon Aug 31 11:31:32 2009 +0200 - IPv6 patch part 2/2 + POSIX threads don't use errno to report errors + + Fix simple_semaphore to follow POSIX threads convention for reporting + errors. -commit 6aaf095dd259dc42d78cc7bd8c5a7f867eb23166 -Author: Martin Sustrik -Date: Fri Jan 22 16:32:48 2010 +0100 + src/err.hpp | 9 +++++---- + src/simple_semaphore.hpp | 12 ++++++------ + 2 files changed, 11 insertions(+), 10 deletions(-) - IPv6 support -part II. +commit 72fdf47d16c8d3ecd9da657b4649978e414d775c +Author: Martin Sustrik +Date: Mon Aug 31 12:50:53 2009 +0200 -commit d762e1a9c976680dde2d2f38dac9f5861bd82dad -Author: unknown -Date: Fri Jan 22 13:29:46 2010 +0100 + python perf tests added - Win32 build fixed + perf/python/local_lat.py | 67 ++++++++++++++++++++++++++++++++++++++++++++ + perf/python/local_thr.py | 68 +++++++++++++++++++++++++++++++++++++++++++++ + perf/python/remote_lat.py | 59 +++++++++++++++++++++++++++++++++++++++ + perf/python/remote_thr.py | 50 +++++++++++++++++++++++++++++++++ + 4 files changed, 244 insertions(+), 0 deletions(-) -commit 34d65e22c557671c74d6c51026b2434912966319 +commit b6d345f4a6402cf2e831a8b9d113f036b394a0bc Author: Martin Sustrik -Date: Fri Jan 22 13:13:52 2010 +0100 +Date: Mon Aug 31 12:45:42 2009 +0200 - Tero Marttila's Ipv6 patch - part I. + Ruby perf tests added -commit 6edec4fe93c60693a5faee7e4e8821eac4f43d4d + perf/ruby/local_lat.rb | 75 +++++++++++++++++++++++++++++++++++++++ + perf/ruby/local_thr.rb | 90 +++++++++++++++++++++++++++++++++++++++++++++++ + perf/ruby/remote_lat.rb | 61 ++++++++++++++++++++++++++++++++ + perf/ruby/remote_thr.rb | 55 ++++++++++++++++++++++++++++ + 4 files changed, 281 insertions(+), 0 deletions(-) + +commit 314deb61851a0ddc37228d24e9f4eb106461370a Author: Martin Sustrik -Date: Fri Jan 22 11:38:17 2010 +0100 +Date: Sun Aug 30 15:47:39 2009 +0200 + + build system for perf/C and perf/C++ + + Makefile.am | 4 ++-- + configure.in | 3 ++- + include/zmq.h | 24 ++++++++++++------------ + perf/Makefile.am | 2 ++ + perf/c/Makefile.am | 20 ++++++++++++++++++++ + perf/c/local_lat.c | 2 +- + perf/c/local_thr.c | 19 ++++++++++--------- + perf/c/remote_lat.c | 7 +++---- + perf/c/remote_thr.c | 4 ++-- + perf/cpp/Makefile.am | 20 ++++++++++++++++++++ + perf/cpp/local_lat.cpp | 3 ++- + perf/cpp/local_thr.cpp | 10 ++++++---- + perf/cpp/remote_lat.cpp | 3 ++- + perf/cpp/remote_thr.cpp | 3 ++- + 14 files changed, 86 insertions(+), 38 deletions(-) + +commit 6c36673949b2256158e8914119d218dce311c585 +Author: Martin Sustrik +Date: Sun Aug 30 15:03:16 2009 +0200 - zmq_udp(7) man page fixed + C perf tests added -commit 70601c243fa7e91f5cceaa80190d7b413940020b -Author: Martin Sustrik -Date: Fri Jan 22 11:21:28 2010 +0100 + perf/c/local_lat.c | 70 +++++++++++++++++++++++++++++++++++++++ + perf/c/local_thr.c | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++ + perf/c/remote_lat.c | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++ + perf/c/remote_thr.c | 67 +++++++++++++++++++++++++++++++++++++ + 4 files changed, 318 insertions(+), 0 deletions(-) - zmq_pgm(7) man page fixed +commit 4617fd9e9c50a9fa3a8cbf3b25e6061e3a8f10c8 +Author: Martin Sustrik +Date: Sun Aug 30 09:14:15 2009 +0200 -commit d1e09578b275aca93c50cde078322a0348342c60 -Author: unknown -Date: Fri Jan 22 07:54:16 2010 +0100 + c++ perf tests added - Hardcoded loopback address removed from fd_signaler + .gitignore | 12 +++++++- + perf/cpp/local_lat.cpp | 52 ++++++++++++++++++++++++++++++++++ + perf/cpp/local_thr.cpp | 72 +++++++++++++++++++++++++++++++++++++++++++++++ + perf/cpp/remote_lat.cpp | 69 +++++++++++++++++++++++++++++++++++++++++++++ + perf/cpp/remote_thr.cpp | 50 ++++++++++++++++++++++++++++++++ + 5 files changed, 254 insertions(+), 1 deletions(-) -commit f4832faf29df6470bf59f1f1866c07fa4278a75b +commit 176879e5bbce6115ff5741f2426f689bda312109 Author: Martin Sustrik -Date: Thu Jan 21 16:30:42 2010 +0100 +Date: Sun Aug 30 08:18:31 2009 +0200 + + engine virtualised; chatroom example removed + + .gitignore | 5 +++ + Makefile.am | 5 +-- + configure.in | 3 +- + examples/Makefile.am | 2 - + examples/chat/Makefile.am | 15 --------- + examples/chat/chatroom.cpp | 74 -------------------------------------------- + examples/chat/display.cpp | 55 -------------------------------- + examples/chat/prompt.cpp | 61 ------------------------------------ + src/Makefile.am | 1 + + src/command.hpp | 2 +- + src/i_engine.hpp | 43 +++++++++++++++++++++++++ + src/object.cpp | 5 +-- + src/object.hpp | 4 +- + src/owned.cpp | 2 +- + src/owned.hpp | 2 +- + src/session.cpp | 4 +- + src/session.hpp | 4 +- + src/zmq_engine.hpp | 9 ++--- + 18 files changed, 67 insertions(+), 229 deletions(-) + +commit 1d650934e477be32db9a3c64de077deed0416689 +Author: tamara +Date: Sat Aug 29 11:31:32 2009 +0200 + + Ruby bidning added + + Makefile.am | 8 +- + configure.in | 57 ++++++- + ruby/Makefile.am | 11 ++ + ruby/extconf.rb | 24 +++ + ruby/zmq.cpp | 460 +++++++++++++++++++++++++++++++++++++++++++++++++++ + src/platform.hpp.in | 3 + + 6 files changed, 559 insertions(+), 4 deletions(-) + +commit 3666a49022f84b3d1888f630a78f3f8f28aadde1 +Author: Martin Sustrik +Date: Sat Aug 29 10:32:21 2009 +0200 - small fix to man pages to comply with lintian + bug in identifying current thread fixed -commit b1b66df37c0b05ba05d9636234bad0cc02a1bd03 + src/app_thread.cpp | 8 +++++--- + src/app_thread.hpp | 9 ++++++--- + src/thread.cpp | 20 ++++++++++++++++++++ + src/thread.hpp | 9 +++++++++ + 4 files changed, 40 insertions(+), 6 deletions(-) + +commit 6996ef6f1a0a50a754608df9444e425d0900b143 Author: Martin Sustrik -Date: Thu Jan 21 12:07:42 2010 +0100 +Date: Sat Aug 29 09:41:50 2009 +0200 - PGM man page improved + improved error handling -commit 66ef22993f22a0d47703c1203f57d95c4316bc70 + include/zmq.hpp | 127 +++++++++++++++++++++----------------------------- + src/ip.cpp | 3 +- + src/tcp_listener.cpp | 9 ++-- + src/tcp_listener.hpp | 5 +-- + src/zmq_listener.cpp | 4 -- + 5 files changed, 61 insertions(+), 87 deletions(-) + +commit cb09c6951e2c4405318b422a1f9213af3e4b6b8a Author: Martin Sustrik -Date: Thu Jan 21 10:38:40 2010 +0100 +Date: Fri Aug 28 16:51:46 2009 +0200 + + pipe deallocation added + + src/command.hpp | 11 +++++++ + src/dispatcher.cpp | 20 ++++++++++++ + src/dispatcher.hpp | 18 +++++++++++ + src/i_endpoint.hpp | 2 + + src/object.cpp | 44 +++++++++++++++++++++++++++ + src/object.hpp | 8 +++++ + src/pipe.cpp | 81 +++++++++++++++++++++++++++++++++++++++++++++++++-- + src/pipe.hpp | 30 ++++++++++++++++-- + src/session.cpp | 18 +++++++++++ + src/session.hpp | 2 + + src/socket_base.cpp | 80 +++++++++++++++++++++++++++++++++++++------------- + src/socket_base.hpp | 13 ++------ + 12 files changed, 290 insertions(+), 37 deletions(-) + +commit 2dd501651592baa7f9e49f52e1321ae2b9b4e126 +Author: Martin Sustrik +Date: Thu Aug 27 16:24:21 2009 +0200 + + multiple bugs fixed + + src/i_inout.hpp | 8 ++++++++ + src/pipe.hpp | 3 ++- + src/session.cpp | 13 ++++++++++++- + src/session.hpp | 1 + + src/zmq_connecter_init.cpp | 6 ++++++ + src/zmq_connecter_init.hpp | 1 + + src/zmq_encoder.cpp | 1 - + src/zmq_engine.cpp | 5 ++++- + src/zmq_listener_init.cpp | 33 ++++++++++++++++++++++----------- + src/zmq_listener_init.hpp | 5 +++++ + 10 files changed, 61 insertions(+), 15 deletions(-) + +commit 67194267f89d63391288600f127205a2b7a8a5ae +Merge: 99c5d92 67c69f9 +Author: Martin Sustrik +Date: Thu Aug 27 10:55:26 2009 +0200 - zmq_close man page improved + Merge branch 'master' of git@github.com:sustrik/zeromq2 -commit a008af6088ef1ad3baf1b9e6ae699cc07367efa3 +commit 99c5d9283622a0b37ee80f83ff4875c059fc5990 Author: Martin Sustrik -Date: Thu Jan 21 10:01:05 2010 +0100 +Date: Thu Aug 27 10:54:28 2009 +0200 + + pipes added + + include/zmq.h | 2 +- + src/Makefile.am | 2 + + src/app_thread.cpp | 26 +++--- + src/app_thread.hpp | 4 +- + src/command.hpp | 11 ++- + src/config.hpp | 8 ++ + src/i_endpoint.hpp | 33 +++++++ + src/object.cpp | 30 ++++++- + src/object.hpp | 9 +- + src/pipe.cpp | 112 ++++++++++++++++++++++ + src/pipe.hpp | 102 ++++++++++++++++++++ + src/session.cpp | 56 ++++++++++- + src/session.hpp | 24 +++++- + src/socket_base.cpp | 227 +++++++++++++++++++++++++++++++++++++++++++- + src/socket_base.hpp | 42 ++++++++- + src/ypipe.hpp | 22 ++-- + src/yqueue.hpp | 2 +- + src/zmq_encoder.cpp | 4 +- + src/zmq_engine.cpp | 7 +- + src/zmq_engine.hpp | 4 + + src/zmq_listener_init.cpp | 3 +- + 21 files changed, 680 insertions(+), 50 deletions(-) + +commit 67c69f952c956fb151c654726b4fc67e122722ff +Author: Martin Hurton +Date: Wed Aug 26 15:50:37 2009 +0200 - Asko Kauppi added to the list of authors + make configure respect --with-python option -commit f0757c003eb232247a460631276b40e4fc02f3c9 -Author: Martin Sustrik -Date: Thu Jan 21 09:58:49 2010 +0100 + configure.in | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) - ZMQII-43: Race condition when writing to pipe +commit aacdb7a454686bfac93164d0e67e785658d48a3c +Author: tamara +Date: Mon Aug 24 12:04:15 2009 +0200 -commit 6a46ca75e5970733cfe135ecf77074b69fdda34f -Author: Martin Sustrik -Date: Wed Jan 20 09:22:41 2010 +0100 + python build fix - ZMQ-42: Building with ICC fails + Makefile.am | 9 +++++++-- + 1 files changed, 7 insertions(+), 2 deletions(-) -commit 111f0ff078372e8a0f5c0b98170d451d6561e85e -Author: Martin Sustrik -Date: Wed Jan 20 09:19:03 2010 +0100 +commit 77bc3790fa9e781ad26ec881175d22d807e16acf +Author: tamara +Date: Mon Aug 24 11:17:16 2009 +0200 - ZMQII-41: Poll function in C++ binding doesn't convert errors to exceptions + python extension added -commit 6b0457fcaad3fa9a2e632b3799119c40da8dd6ca + Makefile.am | 4 +- + configure.in | 59 ++++- + python/Makefile.am | 7 + + python/pyzmq.cpp | 756 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + python/setup.py.in | 14 + + 5 files changed, 837 insertions(+), 3 deletions(-) + +commit 6be4b0143793ab5ceebc5d9d6bbe5c2f1333a0d2 Author: Martin Sustrik -Date: Tue Jan 19 12:48:38 2010 +0100 +Date: Fri Aug 21 14:29:22 2009 +0200 + + session management implemented + + include/zmq.h | 28 ++++++------ + include/zmq.hpp | 11 ++-- + src/Makefile.am | 10 ++-- + src/i_inout.hpp | 4 +- + src/msg.hpp | 49 ------------------- + src/msg_content.hpp | 50 +++++++++++++++++++ + src/object.cpp | 5 +- + src/object.hpp | 4 ++ + src/owned.cpp | 10 ++++- + src/owned.hpp | 4 ++ + src/pipe.hpp | 2 +- + src/session.cpp | 39 ++++++++++++---- + src/session.hpp | 15 ++++-- + src/socket_base.cpp | 77 +++++++++++++++++++++--------- + src/socket_base.hpp | 24 ++++++---- + src/zmq.cpp | 111 +++++++++++++++++++++++-------------------- + src/zmq_connecter.cpp | 11 +++-- + src/zmq_connecter.hpp | 10 +++- + src/zmq_connecter_init.cpp | 94 +++++++++++++++++++++++++++++++++++++ + src/zmq_connecter_init.hpp | 75 +++++++++++++++++++++++++++++ + src/zmq_decoder.hpp | 2 +- + src/zmq_encoder.hpp | 2 +- + src/zmq_init.cpp | 112 -------------------------------------------- + src/zmq_init.hpp | 82 -------------------------------- + src/zmq_listener.cpp | 5 +- + src/zmq_listener_init.cpp | 96 +++++++++++++++++++++++++++++++++++++ + src/zmq_listener_init.hpp | 71 ++++++++++++++++++++++++++++ + 27 files changed, 621 insertions(+), 382 deletions(-) + +commit a801b6d8b37557ccfb53030dca22f89a3f99b59c +Author: Martin Sustrik +Date: Thu Aug 20 11:32:23 2009 +0200 + + couple of bugs in shutdown mechanism fixed + + src/command.hpp | 11 +++++++-- + src/object.cpp | 43 +++++++++++++++++++++++++++++++++------ + src/object.hpp | 19 +++++++++++------ + src/owned.cpp | 53 ++++++++++++++++++++++++------------------------- + src/owned.hpp | 33 +++++++++++++++++++++--------- + src/session.cpp | 5 +++- + src/session.hpp | 2 +- + src/socket_base.cpp | 40 +++++++++++++++++++++++++++++++++++- + src/socket_base.hpp | 26 +++++++++++++++++++++-- + src/zmq_connecter.cpp | 4 +- + src/zmq_connecter.hpp | 2 +- + src/zmq_engine.cpp | 3 +- + src/zmq_init.cpp | 8 ++++-- + src/zmq_init.hpp | 2 +- + src/zmq_listener.cpp | 4 +- + src/zmq_listener.hpp | 2 +- + 16 files changed, 184 insertions(+), 73 deletions(-) + +commit 131f2e309668d1e64cfcb4aeb869665d8018bcfe +Author: Martin Sustrik +Date: Mon Aug 17 14:07:34 2009 +0200 - minor documentation patch + subscribe API removed -commit 7094edd6baf0d69c3879da7f16c7222388952931 + examples/chat/display.cpp | 1 - + include/zmq.h | 3 --- + include/zmq.hpp | 6 ------ + src/socket_base.cpp | 5 ----- + src/socket_base.hpp | 1 - + src/zmq.cpp | 5 ----- + 6 files changed, 0 insertions(+), 21 deletions(-) + +commit 059beca59d39d90a8ee0e1b07f840994962ea89e Author: Martin Sustrik -Date: Mon Jan 18 15:57:33 2010 +0100 +Date: Wed Aug 12 09:40:16 2009 +0200 + + listener/connecter/init/session added + + include/zmq.h | 2 +- + src/Makefile.am | 13 ++ + src/atomic.hpp | 310 ------------------------------------------------- + src/i_inout.hpp | 37 ++++++ + src/io_object.cpp | 47 +------- + src/io_object.hpp | 50 ++------ + src/options.cpp | 29 +++++ + src/options.hpp | 42 +++++++ + src/owned.cpp | 74 ++++++++++++ + src/owned.hpp | 82 +++++++++++++ + src/session.cpp | 58 +++++++++ + src/session.hpp | 57 +++++++++ + src/socket_base.cpp | 29 ++--- + src/socket_base.hpp | 8 +- + src/zmq_connecter.cpp | 36 ++++--- + src/zmq_connecter.hpp | 17 ++- + src/zmq_decoder.cpp | 78 ++++++++++++ + src/zmq_decoder.hpp | 57 +++++++++ + src/zmq_encoder.cpp | 76 ++++++++++++ + src/zmq_encoder.hpp | 55 +++++++++ + src/zmq_engine.cpp | 107 +++++++++++++++++- + src/zmq_engine.hpp | 33 +++++- + src/zmq_init.cpp | 110 +++++++++++++++++ + src/zmq_init.hpp | 82 +++++++++++++ + src/zmq_listener.cpp | 25 ++-- + src/zmq_listener.hpp | 11 ++- + 26 files changed, 1070 insertions(+), 455 deletions(-) + +commit bda766ab401b6c565fe9c2d0bc80c11bbbe84488 +Author: Martin Sustrik +Date: Sun Aug 9 16:30:22 2009 +0200 + + redundant interface (i_api) removed + + src/Makefile.am | 2 - + src/app_thread.cpp | 5 +-- + src/app_thread.hpp | 6 ++-- + src/dispatcher.cpp | 3 +- + src/dispatcher.hpp | 2 +- + src/i_api.hpp | 43 ----------------------------------- + src/i_poll_events.hpp | 60 ++++++++++++++++++++++++------------------------ + src/socket_base.hpp | 21 ++++++++--------- + src/zmq.cpp | 19 ++++++++------- + 9 files changed, 57 insertions(+), 104 deletions(-) + +commit 9f1f823b7b69ced56bdb0416feef71230cc7fd55 +Author: Martin Sustrik +Date: Sun Aug 9 16:12:09 2009 +0200 + + zmq_listener/zmq_connecter implemented + + src/Makefile.am | 2 + + src/io_object.cpp | 13 +++--- + src/io_object.hpp | 18 +++++--- + src/socket_base.cpp | 12 ++++- + src/tcp_connecter.cpp | 24 ++++++----- + src/tcp_connecter.hpp | 9 ++++- + src/zmq_connecter.cpp | 110 +++++++++++++++++++++++++++++++++++++++++++++++++ + src/zmq_connecter.hpp | 70 +++++++++++++++++++++++++++++++ + src/zmq_listener.cpp | 9 +++- + src/zmq_listener.hpp | 5 +- + 10 files changed, 239 insertions(+), 33 deletions(-) + +commit 3147ff8523d9736039c4582f5f62c323b23940d1 +Author: Martin Sustrik +Date: Sun Aug 9 11:57:21 2009 +0200 - error handling in C perf tests improved + getsockopt implemented -commit 4ceb83935062bb84fd5da702679a126d12aed8be + include/zmq.h | 1 + + src/socket_base.cpp | 69 +++++++++++++++++++++++++++++++++++++++++++++++--- + src/socket_base.hpp | 10 +++++++ + 3 files changed, 75 insertions(+), 5 deletions(-) + +commit bde396f1561fb5e57e6e413a40d904586e186d42 Author: Martin Sustrik -Date: Mon Jan 18 13:16:14 2010 +0100 +Date: Sun Aug 9 11:21:47 2009 +0200 - typos in man pages fixed + fix to 3-thread synchronisation algorithm -commit bddff50271b7c4c15c34d7a0aa1c04f3e3e3c107 + src/io_object.cpp | 48 +++++++++++++++++++++++++++++++++++++++++++++++- + src/io_object.hpp | 21 ++++++++++++++++++++- + src/socket_base.cpp | 6 +++++- + src/tcp_listener.cpp | 19 +++++++++++-------- + src/tcp_listener.hpp | 11 +++++++++-- + src/zmq_listener.cpp | 36 +++++++++++++++++++++++++++++++++++- + src/zmq_listener.hpp | 15 +++++++++++++++ + 7 files changed, 142 insertions(+), 14 deletions(-) + +commit 5b5b513330e96e3e08d0c2c60d03044091976420 Author: Martin Sustrik -Date: Mon Jan 18 11:01:41 2010 +0100 +Date: Sun Aug 9 09:24:48 2009 +0200 + + socket options interface modeled as in BSD sockets + + include/zmq.h | 28 ++++++++++++++-------------- + include/zmq.hpp | 14 ++++++++++---- + src/Makefile.am | 2 ++ + src/epoll.cpp | 4 +++- + src/i_api.hpp | 6 ++++-- + src/io_object.cpp | 45 ++++++++++++++++++++++++++++++++++++++++++++- + src/io_object.hpp | 23 ++++++++++++++++++----- + src/io_thread.hpp | 2 +- + src/socket_base.cpp | 33 ++++++++++++++++++++------------- + src/socket_base.hpp | 9 +++++---- + src/zmq.cpp | 13 +++++++++---- + src/zmq_engine.cpp | 35 +++++++++++++++++++++++++++++++++++ + src/zmq_engine.hpp | 47 +++++++++++++++++++++++++++++++++++++++++++++++ + src/zmq_listener.cpp | 9 +++++++-- + src/zmq_listener.hpp | 5 +++-- + 15 files changed, 222 insertions(+), 53 deletions(-) + +commit a8b410e66c3c75809c8e9c01dd3e35c579f02347 +Author: Martin Sustrik +Date: Sat Aug 8 16:01:58 2009 +0200 + + lockfree interaction patter for 3 theads implemented + + include/zmq.hpp | 8 +- + src/Makefile.am | 14 +++- + src/app_thread.cpp | 37 +++++++++--- + src/app_thread.hpp | 13 +++- + src/command.hpp | 59 ++++++++----------- + src/context.cpp | 153 ------------------------------------------------ + src/context.hpp | 122 -------------------------------------- + src/dispatcher.cpp | 149 +++++++++++++++++++++++++++++++++++++++++++++++ + src/dispatcher.hpp | 122 ++++++++++++++++++++++++++++++++++++++ + src/err.hpp | 6 ++ + src/i_api.hpp | 34 ++++++----- + src/i_socket.hpp | 36 ----------- + src/io_object.cpp | 41 +++++++++++++ + src/io_object.hpp | 62 ++++++++++++++++++++ + src/io_thread.cpp | 8 +- + src/io_thread.hpp | 2 +- + src/mutex.hpp | 30 +++++---- + src/object.cpp | 158 +++++++++++++++----------------------------------- + src/object.hpp | 42 +++++--------- + src/socket_base.cpp | 129 ++++++++++++++++++++++++++++++++++++++++ + src/socket_base.hpp | 72 +++++++++++++++++++++++ + src/zmq.cpp | 19 +++--- + src/zmq_listener.cpp | 35 +++++++++++ + src/zmq_listener.hpp | 46 +++++++++++++++ + 24 files changed, 849 insertions(+), 548 deletions(-) + +commit 0b5cc026fbe7ccc6de66907be29471562a2d344d +Author: Martin Sustrik +Date: Thu Aug 6 12:51:32 2009 +0200 + + clean up - session/socket/engine stuff removed + + src/Makefile.am | 51 +-------- + src/app_thread.cpp | 106 ++---------------- + src/app_thread.hpp | 27 +---- + src/connecter.cpp | 189 ------------------------------- + src/connecter.hpp | 99 ---------------- + src/context.cpp | 139 ++--------------------- + src/context.hpp | 52 +-------- + src/data_distributor.cpp | 155 ------------------------- + src/data_distributor.hpp | 70 ------------ + src/devpoll.cpp | 9 +- + src/devpoll.hpp | 3 +- + src/dummy_aggregator.cpp | 111 ------------------ + src/dummy_aggregator.hpp | 73 ------------ + src/dummy_distributor.cpp | 85 -------------- + src/dummy_distributor.hpp | 68 ----------- + src/epoll.cpp | 10 +- + src/epoll.hpp | 3 +- + src/fair_aggregator.cpp | 143 ----------------------- + src/fair_aggregator.hpp | 77 ------------- + src/i_api.hpp | 42 ++++---- + src/i_demux.hpp | 57 ---------- + src/i_engine.hpp | 53 --------- + src/i_mux.hpp | 60 ---------- + src/i_poller.hpp | 7 +- + src/i_session.hpp | 37 ------ + src/i_socket.hpp | 36 ++++++ + src/i_thread.hpp | 38 ------ + src/io_object.cpp | 37 ------ + src/io_object.hpp | 51 --------- + src/io_thread.cpp | 31 ----- + src/io_thread.hpp | 27 +---- + src/kqueue.cpp | 9 +- + src/kqueue.hpp | 3 +- + src/listener.cpp | 170 ---------------------------- + src/listener.hpp | 110 ------------------ + src/load_balancer.cpp | 130 --------------------- + src/load_balancer.hpp | 73 ------------ + src/object.cpp | 33 ------ + src/object.hpp | 8 -- + src/p2p.cpp | 29 ----- + src/p2p.hpp | 42 ------- + src/pipe.cpp | 47 -------- + src/pipe.hpp | 23 +---- + src/pipe_reader.cpp | 118 ------------------- + src/pipe_reader.hpp | 89 --------------- + src/pipe_writer.cpp | 120 -------------------- + src/pipe_writer.hpp | 88 --------------- + src/poll.cpp | 13 ++- + src/poll.hpp | 3 +- + src/pub.cpp | 38 ------ + src/pub.hpp | 45 -------- + src/rep.cpp | 29 ----- + src/rep.hpp | 42 ------- + src/req.cpp | 29 ----- + src/req.hpp | 42 ------- + src/safe_object.cpp | 76 ------------- + src/safe_object.hpp | 68 ----------- + src/select.cpp | 13 ++- + src/select.hpp | 2 +- + src/session.cpp | 273 --------------------------------------------- + src/session.hpp | 107 ------------------ + src/session_stub.cpp | 110 ------------------ + src/session_stub.hpp | 83 -------------- + src/socket_base.cpp | 267 -------------------------------------------- + src/socket_base.hpp | 96 ---------------- + src/sub.cpp | 45 -------- + src/sub.hpp | 46 -------- + src/zmq.cpp | 2 +- + src/zmq_decoder.cpp | 79 ------------- + src/zmq_decoder.hpp | 57 ---------- + src/zmq_encoder.cpp | 75 ------------ + src/zmq_encoder.hpp | 54 --------- + src/zmq_tcp_engine.cpp | 185 ------------------------------ + src/zmq_tcp_engine.hpp | 92 --------------- + 74 files changed, 131 insertions(+), 4878 deletions(-) + +commit b8b4acef4c2ba1a169ce84c1fb4c70a5676ebba3 +Author: Martin Sustrik +Date: Thu Aug 6 10:47:34 2009 +0200 + + dispatcher renamed to context + + src/Makefile.am | 4 +- + src/app_thread.cpp | 8 +- + src/app_thread.hpp | 4 +- + src/context.cpp | 266 +++++++++++++++++++++++++++++++++++++++++++++++++++ + src/context.hpp | 170 ++++++++++++++++++++++++++++++++ + src/dispatcher.cpp | 266 --------------------------------------------------- + src/dispatcher.hpp | 170 -------------------------------- + src/io_thread.cpp | 8 +- + src/io_thread.hpp | 2 +- + src/object.cpp | 26 +++--- + src/object.hpp | 6 +- + src/pipe.hpp | 8 +- + src/pipe_reader.cpp | 2 +- + src/pipe_reader.hpp | 6 +- + src/pipe_writer.hpp | 6 +- + src/safe_object.cpp | 6 +- + src/safe_object.hpp | 2 +- + src/zmq.cpp | 15 ++-- + 18 files changed, 487 insertions(+), 488 deletions(-) + +commit 43fa72b7ee6b6d97b84a555ce8902cee855aeb72 +Author: Martin Hurton +Date: Mon Aug 3 11:59:55 2009 +0200 - ZMQII-40: wrong return code from recolve_ip_interface + C++ binding uses exceptions to signal failure -commit 55944729ed5527692b1ead17af553aa32c316781 + include/zmq.hpp | 83 ++++++++++++++++++++++++++++++++++++++++++++++++------ + 1 files changed, 73 insertions(+), 10 deletions(-) + +commit cc3755a16f00026af882ed14d122cc8aa6d50e82 Author: Martin Sustrik -Date: Mon Jan 18 10:53:46 2010 +0100 +Date: Mon Aug 3 11:30:13 2009 +0200 + + renamed from zs to zmq + + .gitignore | 3 + + Makefile.am | 2 +- + configure.in | 38 ++++---- + examples/chat/Makefile.am | 6 +- + examples/chat/chatroom.cpp | 12 +- + examples/chat/display.cpp | 10 +- + examples/chat/prompt.cpp | 8 +- + include/zmq.h | 207 +++++++++++++++++++++++++++++++++++++++ + include/zmq.hpp | 231 ++++++++++++++++++++++++++++++++++++++++++++ + include/zs.h | 206 --------------------------------------- + include/zs.hpp | 231 -------------------------------------------- + src/Makefile.am | 10 +- + src/app_thread.cpp | 70 +++++++------- + src/app_thread.hpp | 8 +- + src/atomic.hpp | 62 ++++++------ + src/atomic_bitmap.hpp | 82 ++++++++-------- + src/atomic_counter.hpp | 72 +++++++------- + src/atomic_ptr.hpp | 72 +++++++------- + src/command.hpp | 6 +- + src/config.hpp | 6 +- + src/connecter.cpp | 48 +++++----- + src/connecter.hpp | 12 +- + src/data_distributor.cpp | 42 ++++---- + src/data_distributor.hpp | 10 +- + src/decoder.hpp | 6 +- + src/devpoll.cpp | 38 ++++---- + src/devpoll.hpp | 8 +- + src/dispatcher.cpp | 52 +++++----- + src/dispatcher.hpp | 8 +- + src/dummy_aggregator.cpp | 34 +++--- + src/dummy_aggregator.hpp | 8 +- + src/dummy_distributor.cpp | 28 +++--- + src/dummy_distributor.hpp | 8 +- + src/encoder.hpp | 6 +- + src/epoll.cpp | 36 ++++---- + src/epoll.hpp | 8 +- + src/err.cpp | 8 +- + src/err.hpp | 16 ++-- + src/fair_aggregator.cpp | 30 +++--- + src/fair_aggregator.hpp | 8 +- + src/fd.hpp | 8 +- + src/fd_signaler.cpp | 54 +++++----- + src/fd_signaler.hpp | 8 +- + src/i_api.hpp | 14 ++-- + src/i_demux.hpp | 11 +- + src/i_engine.hpp | 8 +- + src/i_mux.hpp | 11 +- + src/i_poll_events.hpp | 6 +- + src/i_poller.hpp | 6 +- + src/i_session.hpp | 10 +- + src/i_signaler.hpp | 6 +- + src/i_thread.hpp | 6 +- + src/io_object.cpp | 6 +- + src/io_object.hpp | 6 +- + src/io_thread.cpp | 72 +++++++------- + src/io_thread.hpp | 8 +- + src/ip.cpp | 36 ++++---- + src/ip.hpp | 8 +- + src/kqueue.cpp | 40 ++++---- + src/kqueue.hpp | 8 +- + src/listener.cpp | 42 ++++---- + src/listener.hpp | 6 +- + src/load_balancer.cpp | 32 +++--- + src/load_balancer.hpp | 10 +- + src/msg.hpp | 16 ++-- + src/mutex.hpp | 10 +- + src/object.cpp | 88 +++++++++--------- + src/object.hpp | 6 +- + src/p2p.cpp | 4 +- + src/p2p.hpp | 6 +- + src/pipe.cpp | 14 ++-- + src/pipe.hpp | 10 +- + src/pipe_reader.cpp | 26 +++--- + src/pipe_reader.hpp | 8 +- + src/pipe_writer.cpp | 30 +++--- + src/pipe_writer.hpp | 8 +- + src/platform.hpp.in | 26 +++--- + src/poll.cpp | 40 ++++---- + src/poll.hpp | 14 ++-- + src/pub.cpp | 6 +- + src/pub.hpp | 8 +- + src/rep.cpp | 4 +- + src/rep.hpp | 6 +- + src/req.cpp | 4 +- + src/req.hpp | 6 +- + src/safe_object.cpp | 14 ++-- + src/safe_object.hpp | 6 +- + src/select.cpp | 40 ++++---- + src/select.hpp | 10 +- + src/session.cpp | 46 +++++----- + src/session.hpp | 10 +- + src/session_stub.cpp | 30 +++--- + src/session_stub.hpp | 10 +- + src/simple_semaphore.hpp | 12 +- + src/socket_base.cpp | 56 ++++++------ + src/socket_base.hpp | 14 ++-- + src/stdint.hpp | 6 +- + src/sub.cpp | 8 +- + src/sub.hpp | 8 +- + src/tcp_connecter.cpp | 20 ++-- + src/tcp_connecter.hpp | 6 +- + src/tcp_listener.cpp | 20 ++-- + src/tcp_listener.hpp | 6 +- + src/tcp_socket.cpp | 18 ++-- + src/tcp_socket.hpp | 6 +- + src/thread.cpp | 14 ++-- + src/thread.hpp | 10 +- + src/uuid.cpp | 40 ++++---- + src/uuid.hpp | 18 ++-- + src/windows.hpp | 4 +- + src/wire.hpp | 6 +- + src/ypipe.hpp | 8 +- + src/ypollset.cpp | 10 +- + src/ypollset.hpp | 6 +- + src/yqueue.hpp | 10 +- + src/zmq.cpp | 223 ++++++++++++++++++++++++++++++++++++++++++ + src/zmq_decoder.cpp | 25 +++--- + src/zmq_decoder.hpp | 10 +- + src/zmq_encoder.cpp | 18 ++-- + src/zmq_encoder.hpp | 10 +- + src/zmq_tcp_engine.cpp | 44 ++++---- + src/zmq_tcp_engine.hpp | 6 +- + src/zs.cpp | 222 ------------------------------------------ + 123 files changed, 1778 insertions(+), 1770 deletions(-) + +commit 183b6887644ac05c951a3f9143248ed86e91052f +Author: Martin Sustrik +Date: Thu Jul 30 13:53:46 2009 +0200 - ChangeLog modified for 2.0-beta2 version + git ignoring intermediary files -commit f40e3a6931fb6463c349ef765d99515edc569fd7 -Author: Martin Sustrik -Date: Sun Jan 17 17:49:34 2010 +0100 + 0 files changed, 0 insertions(+), 0 deletions(-) - version number bumped +commit 4ed70a930202b103e7e80b8dc925e0aaa4622595 +Author: Martin Sustrik +Date: Wed Jul 29 12:07:54 2009 +0200 + + initial commit + + Makefile.am | 4 + + autogen.sh | 29 ++++ + configure.in | 188 +++++++++++++++++++++++++++ + examples/Makefile.am | 2 + + examples/chat/Makefile.am | 15 ++ + examples/chat/chatroom.cpp | 74 +++++++++++ + examples/chat/display.cpp | 56 ++++++++ + examples/chat/prompt.cpp | 61 +++++++++ + include/zs.h | 206 +++++++++++++++++++++++++++++ + include/zs.hpp | 231 +++++++++++++++++++++++++++++++++ + src/Makefile.am | 120 +++++++++++++++++ + src/app_thread.cpp | 221 +++++++++++++++++++++++++++++++ + src/app_thread.hpp | 95 ++++++++++++++ + src/atomic.hpp | 310 ++++++++++++++++++++++++++++++++++++++++++++ + src/atomic_bitmap.hpp | 286 ++++++++++++++++++++++++++++++++++++++++ + src/atomic_counter.hpp | 197 ++++++++++++++++++++++++++++ + src/atomic_ptr.hpp | 189 +++++++++++++++++++++++++++ + src/command.hpp | 98 ++++++++++++++ + src/config.hpp | 71 ++++++++++ + src/connecter.cpp | 189 +++++++++++++++++++++++++++ + src/connecter.hpp | 99 ++++++++++++++ + src/data_distributor.cpp | 155 ++++++++++++++++++++++ + src/data_distributor.hpp | 70 ++++++++++ + src/decoder.hpp | 101 ++++++++++++++ + src/devpoll.cpp | 224 ++++++++++++++++++++++++++++++++ + src/devpoll.hpp | 110 ++++++++++++++++ + src/dispatcher.cpp | 266 +++++++++++++++++++++++++++++++++++++ + src/dispatcher.hpp | 170 ++++++++++++++++++++++++ + src/dummy_aggregator.cpp | 111 ++++++++++++++++ + src/dummy_aggregator.hpp | 73 +++++++++++ + src/dummy_distributor.cpp | 85 ++++++++++++ + src/dummy_distributor.hpp | 68 ++++++++++ + src/encoder.hpp | 108 +++++++++++++++ + src/epoll.cpp | 214 ++++++++++++++++++++++++++++++ + src/epoll.hpp | 107 +++++++++++++++ + src/err.cpp | 146 +++++++++++++++++++++ + src/err.hpp | 90 +++++++++++++ + src/fair_aggregator.cpp | 143 ++++++++++++++++++++ + src/fair_aggregator.hpp | 77 +++++++++++ + src/fd.hpp | 44 ++++++ + src/fd_signaler.cpp | 278 +++++++++++++++++++++++++++++++++++++++ + src/fd_signaler.hpp | 92 +++++++++++++ + src/i_api.hpp | 39 ++++++ + src/i_demux.hpp | 56 ++++++++ + src/i_engine.hpp | 53 ++++++++ + src/i_mux.hpp | 59 +++++++++ + src/i_poll_events.hpp | 45 +++++++ + src/i_poller.hpp | 89 +++++++++++++ + src/i_session.hpp | 37 ++++++ + src/i_signaler.hpp | 38 ++++++ + src/i_thread.hpp | 38 ++++++ + src/io_object.cpp | 37 ++++++ + src/io_object.hpp | 51 +++++++ + src/io_thread.cpp | 177 +++++++++++++++++++++++++ + src/io_thread.hpp | 99 ++++++++++++++ + src/ip.cpp | 310 ++++++++++++++++++++++++++++++++++++++++++++ + src/ip.hpp | 47 +++++++ + src/kqueue.cpp | 214 ++++++++++++++++++++++++++++++ + src/kqueue.hpp | 112 ++++++++++++++++ + src/listener.cpp | 170 ++++++++++++++++++++++++ + src/listener.hpp | 110 ++++++++++++++++ + src/load_balancer.cpp | 130 ++++++++++++++++++ + src/load_balancer.hpp | 73 +++++++++++ + src/msg.hpp | 49 +++++++ + src/mutex.hpp | 116 +++++++++++++++++ + src/object.cpp | 294 +++++++++++++++++++++++++++++++++++++++++ + src/object.hpp | 105 +++++++++++++++ + src/p2p.cpp | 29 ++++ + src/p2p.hpp | 42 ++++++ + src/pipe.cpp | 47 +++++++ + src/pipe.hpp | 57 ++++++++ + src/pipe_reader.cpp | 118 +++++++++++++++++ + src/pipe_reader.hpp | 89 +++++++++++++ + src/pipe_writer.cpp | 120 +++++++++++++++++ + src/pipe_writer.hpp | 88 +++++++++++++ + src/platform.hpp.in | 210 ++++++++++++++++++++++++++++++ + src/poll.cpp | 205 +++++++++++++++++++++++++++++ + src/poll.hpp | 112 ++++++++++++++++ + src/pub.cpp | 38 ++++++ + src/pub.hpp | 45 +++++++ + src/rep.cpp | 29 ++++ + src/rep.hpp | 42 ++++++ + src/req.cpp | 29 ++++ + src/req.hpp | 42 ++++++ + src/safe_object.cpp | 76 +++++++++++ + src/safe_object.hpp | 68 ++++++++++ + src/select.cpp | 236 +++++++++++++++++++++++++++++++++ + src/select.hpp | 122 +++++++++++++++++ + src/session.cpp | 273 ++++++++++++++++++++++++++++++++++++++ + src/session.hpp | 107 +++++++++++++++ + src/session_stub.cpp | 110 ++++++++++++++++ + src/session_stub.hpp | 83 ++++++++++++ + src/simple_semaphore.hpp | 188 +++++++++++++++++++++++++++ + src/socket_base.cpp | 267 ++++++++++++++++++++++++++++++++++++++ + src/socket_base.hpp | 96 ++++++++++++++ + src/stdint.hpp | 70 ++++++++++ + src/sub.cpp | 45 +++++++ + src/sub.hpp | 46 +++++++ + src/tcp_connecter.cpp | 138 ++++++++++++++++++++ + src/tcp_connecter.hpp | 65 +++++++++ + src/tcp_listener.cpp | 165 +++++++++++++++++++++++ + src/tcp_listener.hpp | 65 +++++++++ + src/tcp_socket.cpp | 116 +++++++++++++++++ + src/tcp_socket.hpp | 70 ++++++++++ + src/thread.cpp | 88 +++++++++++++ + src/thread.hpp | 77 +++++++++++ + src/uuid.cpp | 136 +++++++++++++++++++ + src/uuid.hpp | 82 ++++++++++++ + src/windows.hpp | 56 ++++++++ + src/wire.hpp | 98 ++++++++++++++ + src/ypipe.hpp | 209 +++++++++++++++++++++++++++++ + src/ypollset.cpp | 56 ++++++++ + src/ypollset.hpp | 74 +++++++++++ + src/yqueue.hpp | 138 ++++++++++++++++++++ + src/zmq_decoder.cpp | 78 +++++++++++ + src/zmq_decoder.hpp | 57 ++++++++ + src/zmq_encoder.cpp | 75 +++++++++++ + src/zmq_encoder.hpp | 54 ++++++++ + src/zmq_tcp_engine.cpp | 185 ++++++++++++++++++++++++++ + src/zmq_tcp_engine.hpp | 92 +++++++++++++ + src/zs.cpp | 222 +++++++++++++++++++++++++++++++ + 121 files changed, 13546 insertions(+), 0 deletions(-) diff --git a/Makefile.am b/Makefile.am index 18775fd..bea07e9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -9,9 +9,21 @@ $(top_srcdir)/foreign/xmlParser/xmlParser.cpp \ $(top_srcdir)/foreign/xmlParser/xmlParser.hpp dist-hook: - -cp $(top_srcdir)/builds/redhat/zeromq.spec $(distdir)/zeromq.spec - -sed s/\@PACKAGE_VERSION\@/@PACKAGE_VERSION@/ -i $(distdir)/zeromq.spec - -rm -rf $(distdir)/foreign/openpgm/@pgm_basename@ + @if test -d "$(srcdir)/.git"; \ + then \ + echo Creating ChangeLog && \ + ( cd "$(top_srcdir)" && \ + echo '# Generated by Makefile. Do not edit.'; echo; \ + $(top_srcdir)/config/missing --run git log --stat ) > ChangeLog.tmp \ + && mv -f ChangeLog.tmp $(top_distdir)/ChangeLog \ + || ( rm -f ChangeLog.tmp ; \ + echo Failed to generate ChangeLog >&2 ); \ + else \ + echo A git clone is required to generate a ChangeLog >&2; \ + fi + -cp $(top_srcdir)/builds/redhat/zeromq.spec $(distdir)/zeromq.spec + -sed s/\@PACKAGE_VERSION\@/@PACKAGE_VERSION@/ -i $(distdir)/zeromq.spec + -rm -rf $(distdir)/foreign/openpgm/@pgm_basename@ distclean-local: - -rm -rf $(top_srcdir)/foreign/openpgm/@pgm_basename@ + -rm -rf $(top_srcdir)/foreign/openpgm/@pgm_basename@ diff --git a/Makefile.in b/Makefile.in index ef1435c..dd96a49 100644 --- a/Makefile.in +++ b/Makefile.in @@ -34,9 +34,9 @@ host_triplet = @host@ subdir = . DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(top_srcdir)/configure AUTHORS COPYING \ - COPYING.LESSER ChangeLog INSTALL NEWS config/compile \ - config/config.guess config/config.sub config/depcomp \ - config/install-sh config/ltmain.sh config/missing + COPYING.LESSER INSTALL NEWS config/compile config/config.guess \ + config/config.sub config/depcomp config/install-sh \ + config/ltmain.sh config/missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/config/libtool.m4 \ $(top_srcdir)/config/ltoptions.m4 \ @@ -70,7 +70,7 @@ am__remove_distdir = \ { test ! -d $(distdir) \ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -fr $(distdir); }; } -DIST_ARCHIVES = $(distdir).tar.gz +DIST_ARCHIVES = $(distdir).tar.gz $(distdir).zip GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print @@ -222,15 +222,15 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ - cd $(srcdir) && $(AUTOMAKE) --gnu \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ + cd $(srcdir) && $(AUTOMAKE) --foreign \ && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu Makefile + $(AUTOMAKE) --foreign Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -461,7 +461,6 @@ dist-tarZ: distdir dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__remove_distdir) - dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) @@ -469,6 +468,8 @@ dist-zip: distdir dist dist-all: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then @@ -648,11 +649,23 @@ uninstall-am: dist-hook: - -cp $(top_srcdir)/builds/redhat/zeromq.spec $(distdir)/zeromq.spec - -sed s/\@PACKAGE_VERSION\@/@PACKAGE_VERSION@/ -i $(distdir)/zeromq.spec - -rm -rf $(distdir)/foreign/openpgm/@pgm_basename@ + @if test -d "$(srcdir)/.git"; \ + then \ + echo Creating ChangeLog && \ + ( cd "$(top_srcdir)" && \ + echo '# Generated by Makefile. Do not edit.'; echo; \ + $(top_srcdir)/config/missing --run git log --stat ) > ChangeLog.tmp \ + && mv -f ChangeLog.tmp $(top_distdir)/ChangeLog \ + || ( rm -f ChangeLog.tmp ; \ + echo Failed to generate ChangeLog >&2 ); \ + else \ + echo A git clone is required to generate a ChangeLog >&2; \ + fi + -cp $(top_srcdir)/builds/redhat/zeromq.spec $(distdir)/zeromq.spec + -sed s/\@PACKAGE_VERSION\@/@PACKAGE_VERSION@/ -i $(distdir)/zeromq.spec + -rm -rf $(distdir)/foreign/openpgm/@pgm_basename@ distclean-local: - -rm -rf $(top_srcdir)/foreign/openpgm/@pgm_basename@ + -rm -rf $(top_srcdir)/foreign/openpgm/@pgm_basename@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/NEWS b/NEWS index 1135575..0af550b 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,58 @@ +0MQ version 2.0.9 (Stable), released on 2010/09/04 +================================================== + +Bug fixes +--------- + +* Broken device numbering fixed. +* HP-UX/AIX build fixed. +* Handling multi-part messages in forwarder and streamer devices fixed. +* Couple of minor bug fixes, see the ChangeLog for details. + + +0MQ version 2.0.8 (Stable), released on 2010/08/25 +================================================== + +New functionality +----------------- + +* The ZMQ_SWAP functionality has now been implemented for all socket types. + +Bug fixes +--------- + +* Many bug fixes (about 30), see the ChangeLog for details. + + +Documentation +------------- + +* zmq_device(3) is now documented and describes the built-in devices. + +* The ZMQ_XREQ and ZMQ_XREP socket types are now documented in zmq_socket(3). + + +Interface +--------- + +* By popular demand, the zmq_stopwatch_start, zmq_stopwatch_stop and zmq_sleep + functions have been added back into distribution. This API is now in a + separate include file, zmq_utils.h. + +* The ZMQ_UPSTREAM and ZMQ_DOWNSTREAM socket types have been renamed to + ZMQ_PULL and ZMQ_PUSH for clarity. The old names are still defined for + compatibility reasons and will be removed in a future version. + +* API calls that expect non-null parameters now return -1 and set errno to + EFAULT if null parameters are passed. + + +Thanks to +--------- + +Everyone. + + 0MQ version 2.0.7 (Beta), released on 2010/06/04 ================================================ @@ -89,7 +144,7 @@ Distribution Building -------- -* Many portability fixes, including support for new platforms: FreeBSD, +* Many portability fixes, including support for new platforms: FreeBSD, NetBSD, HP-UX and Cygwin. * Invocation of configure has been simplified, all functionality is now @@ -190,7 +245,7 @@ ZMQII-34 ensure that poll won't return POLLIN event when the message will be fi ZMQII-36 Chat example & forwarder broken because of changes subscribe semantics ZMQII-37 SIGSEGV when polling on REQ socket ZMQII-38 Compiler complains about missing virtual constructors -ZMQII-39 Implement IPC transport +ZMQII-39 Implement IPC transport Version 2.0-beta1 @@ -199,7 +254,7 @@ ZMQII-22 Deadlock on zmq_close ZMQII-25 Implement streamed request/reply ZMQII-24 SEGFAULT when anonymous session disconnects ZMQII-26 Use zero-copy for large messages -ZMQII-19 add --disable-eventfd configure option +ZMQII-19 add --disable-eventfd configure option Version 2.0-alpha3 @@ -424,8 +479,8 @@ ZMQ-53 Segmentation fault when binding to non-existent queue ZMQ-55 raw_message_init (data,size,ffn) allocates more memory than needed ZMQ-56 zmq_server fails if too many apps disconnect abruptly ZMQ-58 Implement C binding for 0MQ -ZMQ-59 Implement Java binding for 0MQ -ZMQ-60 Implement Python binding for 0MQ +ZMQ-59 Implement Java binding for 0MQ +ZMQ-60 Implement Python binding for 0MQ ZMQ-62 Write man pages Version 0.3 @@ -450,5 +505,5 @@ ZMQ-37 Identify SPARC V9 microarc and/or availability of CAS instruction Version 0.2 -ZMQ-2 Failure when mutexes are used atomic_uint32 +ZMQ-2 Failure when mutexes are used atomic_uint32 ZMQ-3 socket hangup at OS X diff --git a/README b/README index e61ffce..65b774a 100644 --- a/README +++ b/README @@ -26,7 +26,7 @@ Website: http://www.zeromq.org/ Development mailing list: zeromq-dev@lists.zeromq.org Announcements mailing list: zeromq-announce@lists.zeromq.org -Git repository: http://github.com/sustrik/zeromq2 +Git repository: http://github.com/zeromq/zeromq2 0MQ developers can also be found on the IRC channel #zeromq, on the Freenode network (irc.freenode.net). diff --git a/builds/msvc/Makefile.in b/builds/msvc/Makefile.in index 75c8c75..4978663 100644 --- a/builds/msvc/Makefile.in +++ b/builds/msvc/Makefile.in @@ -201,9 +201,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu builds/msvc/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign builds/msvc/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu builds/msvc/Makefile + $(AUTOMAKE) --foreign builds/msvc/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/builds/msvc/c_local_lat/c_local_lat.vcproj b/builds/msvc/c_local_lat/c_local_lat.vcproj index 5f7cdb2..a8d9a8d 100644 --- a/builds/msvc/c_local_lat/c_local_lat.vcproj +++ b/builds/msvc/c_local_lat/c_local_lat.vcproj @@ -165,10 +165,6 @@ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" > - - diff --git a/builds/msvc/c_local_thr/c_local_thr.vcproj b/builds/msvc/c_local_thr/c_local_thr.vcproj index 5d5b9b1..38425cc 100644 --- a/builds/msvc/c_local_thr/c_local_thr.vcproj +++ b/builds/msvc/c_local_thr/c_local_thr.vcproj @@ -165,10 +165,6 @@ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" > - - diff --git a/builds/msvc/c_remote_lat/c_remote_lat.vcproj b/builds/msvc/c_remote_lat/c_remote_lat.vcproj index 81e56a0..5bce7e9 100644 --- a/builds/msvc/c_remote_lat/c_remote_lat.vcproj +++ b/builds/msvc/c_remote_lat/c_remote_lat.vcproj @@ -165,10 +165,6 @@ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" > - - diff --git a/builds/msvc/c_remote_thr/c_remote_thr.vcproj b/builds/msvc/c_remote_thr/c_remote_thr.vcproj index a1e465a..1089549 100644 --- a/builds/msvc/c_remote_thr/c_remote_thr.vcproj +++ b/builds/msvc/c_remote_thr/c_remote_thr.vcproj @@ -165,10 +165,6 @@ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" > - - diff --git a/builds/msvc/libzmq/libzmq.vcproj b/builds/msvc/libzmq/libzmq.vcproj index c917609..95db1df 100644 --- a/builds/msvc/libzmq/libzmq.vcproj +++ b/builds/msvc/libzmq/libzmq.vcproj @@ -186,7 +186,7 @@ > + + @@ -322,7 +326,7 @@ > + + @@ -580,7 +588,7 @@ > . # @@ -723,8 +723,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='zeromq' PACKAGE_TARNAME='zeromq' -PACKAGE_VERSION='2.0.7' -PACKAGE_STRING='zeromq 2.0.7' +PACKAGE_VERSION='2.0.9' +PACKAGE_STRING='zeromq 2.0.9' PACKAGE_BUGREPORT='zeromq-dev@lists.zeromq.org' # Factoring default headers for most tests. @@ -1421,7 +1421,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures zeromq 2.0.7 to adapt to many kinds of systems. +\`configure' configures zeromq 2.0.9 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1491,7 +1491,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of zeromq 2.0.7:";; + short | recursive ) echo "Configuration of zeromq 2.0.9:";; esac cat <<\_ACEOF @@ -1595,7 +1595,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -zeromq configure 2.0.7 +zeromq configure 2.0.9 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1609,7 +1609,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by zeromq $as_me 2.0.7, which was +It was created by zeromq $as_me 2.0.9, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ @@ -2303,7 +2303,7 @@ fi # Define the identity of the package. PACKAGE='zeromq' - VERSION='2.0.7' + VERSION='2.0.9' cat >>confdefs.h <<_ACEOF @@ -16584,6 +16584,77 @@ _ACEOF LIBS="-lsocket $LIBS" +fi + + +{ echo "$as_me:$LINENO: checking for RAND_bytes in -lcrypto" >&5 +echo $ECHO_N "checking for RAND_bytes in -lcrypto... $ECHO_C" >&6; } +if test "${ac_cv_lib_crypto_RAND_bytes+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcrypto $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char RAND_bytes (); +int +main () +{ +return RAND_bytes (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_crypto_RAND_bytes=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_crypto_RAND_bytes=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_crypto_RAND_bytes" >&5 +echo "${ECHO_T}$ac_cv_lib_crypto_RAND_bytes" >&6; } +if test $ac_cv_lib_crypto_RAND_bytes = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBCRYPTO 1 +_ACEOF + + LIBS="-lcrypto $LIBS" + fi ;; @@ -19500,7 +19571,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by zeromq $as_me 2.0.7, which was +This file was extended by zeromq $as_me 2.0.9, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -19553,7 +19624,7 @@ Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -zeromq config.status 2.0.7 +zeromq config.status 2.0.9 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/configure.in b/configure.in index a04e7dd..8cb7712 100644 --- a/configure.in +++ b/configure.in @@ -6,12 +6,12 @@ AC_PREREQ(2.61) # The version in git should reflect the *next* version planned. # Version must be MAJOR.MINOR.PATCH otherwise things will break. # -AC_INIT([zeromq],[2.0.7],[zeromq-dev@lists.zeromq.org]) +AC_INIT([zeromq],[2.0.9],[zeromq-dev@lists.zeromq.org]) AC_CONFIG_AUX_DIR(config) AC_CONFIG_MACRO_DIR(config) AM_CONFIG_HEADER(src/platform.hpp) -AM_INIT_AUTOMAKE(tar-ustar) +AM_INIT_AUTOMAKE(tar-ustar dist-zip foreign) # This defines PACKAGE_VERSION_... in src/platform.hpp PV_MAJOR=`echo $PACKAGE_VERSION | cut -d . -f 1` @@ -173,6 +173,7 @@ case "${host_os}" in pedantic="no" AC_DEFINE(ZMQ_HAVE_QNXNTO, 1, [Have QNX Neutrino OS]) AC_CHECK_LIB(socket,main) + AC_CHECK_LIB(crypto,RAND_bytes) ;; *aix*) AC_DEFINE(ZMQ_HAVE_AIX, 1, [Have AIX OS]) diff --git a/devices/Makefile.in b/devices/Makefile.in index 08fb0e5..c4a3a36 100644 --- a/devices/Makefile.in +++ b/devices/Makefile.in @@ -203,9 +203,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu devices/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign devices/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu devices/Makefile + $(AUTOMAKE) --foreign devices/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/devices/zmq_forwarder/Makefile.in b/devices/zmq_forwarder/Makefile.in index 3020b27..cb64b3a 100644 --- a/devices/zmq_forwarder/Makefile.in +++ b/devices/zmq_forwarder/Makefile.in @@ -216,9 +216,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu devices/zmq_forwarder/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign devices/zmq_forwarder/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu devices/zmq_forwarder/Makefile + $(AUTOMAKE) --foreign devices/zmq_forwarder/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/devices/zmq_queue/Makefile.in b/devices/zmq_queue/Makefile.in index 565135a..f5d27bb 100644 --- a/devices/zmq_queue/Makefile.in +++ b/devices/zmq_queue/Makefile.in @@ -216,9 +216,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu devices/zmq_queue/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign devices/zmq_queue/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu devices/zmq_queue/Makefile + $(AUTOMAKE) --foreign devices/zmq_queue/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/devices/zmq_streamer/Makefile.in b/devices/zmq_streamer/Makefile.in index 2561b09..1ccc082 100644 --- a/devices/zmq_streamer/Makefile.in +++ b/devices/zmq_streamer/Makefile.in @@ -216,9 +216,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu devices/zmq_streamer/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign devices/zmq_streamer/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu devices/zmq_streamer/Makefile + $(AUTOMAKE) --foreign devices/zmq_streamer/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/doc/Makefile.am b/doc/Makefile.am index 3c7b20b..ba2b64a 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -17,7 +17,7 @@ if INSTALL_MAN dist_man_MANS = $(MAN_DOC) endif -EXTRA_DIST = $(MAN_TXT) +EXTRA_DIST = asciidoc.conf $(MAN_TXT) if BUILD_DOC EXTRA_DIST += $(MAN_HTML) endif diff --git a/doc/Makefile.in b/doc/Makefile.in index c75a926..8948f1c 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -201,7 +201,7 @@ MAN_DOC = $(MAN1) $(MAN3) $(MAN7) MAN_TXT = $(MAN1:%.1=%.txt) $(MAN3:%.3=%.txt) $(MAN7:%.7=%.txt) MAN_HTML = $(MAN_TXT:%.txt=%.html) @INSTALL_MAN_TRUE@dist_man_MANS = $(MAN_DOC) -EXTRA_DIST = $(MAN_TXT) $(am__append_1) +EXTRA_DIST = asciidoc.conf $(MAN_TXT) $(am__append_1) MAINTAINERCLEANFILES = $(MAN_DOC) $(MAN_HTML) @BUILD_DOC_TRUE@SUFFIXES = .html .txt .xml .1 .3 .7 all: all-am @@ -217,9 +217,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/Makefile + $(AUTOMAKE) --foreign doc/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff --git a/doc/asciidoc.conf b/doc/asciidoc.conf new file mode 100644 index 0000000..d73d711 --- /dev/null +++ b/doc/asciidoc.conf @@ -0,0 +1,56 @@ +[paradef-default] +literal-style=template="literalparagraph" + +[macros] +(?su)[\\]?(?Plinkzmq):(?P\S*?)\[(?P.*?)\]= + +ifdef::backend-docbook[] +[linkzmq-inlinemacro] +{0%{target}} +{0#} +{0#{target}{0}} +{0#} +endif::backend-docbook[] + +ifdef::backend-xhtml11[] +[linkzmq-inlinemacro] +{target}{0?({0})} +endif::backend-xhtml11[] + +ifdef::doctype-manpage[] +ifdef::backend-docbook[] +[header] +template::[header-declarations] + + +{mantitle} +{manvolnum} +0MQ +{zmq_version} +0MQ Manual + + + {manname} + {manpurpose} + +endif::backend-docbook[] +endif::doctype-manpage[] + +ifdef::backend-xhtml11[] +[footer] + +{disable-javascript%

} + + + +endif::backend-xhtml11[] + +[replacements] +ifdef::backend-xhtml11[] +0MQ=ØMQ +endif::backend-xhtml11[] diff --git a/doc/zmq.7 b/doc/zmq.7 index 56cfe1f..d17390a 100644 --- a/doc/zmq.7 +++ b/doc/zmq.7 @@ -2,12 +2,12 @@ .\" Title: zmq .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ" "7" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ" "7" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -63,7 +63,7 @@ Terminate 0MQ context \fBThread safety\fR .RS 4 .sp -A 0MQ \fIcontext\fR is thread safe and may be shared among as many application threads as the application has requested using the \fIapp_threads\fR parameter to \fIzmq_init()\fR, without any additional locking required on the part of the caller\&. Each 0MQ socket belonging to a particular \fIcontext\fR may only be used by \fBthe thread that created it\fR using \fIzmq_socket()\fR\&. +A 0MQ \fIcontext\fR is thread safe and may be shared among as many application threads as necessary, without any additional locking required on the part of the caller\&. Each 0MQ socket belonging to a particular \fIcontext\fR may only be used by \fBthe thread that created it\fR using \fIzmq_socket()\fR\&. .RE .sp .it 1 an-trap diff --git a/doc/zmq.html b/doc/zmq.html index 934381a..c73f990 100644 --- a/doc/zmq.html +++ b/doc/zmq.html @@ -620,8 +620,7 @@ Terminate ØMQ context

Thread safety

A ØMQ context is thread safe and may be shared among as many application -threads as the application has requested using the app_threads parameter to -zmq_init(), without any additional locking required on the part of the +threads as necessary, without any additional locking required on the part of the caller. Each ØMQ socket belonging to a particular context may only be used by the thread that created it using zmq_socket().

Multiple contexts

@@ -859,7 +858,8 @@ included with the ØMQ distribution.


diff --git a/doc/zmq.txt b/doc/zmq.txt index d13f572..06658c9 100644 --- a/doc/zmq.txt +++ b/doc/zmq.txt @@ -44,8 +44,7 @@ Terminate 0MQ context:: Thread safety ^^^^^^^^^^^^^ A 0MQ 'context' is thread safe and may be shared among as many application -threads as the application has requested using the _app_threads_ parameter to -_zmq_init()_, without any additional locking required on the part of the +threads as necessary, without any additional locking required on the part of the caller. Each 0MQ socket belonging to a particular 'context' may only be used by *the thread that created it* using _zmq_socket()_. diff --git a/doc/zmq_bind.3 b/doc/zmq_bind.3 index 164989e..3d37d82 100644 --- a/doc/zmq_bind.3 +++ b/doc/zmq_bind.3 @@ -2,12 +2,12 @@ .\" Title: zmq_bind .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_BIND" "3" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_BIND" "3" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -113,6 +113,13 @@ associated with the specified \fIsocket\fR was terminated\&. .RE +.PP +\fBEFAULT\fR +.RS 4 +The provided +\fIsocket\fR +was not valid (NULL)\&. +.RE .SH "EXAMPLE" .PP \fBBinding a publisher socket to an in-process and a TCP transport\fR. diff --git a/doc/zmq_bind.html b/doc/zmq_bind.html index 5035f0c..cd759ea 100644 --- a/doc/zmq_bind.html +++ b/doc/zmq_bind.html @@ -689,6 +689,14 @@ The requested address specifies a nonexistent interface. The ØMQ context associated with the specified socket was terminated.

+
+EFAULT +
+
+

+The provided socket was not valid (NULL). +

+

EXAMPLE

@@ -722,7 +730,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/doc/zmq_bind.txt b/doc/zmq_bind.txt index a74e81d..7aa5a0b 100644 --- a/doc/zmq_bind.txt +++ b/doc/zmq_bind.txt @@ -56,6 +56,8 @@ The requested 'address' was not local. The requested 'address' specifies a nonexistent interface. *ETERM*:: The 0MQ 'context' associated with the specified 'socket' was terminated. +*EFAULT*:: +The provided 'socket' was not valid (NULL). EXAMPLE diff --git a/doc/zmq_close.3 b/doc/zmq_close.3 index 7ea5e3f..d8f2d0e 100644 --- a/doc/zmq_close.3 +++ b/doc/zmq_close.3 @@ -2,12 +2,12 @@ .\" Title: zmq_close .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_CLOSE" "3" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_CLOSE" "3" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -39,8 +39,13 @@ The \fIzmq_close()\fR function shall destroy the socket referenced by the \fIsoc .sp The \fIzmq_close()\fR function shall return zero if successful\&. Otherwise it shall return \-1 and set \fIerrno\fR to one of the values defined below\&. .SH "ERRORS" -.sp -No errors are defined\&. +.PP +\fBEFAULT\fR +.RS 4 +The provided +\fIsocket\fR +was not valid (NULL)\&. +.RE .SH "SEE ALSO" .sp \fBzmq_socket\fR(3) \fBzmq_term\fR(3) \fBzmq\fR(7) diff --git a/doc/zmq_close.html b/doc/zmq_close.html index ebdfa9f..e8ab194 100644 --- a/doc/zmq_close.html +++ b/doc/zmq_close.html @@ -601,7 +601,16 @@ return -1 and set errno to one of the values defined below.

ERRORS

-

No errors are defined.

+
+
+EFAULT +
+
+

+The provided socket was not valid (NULL). +

+
+

SEE ALSO

@@ -618,7 +627,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/doc/zmq_close.txt b/doc/zmq_close.txt index f944bda..e903437 100644 --- a/doc/zmq_close.txt +++ b/doc/zmq_close.txt @@ -31,7 +31,8 @@ return `-1` and set 'errno' to one of the values defined below. ERRORS ------ -No errors are defined. +*EFAULT*:: +The provided 'socket' was not valid (NULL). SEE ALSO diff --git a/doc/zmq_connect.3 b/doc/zmq_connect.3 index 69e67c4..695daa0 100644 --- a/doc/zmq_connect.3 +++ b/doc/zmq_connect.3 @@ -2,12 +2,12 @@ .\" Title: zmq_connect .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_CONNECT" "3" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_CONNECT" "3" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -108,6 +108,13 @@ associated with the specified \fIsocket\fR was terminated\&. .RE +.PP +\fBEFAULT\fR +.RS 4 +The provided +\fIsocket\fR +was not valid (NULL)\&. +.RE .SH "EXAMPLE" .PP \fBConnecting a subscriber socket to an in-process and a TCP transport\fR. diff --git a/doc/zmq_connect.html b/doc/zmq_connect.html index 9b7c4e9..4e33d65 100644 --- a/doc/zmq_connect.html +++ b/doc/zmq_connect.html @@ -675,6 +675,14 @@ The requested transport protocol is not compatible with the socket type The ØMQ context associated with the specified socket was terminated.

+
+EFAULT +
+
+

+The provided socket was not valid (NULL). +

+

EXAMPLE

@@ -708,7 +716,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/doc/zmq_connect.txt b/doc/zmq_connect.txt index 0061c37..ffcf3b4 100644 --- a/doc/zmq_connect.txt +++ b/doc/zmq_connect.txt @@ -54,6 +54,8 @@ The requested 'transport' protocol is not supported. The requested 'transport' protocol is not compatible with the socket type. *ETERM*:: The 0MQ 'context' associated with the specified 'socket' was terminated. +*EFAULT*:: +The provided 'socket' was not valid (NULL). EXAMPLE diff --git a/doc/zmq_cpp.7 b/doc/zmq_cpp.7 index 612ecec..0203dfc 100644 --- a/doc/zmq_cpp.7 +++ b/doc/zmq_cpp.7 @@ -2,12 +2,12 @@ .\" Title: zmq_cpp .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_CPP" "7" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_CPP" "7" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -345,6 +345,16 @@ Equivalent to calling the \fIzmq_msg_close()\fR function followed by the corresp .RE .SS "Input/output multiplexing" .sp +.if n \{\ +.RS 4 +.\} +.nf +\fBint poll (zmq_pollitem_t *items, int nitems, long timeout = \-1)\fR +.fi +.if n \{\ +.RE +.\} +.sp The \fIpoll()\fR function is a namespaced equivalent of the \fIzmq_poll()\fR function, as described in \fBzmq_poll\fR(3)\&. .if n \{\ .sp diff --git a/doc/zmq_cpp.html b/doc/zmq_cpp.html index c373f8e..13a8761 100644 --- a/doc/zmq_cpp.html +++ b/doc/zmq_cpp.html @@ -707,6 +707,10 @@ functions to construct, destruct and manipulate ØMQ messages.

Equivalent to calling the zmq_msg_close() function followed by the corresponding zmq_msg_init() function.

Input/output multiplexing

+
+
int poll (zmq_pollitem_t *items, int nitems, long timeout = -1)
+
+

The poll() function is a namespaced equivalent of the zmq_poll() function, as described in zmq_poll(3).

@@ -751,7 +755,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/doc/zmq_cpp.txt b/doc/zmq_cpp.txt index b7a5a42..d43ff62 100644 --- a/doc/zmq_cpp.txt +++ b/doc/zmq_cpp.txt @@ -168,6 +168,10 @@ corresponding _zmq_msg_init()_ function. Input/output multiplexing ~~~~~~~~~~~~~~~~~~~~~~~~~ + +[verse] +*int poll (zmq_pollitem_t *items, int nitems, long timeout = -1)* + The _poll()_ function is a namespaced equivalent of the _zmq_poll()_ function, as described in linkzmq:zmq_poll[3]. diff --git a/doc/zmq_epgm.7 b/doc/zmq_epgm.7 index 98318ad..34a37be 100644 --- a/doc/zmq_epgm.7 +++ b/doc/zmq_epgm.7 @@ -2,12 +2,12 @@ .\" Title: zmq_pgm .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_PGM" "7" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_PGM" "7" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/doc/zmq_epgm.html b/doc/zmq_epgm.html index 456fcdf..637cb7b 100644 --- a/doc/zmq_epgm.html +++ b/doc/zmq_epgm.html @@ -737,7 +737,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/doc/zmq_errno.3 b/doc/zmq_errno.3 index 071cbc8..09e38d8 100644 --- a/doc/zmq_errno.3 +++ b/doc/zmq_errno.3 @@ -2,12 +2,12 @@ .\" Title: zmq_errno .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_ERRNO" "3" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_ERRNO" "3" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/doc/zmq_errno.html b/doc/zmq_errno.html index 56a470e..fe10d59 100644 --- a/doc/zmq_errno.html +++ b/doc/zmq_errno.html @@ -626,7 +626,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/doc/zmq_forwarder.1 b/doc/zmq_forwarder.1 index 3b22d3e..df3d28b 100644 --- a/doc/zmq_forwarder.1 +++ b/doc/zmq_forwarder.1 @@ -2,12 +2,12 @@ .\" Title: zmq_forwarder .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_FORWARDER" "1" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_FORWARDER" "1" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/doc/zmq_forwarder.html b/doc/zmq_forwarder.html index c123dd8..ed63630 100644 --- a/doc/zmq_forwarder.html +++ b/doc/zmq_forwarder.html @@ -605,7 +605,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/doc/zmq_getsockopt.3 b/doc/zmq_getsockopt.3 index 90edfd4..9efb5a0 100644 --- a/doc/zmq_getsockopt.3 +++ b/doc/zmq_getsockopt.3 @@ -2,12 +2,12 @@ .\" Title: zmq_getsockopt .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_GETSOCKOPT" "3" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_GETSOCKOPT" "3" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -34,7 +34,7 @@ zmq_getsockopt \- get 0MQ socket options \fBint zmq_getsockopt (void \fR\fB\fI*socket\fR\fR\fB, int \fR\fB\fIoption_name\fR\fR\fB, void \fR\fB\fI*option_value\fR\fR\fB, size_t \fR\fB\fI*option_len\fR\fR\fB);\fR .SH "DESCRIPTION" .sp -The \fIzmq_getsockopt()\fR function shall retrieve the value for the option specified by the \fIoption_name\fR argument for the 0MQ socket pointed to by the \fIsocket\fR argument, and store it in the buffer pointed to by the \fIoption_value\fR argument\&. The \fIoption_len\fR argument is the size in bytes of the buffer pointed to by \fIoption_value\fR; upon successful completion \fIzmq_getsockopt()\fR shall modify the \fIoption_value\fR argument to indicate the actual size of the option value stored in the buffer\&. +The \fIzmq_getsockopt()\fR function shall retrieve the value for the option specified by the \fIoption_name\fR argument for the 0MQ socket pointed to by the \fIsocket\fR argument, and store it in the buffer pointed to by the \fIoption_value\fR argument\&. The \fIoption_len\fR argument is the size in bytes of the buffer pointed to by \fIoption_value\fR; upon successful completion \fIzmq_getsockopt()\fR shall modify the \fIoption_len\fR argument to indicate the actual size of the option value stored in the buffer\&. .sp The following options can be retrieved with the \fIzmq_getsockopt()\fR function: .SS "ZMQ_RCVMORE: More message parts to follow" @@ -96,7 +96,7 @@ T{ Option value type T}:T{ .sp -int64_t +uint64_t T} T{ .sp @@ -180,7 +180,7 @@ T{ Option value type T}:T{ .sp -int64_t +uint64_t T} T{ .sp @@ -262,7 +262,7 @@ T{ Option value type T}:T{ .sp -uint64_t +int64_t T} T{ .sp @@ -301,7 +301,7 @@ T{ Option value type T}:T{ .sp -uint64_t +int64_t T} T{ .sp @@ -340,7 +340,7 @@ T{ Option value type T}:T{ .sp -uint64_t +int64_t T} T{ .sp @@ -469,6 +469,13 @@ associated with the specified \fIsocket\fR was terminated\&. .RE +.PP +\fBEFAULT\fR +.RS 4 +The provided +\fIsocket\fR +was not valid (NULL)\&. +.RE .SH "EXAMPLE" .PP \fBRetrieving the high water mark\fR. @@ -479,7 +486,8 @@ was terminated\&. .nf /* Retrieve high water mark into hwm */ int64_t hwm; -rc = zmq_getsockopt (socket, ZMQ_HWM, &hwm, sizeof hwm); +size_t hwm_size = sizeof (hwm); +rc = zmq_getsockopt (socket, ZMQ_HWM, &hwm, &hwm_size); assert (rc == 0); .fi .if n \{\ diff --git a/doc/zmq_getsockopt.html b/doc/zmq_getsockopt.html index 1c4dda1..9b45f1c 100644 --- a/doc/zmq_getsockopt.html +++ b/doc/zmq_getsockopt.html @@ -591,7 +591,7 @@ specified by the option_name argument for the ØMQ socket pointed to by socket argument, and store it in the buffer pointed to by the option_value argument. The option_len argument is the size in bytes of the buffer pointed to by option_value; upon successful completion zmq_getsockopt() shall -modify the option_value argument to indicate the actual size of the option +modify the option_len argument to indicate the actual size of the option value stored in the buffer.

The following options can be retrieved with the zmq_getsockopt() function:

ZMQ_RCVMORE: More message parts to follow

@@ -667,7 +667,7 @@ Option value type

-int64_t +uint64_t

@@ -777,7 +777,7 @@ Option value type

-int64_t +uint64_t

@@ -884,7 +884,7 @@ Option value type

-uint64_t +int64_t

@@ -935,7 +935,7 @@ Option value type

-uint64_t +int64_t

@@ -989,7 +989,7 @@ Option value type

-uint64_t +int64_t

@@ -1157,6 +1157,14 @@ option value. The ØMQ context associated with the specified socket was terminated.

+
+EFAULT +
+
+

+The provided socket was not valid (NULL). +

+

EXAMPLE

@@ -1166,7 +1174,8 @@ The ØMQ context associated with the specified socket was term
/* Retrieve high water mark into hwm */
 int64_t hwm;
-rc = zmq_getsockopt (socket, ZMQ_HWM, &hwm, sizeof hwm);
+size_t hwm_size = sizeof (hwm);
+rc = zmq_getsockopt (socket, ZMQ_HWM, &hwm, &hwm_size);
 assert (rc == 0);
@@ -1185,7 +1194,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/doc/zmq_getsockopt.txt b/doc/zmq_getsockopt.txt index 7886eaf..1e36a2a 100644 --- a/doc/zmq_getsockopt.txt +++ b/doc/zmq_getsockopt.txt @@ -20,7 +20,7 @@ specified by the 'option_name' argument for the 0MQ socket pointed to by the 'socket' argument, and store it in the buffer pointed to by the 'option_value' argument. The 'option_len' argument is the size in bytes of the buffer pointed to by 'option_value'; upon successful completion _zmq_getsockopt()_ shall -modify the 'option_value' argument to indicate the actual size of the option +modify the 'option_len' argument to indicate the actual size of the option value stored in the buffer. The following options can be retrieved with the _zmq_getsockopt()_ function: @@ -60,7 +60,7 @@ type. The default 'ZMQ_HWM' value of zero means "no limit". [horizontal] -Option value type:: int64_t +Option value type:: uint64_t Option value unit:: messages Default value:: 0 Applicable socket types:: all @@ -99,7 +99,7 @@ See also linkzmq:zmq_init[3] for details on allocating the number of I/O threads for a specific _context_. [horizontal] -Option value type:: int64_t +Option value type:: uint64_t Option value unit:: N/A (bitmap) Default value:: 0 Applicable socket types:: N/A @@ -134,7 +134,7 @@ The 'ZMQ_RATE' option shall retrieve the maximum send or receive data rate for multicast transports using the specified 'socket'. [horizontal] -Option value type:: uint64_t +Option value type:: int64_t Option value unit:: kilobits per second Default value:: 100 Applicable socket types:: all, when using multicast transports @@ -148,7 +148,7 @@ determines the maximum time in seconds that a receiver can be absent from a multicast group before unrecoverable data loss will occur. [horizontal] -Option value type:: uint64_t +Option value type:: int64_t Option value unit:: seconds Default value:: 10 Applicable socket types:: all, when using multicast transports @@ -165,7 +165,7 @@ on performance. Where possible, disable 'ZMQ_MCAST_LOOP' in production environments. [horizontal] -Option value type:: uint64_t +Option value type:: int64_t Option value unit:: boolean Default value:: 1 Applicable socket types:: all, when using multicast transports @@ -214,6 +214,8 @@ _option_value_, as specified by _option_len_, is insufficient for storing the option value. *ETERM*:: The 0MQ 'context' associated with the specified 'socket' was terminated. +*EFAULT*:: +The provided 'socket' was not valid (NULL). EXAMPLE @@ -222,7 +224,8 @@ EXAMPLE ---- /* Retrieve high water mark into hwm */ int64_t hwm; -rc = zmq_getsockopt (socket, ZMQ_HWM, &hwm, sizeof hwm); +size_t hwm_size = sizeof (hwm); +rc = zmq_getsockopt (socket, ZMQ_HWM, &hwm, &hwm_size); assert (rc == 0); ---- diff --git a/doc/zmq_init.3 b/doc/zmq_init.3 index 9e0be97..a06e885 100644 --- a/doc/zmq_init.3 +++ b/doc/zmq_init.3 @@ -2,12 +2,12 @@ .\" Title: zmq_init .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_INIT" "3" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_INIT" "3" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/doc/zmq_init.html b/doc/zmq_init.html index a9f2986..aea120d 100644 --- a/doc/zmq_init.html +++ b/doc/zmq_init.html @@ -624,7 +624,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/doc/zmq_inproc.7 b/doc/zmq_inproc.7 index c5d9307..ec67911 100644 --- a/doc/zmq_inproc.7 +++ b/doc/zmq_inproc.7 @@ -2,12 +2,12 @@ .\" Title: zmq_inproc .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_INPROC" "7" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_INPROC" "7" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/doc/zmq_inproc.html b/doc/zmq_inproc.html index 468a196..015e18e 100644 --- a/doc/zmq_inproc.html +++ b/doc/zmq_inproc.html @@ -661,7 +661,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/doc/zmq_ipc.7 b/doc/zmq_ipc.7 index 619b352..ba6fb3c 100644 --- a/doc/zmq_ipc.7 +++ b/doc/zmq_ipc.7 @@ -2,12 +2,12 @@ .\" Title: zmq_ipc .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_IPC" "7" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_IPC" "7" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/doc/zmq_ipc.html b/doc/zmq_ipc.html index ec5ac70..27e5a69 100644 --- a/doc/zmq_ipc.html +++ b/doc/zmq_ipc.html @@ -654,7 +654,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/doc/zmq_msg_close.3 b/doc/zmq_msg_close.3 index 0a4ebdf..8912b41 100644 --- a/doc/zmq_msg_close.3 +++ b/doc/zmq_msg_close.3 @@ -2,12 +2,12 @@ .\" Title: zmq_msg_close .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_MSG_CLOSE" "3" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_MSG_CLOSE" "3" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/doc/zmq_msg_close.html b/doc/zmq_msg_close.html index 23b7a1c..1cb720c 100644 --- a/doc/zmq_msg_close.html +++ b/doc/zmq_msg_close.html @@ -630,7 +630,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/doc/zmq_msg_copy.3 b/doc/zmq_msg_copy.3 index 259ebd4..c91938f 100644 --- a/doc/zmq_msg_copy.3 +++ b/doc/zmq_msg_copy.3 @@ -2,12 +2,12 @@ .\" Title: zmq_msg_copy .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_MSG_COPY" "3" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_MSG_COPY" "3" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/doc/zmq_msg_copy.html b/doc/zmq_msg_copy.html index dbc2c57..671e643 100644 --- a/doc/zmq_msg_copy.html +++ b/doc/zmq_msg_copy.html @@ -639,7 +639,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/doc/zmq_msg_data.3 b/doc/zmq_msg_data.3 index 0dec4d2..09bb2e7 100644 --- a/doc/zmq_msg_data.3 +++ b/doc/zmq_msg_data.3 @@ -2,12 +2,12 @@ .\" Title: zmq_msg_data .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_MSG_DATA" "3" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_MSG_DATA" "3" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/doc/zmq_msg_data.html b/doc/zmq_msg_data.html index 78df0fc..29e345e 100644 --- a/doc/zmq_msg_data.html +++ b/doc/zmq_msg_data.html @@ -625,7 +625,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/doc/zmq_msg_init.3 b/doc/zmq_msg_init.3 index 823118f..054fba8 100644 --- a/doc/zmq_msg_init.3 +++ b/doc/zmq_msg_init.3 @@ -2,12 +2,12 @@ .\" Title: zmq_msg_init .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_MSG_INIT" "3" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_MSG_INIT" "3" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/doc/zmq_msg_init.html b/doc/zmq_msg_init.html index 83e2234..a20b52f 100644 --- a/doc/zmq_msg_init.html +++ b/doc/zmq_msg_init.html @@ -648,7 +648,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/doc/zmq_msg_init_data.3 b/doc/zmq_msg_init_data.3 index 6893236..458482b 100644 --- a/doc/zmq_msg_init_data.3 +++ b/doc/zmq_msg_init_data.3 @@ -2,12 +2,12 @@ .\" Title: zmq_msg_init_data .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_MSG_INIT_DATA" "3" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_MSG_INIT_DATA" "3" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/doc/zmq_msg_init_data.html b/doc/zmq_msg_init_data.html index 11f8014..65ec587 100644 --- a/doc/zmq_msg_init_data.html +++ b/doc/zmq_msg_init_data.html @@ -661,7 +661,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/doc/zmq_msg_init_size.3 b/doc/zmq_msg_init_size.3 index 6934ffd..390a74f 100644 --- a/doc/zmq_msg_init_size.3 +++ b/doc/zmq_msg_init_size.3 @@ -2,12 +2,12 @@ .\" Title: zmq_msg_init_size .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_MSG_INIT_SIZE" "3" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_MSG_INIT_SIZE" "3" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/doc/zmq_msg_init_size.html b/doc/zmq_msg_init_size.html index 87812ce..30d0cc3 100644 --- a/doc/zmq_msg_init_size.html +++ b/doc/zmq_msg_init_size.html @@ -648,7 +648,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/doc/zmq_msg_move.3 b/doc/zmq_msg_move.3 index 24815cc..ed960e5 100644 --- a/doc/zmq_msg_move.3 +++ b/doc/zmq_msg_move.3 @@ -2,12 +2,12 @@ .\" Title: zmq_msg_move .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_MSG_MOVE" "3" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_MSG_MOVE" "3" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/doc/zmq_msg_move.html b/doc/zmq_msg_move.html index 46e2fd1..859e24c 100644 --- a/doc/zmq_msg_move.html +++ b/doc/zmq_msg_move.html @@ -628,7 +628,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/doc/zmq_msg_size.3 b/doc/zmq_msg_size.3 index 71337e3..7b60376 100644 --- a/doc/zmq_msg_size.3 +++ b/doc/zmq_msg_size.3 @@ -2,12 +2,12 @@ .\" Title: zmq_msg_size .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_MSG_SIZE" "3" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_MSG_SIZE" "3" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/doc/zmq_msg_size.html b/doc/zmq_msg_size.html index 6e3e9ac..f4de3ac 100644 --- a/doc/zmq_msg_size.html +++ b/doc/zmq_msg_size.html @@ -625,7 +625,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/doc/zmq_pgm.7 b/doc/zmq_pgm.7 index 98318ad..34a37be 100644 --- a/doc/zmq_pgm.7 +++ b/doc/zmq_pgm.7 @@ -2,12 +2,12 @@ .\" Title: zmq_pgm .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_PGM" "7" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_PGM" "7" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/doc/zmq_pgm.html b/doc/zmq_pgm.html index 456fcdf..637cb7b 100644 --- a/doc/zmq_pgm.html +++ b/doc/zmq_pgm.html @@ -737,7 +737,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/doc/zmq_poll.3 b/doc/zmq_poll.3 index 96408c6..f19ba45 100644 --- a/doc/zmq_poll.3 +++ b/doc/zmq_poll.3 @@ -2,12 +2,12 @@ .\" Title: zmq_poll .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_POLL" "3" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_POLL" "3" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -171,6 +171,13 @@ whose associated 0MQ \fIcontext\fR was terminated\&. .RE +.PP +\fBEFAULT\fR +.RS 4 +The provided +\fIitems\fR +was not valid (NULL)\&. +.RE .SH "EXAMPLE" .PP \fBPolling indefinitely for input events on both a 0MQ socket and a standard socket.\fR. diff --git a/doc/zmq_poll.html b/doc/zmq_poll.html index fe38ead..722bc05 100644 --- a/doc/zmq_poll.html +++ b/doc/zmq_poll.html @@ -710,6 +710,14 @@ At least one of the members of the items array refers to a socketcontext was terminated.

+
+EFAULT +
+
+

+The provided items was not valid (NULL). +

+

EXAMPLE

@@ -748,7 +756,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/doc/zmq_poll.txt b/doc/zmq_poll.txt index d96af3e..fe2a209 100644 --- a/doc/zmq_poll.txt +++ b/doc/zmq_poll.txt @@ -96,6 +96,8 @@ to a different application thread. *ETERM*:: At least one of the members of the 'items' array refers to a 'socket' whose associated 0MQ 'context' was terminated. +*EFAULT*:: +The provided 'items' was not valid (NULL). EXAMPLE diff --git a/doc/zmq_queue.1 b/doc/zmq_queue.1 index bd085ee..154b2c1 100644 --- a/doc/zmq_queue.1 +++ b/doc/zmq_queue.1 @@ -2,12 +2,12 @@ .\" Title: zmq_queue .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_QUEUE" "1" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_QUEUE" "1" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/doc/zmq_queue.html b/doc/zmq_queue.html index 074b90a..b87eb5a 100644 --- a/doc/zmq_queue.html +++ b/doc/zmq_queue.html @@ -605,7 +605,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/doc/zmq_recv.3 b/doc/zmq_recv.3 index 8e9720e..1c65e4d 100644 --- a/doc/zmq_recv.3 +++ b/doc/zmq_recv.3 @@ -2,12 +2,12 @@ .\" Title: zmq_recv .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_RECV" "3" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_RECV" "3" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -88,6 +88,13 @@ associated with the specified \fIsocket\fR was terminated\&. .RE +.PP +\fBEFAULT\fR +.RS 4 +The provided +\fIsocket\fR +was not valid (NULL)\&. +.RE .SH "EXAMPLE" .PP \fBReceiving a message from a socket\fR. @@ -103,6 +110,8 @@ assert (rc == 0); /* Block until a message is available to be received from socket */ rc = zmq_recv (socket, &msg, 0); assert (rc == 0); +/* Release message */ +zmq_msg_close (&msg); .fi .if n \{\ .RE @@ -115,7 +124,7 @@ assert (rc == 0); .\} .nf int64_t more; -int64_t more_size = sizeof more; +size_t more_size = sizeof more; do { /* Create an empty 0MQ message to hold the message part */ zmq_msg_t part; @@ -127,6 +136,7 @@ do { /* Determine if more message parts are to follow */ rc = zmq_getsockopt (socket, ZMQ_RCVMORE, &more, &more_size); assert (rc == 0); + zmq_msg_close (&part); } while (more); .fi .if n \{\ diff --git a/doc/zmq_recv.html b/doc/zmq_recv.html index 218892d..50aaa56 100644 --- a/doc/zmq_recv.html +++ b/doc/zmq_recv.html @@ -660,6 +660,14 @@ socket types that switch between several states, such as ZMQ_REP. See the The ØMQ context associated with the specified socket was terminated.

+
+EFAULT +
+
+

+The provided socket was not valid (NULL). +

+

EXAMPLE

@@ -673,13 +681,15 @@ int rc = zmq_msg_init (&msg); assert (rc == 0); /* Block until a message is available to be received from socket */ rc = zmq_recv (socket, &msg, 0); -assert (rc == 0); +assert (rc == 0); +/* Release message */ +zmq_msg_close (&msg);
Receiving a multi-part message
int64_t more;
-int64_t more_size = sizeof more;
+size_t more_size = sizeof more;
 do {
     /* Create an empty 0MQ message to hold the message part */
     zmq_msg_t part;
@@ -691,6 +701,7 @@ do {
     /* Determine if more message parts are to follow */
     rc = zmq_getsockopt (socket, ZMQ_RCVMORE, &more, &more_size);
     assert (rc == 0);
+    zmq_msg_close (&part);
 } while (more);
@@ -710,7 +721,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/doc/zmq_recv.txt b/doc/zmq_recv.txt index 79d3dc1..dc60af6 100644 --- a/doc/zmq_recv.txt +++ b/doc/zmq_recv.txt @@ -63,6 +63,8 @@ socket types that switch between several states, such as ZMQ_REP. See the _messaging patterns_ section of linkzmq:zmq_socket[3] for more information. *ETERM*:: The 0MQ 'context' associated with the specified 'socket' was terminated. +*EFAULT*:: +The provided 'socket' was not valid (NULL). EXAMPLE @@ -76,12 +78,14 @@ assert (rc == 0); /* Block until a message is available to be received from socket */ rc = zmq_recv (socket, &msg, 0); assert (rc == 0); +/* Release message */ +zmq_msg_close (&msg); ---- .Receiving a multi-part message ---- int64_t more; -int64_t more_size = sizeof more; +size_t more_size = sizeof more; do { /* Create an empty 0MQ message to hold the message part */ zmq_msg_t part; @@ -93,6 +97,7 @@ do { /* Determine if more message parts are to follow */ rc = zmq_getsockopt (socket, ZMQ_RCVMORE, &more, &more_size); assert (rc == 0); + zmq_msg_close (&part); } while (more); ---- diff --git a/doc/zmq_send.3 b/doc/zmq_send.3 index 5161d4e..0bc094f 100644 --- a/doc/zmq_send.3 +++ b/doc/zmq_send.3 @@ -2,12 +2,12 @@ .\" Title: zmq_send .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_SEND" "3" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_SEND" "3" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -109,6 +109,13 @@ associated with the specified \fIsocket\fR was terminated\&. .RE +.PP +\fBEFAULT\fR +.RS 4 +The provided +\fIcontext\fR +was not valid (NULL)\&. +.RE .SH "EXAMPLE" .PP \fBFilling in a message and sending it to a socket\fR. diff --git a/doc/zmq_send.html b/doc/zmq_send.html index 22bd55a..eb7c8b0 100644 --- a/doc/zmq_send.html +++ b/doc/zmq_send.html @@ -677,6 +677,14 @@ socket types that switch between several states, such as ZMQ_REP. See the The ØMQ context associated with the specified socket was terminated.

+
+EFAULT +
+
+

+The provided context was not valid (NULL). +

+

EXAMPLE

@@ -719,7 +727,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/doc/zmq_send.txt b/doc/zmq_send.txt index 419e386..793d1a8 100644 --- a/doc/zmq_send.txt +++ b/doc/zmq_send.txt @@ -69,6 +69,8 @@ socket types that switch between several states, such as ZMQ_REP. See the _messaging patterns_ section of linkzmq:zmq_socket[3] for more information. *ETERM*:: The 0MQ 'context' associated with the specified 'socket' was terminated. +*EFAULT*:: +The provided 'context' was not valid (NULL). EXAMPLE diff --git a/doc/zmq_setsockopt.3 b/doc/zmq_setsockopt.3 index 8ed1e59..f51a613 100644 --- a/doc/zmq_setsockopt.3 +++ b/doc/zmq_setsockopt.3 @@ -2,12 +2,12 @@ .\" Title: zmq_setsockopt .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_SETSOCKOPT" "3" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_SETSOCKOPT" "3" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -55,7 +55,7 @@ T{ Option value type T}:T{ .sp -int64_t +uint64_t T} T{ .sp @@ -139,7 +139,7 @@ T{ Option value type T}:T{ .sp -int64_t +uint64_t T} T{ .sp @@ -301,7 +301,7 @@ T{ Option value type T}:T{ .sp -uint64_t +int64_t T} T{ .sp @@ -356,7 +356,7 @@ T{ Option value type T}:T{ .sp -uint64_t +int64_t T} T{ .sp @@ -395,7 +395,7 @@ T{ Option value type T}:T{ .sp -uint64_t +int64_t T} T{ .sp @@ -522,6 +522,13 @@ associated with the specified \fIsocket\fR was terminated\&. .RE +.PP +\fBEFAULT\fR +.RS 4 +The provided +\fIsocket\fR +was not valid (NULL)\&. +.RE .SH "EXAMPLE" .PP \fBSubscribing to messages on a ZMQ_SUB socket\fR. diff --git a/doc/zmq_setsockopt.html b/doc/zmq_setsockopt.html index 2bccca9..62617a2 100644 --- a/doc/zmq_setsockopt.html +++ b/doc/zmq_setsockopt.html @@ -610,7 +610,7 @@ Option value type

-int64_t +uint64_t

@@ -720,7 +720,7 @@ Option value type

-int64_t +uint64_t

@@ -934,7 +934,7 @@ Option value type

-uint64_t +int64_t

@@ -995,7 +995,7 @@ Option value type

-uint64_t +int64_t

@@ -1049,7 +1049,7 @@ Option value type

-uint64_t +int64_t

@@ -1215,6 +1215,14 @@ The requested option option_name is unknown, or the requested optio The ØMQ context associated with the specified socket was terminated.

+
+EFAULT +
+
+

+The provided socket was not valid (NULL). +

+

EXAMPLE

@@ -1261,7 +1269,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/doc/zmq_setsockopt.txt b/doc/zmq_setsockopt.txt index a5a2601..1b551c6 100644 --- a/doc/zmq_setsockopt.txt +++ b/doc/zmq_setsockopt.txt @@ -39,7 +39,7 @@ type. The default 'ZMQ_HWM' value of zero means "no limit". [horizontal] -Option value type:: int64_t +Option value type:: uint64_t Option value unit:: messages Default value:: 0 Applicable socket types:: all @@ -78,7 +78,7 @@ See also linkzmq:zmq_init[3] for details on allocating the number of I/O threads for a specific _context_. [horizontal] -Option value type:: int64_t +Option value type:: uint64_t Option value unit:: N/A (bitmap) Default value:: 0 Applicable socket types:: N/A @@ -147,7 +147,7 @@ The 'ZMQ_RATE' option shall set the maximum send or receive data rate for multicast transports such as linkzmq:zmq_pgm[7] using the specified 'socket'. [horizontal] -Option value type:: uint64_t +Option value type:: int64_t Option value unit:: kilobits per second Default value:: 100 Applicable socket types:: all, when using multicast transports @@ -165,7 +165,7 @@ needed for recovery will be held in memory. For example, a 1 minute recovery interval at a data rate of 1Gbps requires a 7GB in-memory buffer. [horizontal] -Option value type:: uint64_t +Option value type:: int64_t Option value unit:: seconds Default value:: 10 Applicable socket types:: all, when using multicast transports @@ -182,7 +182,7 @@ performance. Where possible, disable 'ZMQ_MCAST_LOOP' in production environments. [horizontal] -Option value type:: uint64_t +Option value type:: int64_t Option value unit:: boolean Default value:: 1 Applicable socket types:: all, when using multicast transports @@ -229,6 +229,8 @@ The requested option _option_name_ is unknown, or the requested _option_len_ or _option_value_ is invalid. *ETERM*:: The 0MQ 'context' associated with the specified 'socket' was terminated. +*EFAULT*:: +The provided 'socket' was not valid (NULL). EXAMPLE diff --git a/doc/zmq_socket.3 b/doc/zmq_socket.3 index 3e4ebd1..aa70f1a 100644 --- a/doc/zmq_socket.3 +++ b/doc/zmq_socket.3 @@ -2,12 +2,12 @@ .\" Title: zmq_socket .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_SOCKET" "3" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_SOCKET" "3" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -196,6 +196,152 @@ T} .TE .sp 1 .RE +.sp +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 +.br +.ps +1 +\fBZMQ_XREQ\fR +.RS 4 +.sp +A socket of type \fIZMQ_XREQ\fR is an advanced pattern used for extending request/reply sockets\&. Each message sent is load\-balanced among all connected peers, and each message received is fair\-queued from all connected peers\&. +.sp +When a \fIZMQ_XREQ\fR socket enters an exceptional state due to having reached the high water mark for all peers, or if there are no peers at all, then any \fBzmq_send\fR(3) operations on the socket shall block until the exceptional state ends or at least one peer becomes available for sending; messages are not discarded\&. +.sp +When a \fIZMQ_XREQ\fR socket is connected to a \fIZMQ_REP\fR socket each message sent must consist of an empty message part, the \fIdelimiter\fR, followed by one or more \fIbody parts\fR\&. +.sp +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 +.br +.B Table\ \&3.\ \&Summary of ZMQ_XREQ characteristics +.TS +tab(:); +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt. +T{ +.sp +Compatible peer sockets +T}:T{ +.sp +\fIZMQ_XREP\fR, \fIZMQ_REP\fR +T} +T{ +.sp +Direction +T}:T{ +.sp +Bidirectional +T} +T{ +.sp +Send/receive pattern +T}:T{ +.sp +Unrestricted +T} +T{ +.sp +Outgoing routing strategy +T}:T{ +.sp +Load\-balanced +T} +T{ +.sp +Incoming routing strategy +T}:T{ +.sp +Fair\-queued +T} +T{ +.sp +ZMQ_HWM option action +T}:T{ +.sp +Block +T} +.TE +.sp 1 +.RE +.sp +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 +.br +.ps +1 +\fBZMQ_XREP\fR +.RS 4 +.sp +A socket of type \fIZMQ_XREP\fR is an advanced pattern used for extending request/reply sockets\&. When receiving messages a \fIZMQ_XREP\fR socket shall prepend a message part containing the \fIidentity\fR of the originating peer to the message before passing it to the application\&. Messages received are fair\-queued from among all connected peers\&. When sending messages a \fIZMQ_XREP\fR socket shall remove the first part of the message and use it to determine the \fIidentity\fR of the peer the message shall be routed to\&. +.sp +When a \fIZMQ_XREP\fR socket enters an exceptional state due to having reached the high water mark for all peers, or if there are no peers at all, then any messages sent to the socket shall be dropped until the exceptional state ends\&. Likewise, any messages routed to a non\-existent peer or a peer for which the individual high water mark has been reached shall also be dropped\&. +.sp +When a \fIZMQ_REQ\fR socket is connected to a \fIZMQ_XREP\fR socket, in addition to the \fIidentity\fR of the originating peer each message received shall contain an empty \fIdelimiter\fR message part\&. Hence, the entire structure of each received message as seen by the application becomes: one or more \fIidentity\fR parts, \fIdelimiter\fR part, one or more \fIbody parts\fR\&. When sending replies to a \fIZMQ_REQ\fR socket the application must include the \fIdelimiter\fR part\&. +.sp +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 +.br +.B Table\ \&4.\ \&Summary of ZMQ_XREP characteristics +.TS +tab(:); +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt. +T{ +.sp +Compatible peer sockets +T}:T{ +.sp +\fIZMQ_XREQ\fR, \fIZMQ_REQ\fR +T} +T{ +.sp +Direction +T}:T{ +.sp +Bidirectional +T} +T{ +.sp +Send/receive pattern +T}:T{ +.sp +Unrestricted +T} +T{ +.sp +Outgoing routing strategy +T}:T{ +.sp +See text +T} +T{ +.sp +Incoming routing strategy +T}:T{ +.sp +Fair\-queued +T} +T{ +.sp +ZMQ_HWM option action +T}:T{ +.sp +Drop +T} +.TE +.sp 1 +.RE .SS "Publish\-subscribe pattern" .sp The publish\-subscribe pattern is used for one\-to\-many distribution of data from a single \fIpublisher\fR to multiple \fIsubscribers\fR in a fanout fashion\&. @@ -216,7 +362,7 @@ When a \fIZMQ_PUB\fR socket enters an exceptional state due to having reached th .nr an-no-space-flag 1 .nr an-break-flag 1 .br -.B Table\ \&3.\ \&Summary of ZMQ_PUB characteristics +.B Table\ \&5.\ \&Summary of ZMQ_PUB characteristics .TS tab(:); lt lt @@ -285,7 +431,7 @@ A socket of type \fIZMQ_SUB\fR is used by a \fIsubscriber\fR to subscribe to dat .nr an-no-space-flag 1 .nr an-break-flag 1 .br -.B Table\ \&4.\ \&Summary of ZMQ_SUB characteristics +.B Table\ \&6.\ \&Summary of ZMQ_SUB characteristics .TS tab(:); lt lt @@ -348,18 +494,20 @@ The pipeline pattern is used for distributing data to \fInodes\fR arranged in a .nr an-break-flag 1 .br .ps +1 -\fBZMQ_DOWNSTREAM\fR +\fBZMQ_PUSH\fR .RS 4 .sp -A socket of type \fIZMQ_DOWNSTREAM\fR is used by a pipeline \fInode\fR to send messages to downstream pipeline \fInodes\fR\&. Messages are load\-balanced to all connected downstream \fInodes\fR\&. The \fIzmq_recv()\fR function is not implemented for this socket type\&. +A socket of type \fIZMQ_PUSH\fR is used by a pipeline \fInode\fR to send messages to downstream pipeline \fInodes\fR\&. Messages are load\-balanced to all connected downstream \fInodes\fR\&. The \fIzmq_recv()\fR function is not implemented for this socket type\&. .sp -When a \fIZMQ_DOWNSTREAM\fR socket enters an exceptional state due to having reached the high water mark for all downstream \fInodes\fR, or if there are no downstream \fInodes\fR at all, then any \fBzmq_send\fR(3) operations on the socket shall block until the exceptional state ends or at least one downstream \fInode\fR becomes available for sending; messages are not discarded\&. +When a \fIZMQ_PUSH\fR socket enters an exceptional state due to having reached the high water mark for all downstream \fInodes\fR, or if there are no downstream \fInodes\fR at all, then any \fBzmq_send\fR(3) operations on the socket shall block until the exceptional state ends or at least one downstream \fInode\fR becomes available for sending; messages are not discarded\&. +.sp +Deprecated alias: \fIZMQ_DOWNSTREAM\fR\&. .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br -.B Table\ \&5.\ \&Summary of ZMQ_DOWNSTREAM characteristics +.B Table\ \&7.\ \&Summary of ZMQ_PUSH characteristics .TS tab(:); lt lt @@ -373,7 +521,7 @@ T{ Compatible peer sockets T}:T{ .sp -\fIZMQ_UPSTREAM\fR +\fIZMQ_PULL\fR T} T{ .sp @@ -419,16 +567,18 @@ T} .nr an-break-flag 1 .br .ps +1 -\fBZMQ_UPSTREAM\fR +\fBZMQ_PULL\fR .RS 4 .sp -A socket of type \fIZMQ_UPSTREAM\fR is used by a pipeline \fInode\fR to receive messages from upstream pipeline \fInodes\fR\&. Messages are fair\-queued from among all connected upstream \fInodes\fR\&. The \fIzmq_send()\fR function is not implemented for this socket type\&. +A socket of type \fIZMQ_PULL\fR is used by a pipeline \fInode\fR to receive messages from upstream pipeline \fInodes\fR\&. Messages are fair\-queued from among all connected upstream \fInodes\fR\&. The \fIzmq_send()\fR function is not implemented for this socket type\&. +.sp +Deprecated alias: \fIZMQ_UPSTREAM\fR\&. .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br -.B Table\ \&6.\ \&Summary of ZMQ_UPSTREAM characteristics +.B Table\ \&8.\ \&Summary of ZMQ_PULL characteristics .TS tab(:); lt lt @@ -442,7 +592,7 @@ T{ Compatible peer sockets T}:T{ .sp -\fIZMQ_DOWNSTREAM\fR +\fIZMQ_PUSH\fR T} T{ .sp @@ -518,7 +668,7 @@ When a \fIZMQ_PAIR\fR socket enters an exceptional state due to having reached t .nr an-no-space-flag 1 .nr an-break-flag 1 .br -.B Table\ \&7.\ \&Summary of ZMQ_PAIR characteristics +.B Table\ \&9.\ \&Summary of ZMQ_PAIR characteristics .TS tab(:); lt lt @@ -590,6 +740,13 @@ The maximum number of sockets within this \fIcontext\fR has been exceeded\&. .RE +.PP +\fBEFAULT\fR +.RS 4 +The provided +\fIcontext\fR +was not valid (NULL)\&. +.RE .SH "SEE ALSO" .sp \fBzmq_init\fR(3) \fBzmq_setsockopt\fR(3) \fBzmq_bind\fR(3) \fBzmq_connect\fR(3) \fBzmq_send\fR(3) \fBzmq_recv\fR(3) \fBzmq\fR(7) diff --git a/doc/zmq_socket.html b/doc/zmq_socket.html index ddab7e1..4546e37 100644 --- a/doc/zmq_socket.html +++ b/doc/zmq_socket.html @@ -774,6 +774,173 @@ Drop +

ZMQ_XREQ

+

A socket of type ZMQ_XREQ is an advanced pattern used for extending +request/reply sockets. Each message sent is load-balanced among all connected +peers, and each message received is fair-queued from all connected peers.

+

When a ZMQ_XREQ socket enters an exceptional state due to having reached the +high water mark for all peers, or if there are no peers at all, then any +zmq_send(3) operations on the socket shall block until the exceptional +state ends or at least one peer becomes available for sending; messages are not +discarded.

+

When a ZMQ_XREQ socket is connected to a ZMQ_REP socket each message sent +must consist of an empty message part, the delimiter, followed by one or more +body parts.

+
Summary of ZMQ_XREQ characteristics
+ + + + + + + + + + + + + + + + + + + + + + + + +
+Compatible peer sockets +
+
+

+ZMQ_XREP, ZMQ_REP +

+
+Direction +
+
+

+Bidirectional +

+
+Send/receive pattern +
+
+

+Unrestricted +

+
+Outgoing routing strategy +
+
+

+Load-balanced +

+
+Incoming routing strategy +
+
+

+Fair-queued +

+
+ZMQ_HWM option action +
+
+

+Block +

+
+

ZMQ_XREP

+

A socket of type ZMQ_XREP is an advanced pattern used for extending +request/reply sockets. When receiving messages a ZMQ_XREP socket shall +prepend a message part containing the identity of the originating peer to the +message before passing it to the application. Messages received are fair-queued +from among all connected peers. When sending messages a ZMQ_XREP socket shall +remove the first part of the message and use it to determine the identity of +the peer the message shall be routed to.

+

When a ZMQ_XREP socket enters an exceptional state due to having reached the +high water mark for all peers, or if there are no peers at all, then any +messages sent to the socket shall be dropped until the exceptional state ends. +Likewise, any messages routed to a non-existent peer or a peer for which the +individual high water mark has been reached shall also be dropped.

+

When a ZMQ_REQ socket is connected to a ZMQ_XREP socket, in addition to the +identity of the originating peer each message received shall contain an empty +delimiter message part. Hence, the entire structure of each received message +as seen by the application becomes: one or more identity parts, delimiter +part, one or more body parts. When sending replies to a ZMQ_REQ socket the +application must include the delimiter part.

+
Summary of ZMQ_XREP characteristics
+ + + + + + + + + + + + + + + + + + + + + + + + +
+Compatible peer sockets +
+
+

+ZMQ_XREQ, ZMQ_REQ +

+
+Direction +
+
+

+Bidirectional +

+
+Send/receive pattern +
+
+

+Unrestricted +

+
+Outgoing routing strategy +
+
+

+See text +

+
+Incoming routing strategy +
+
+

+Fair-queued +

+
+ZMQ_HWM option action +
+
+

+Drop +

+

Publish-subscribe pattern

The publish-subscribe pattern is used for one-to-many distribution of data from a single publisher to multiple subscribers in a fanout fashion.

@@ -932,17 +1099,18 @@ N/A a pipeline. Data always flows down the pipeline, and each stage of the pipeline is connected to at least one node. When a pipeline stage is connected to multiple nodes data is load-balanced among all connected nodes.

-

ZMQ_DOWNSTREAM

-

A socket of type ZMQ_DOWNSTREAM is used by a pipeline node to send messages +

ZMQ_PUSH

+

A socket of type ZMQ_PUSH is used by a pipeline node to send messages to downstream pipeline nodes. Messages are load-balanced to all connected downstream nodes. The zmq_recv() function is not implemented for this socket type.

-

When a ZMQ_DOWNSTREAM socket enters an exceptional state due to having -reached the high water mark for all downstream nodes, or if there are no -downstream nodes at all, then any zmq_send(3) operations on the -socket shall block until the exceptional state ends or at least one downstream -node becomes available for sending; messages are not discarded.

-
Summary of ZMQ_DOWNSTREAM characteristics
+

When a ZMQ_PUSH socket enters an exceptional state due to having reached the +high water mark for all downstream nodes, or if there are no downstream +nodes at all, then any zmq_send(3) operations on the socket shall +block until the exceptional state ends or at least one downstream node +becomes available for sending; messages are not discarded.

+

Deprecated alias: ZMQ_DOWNSTREAM.

+
Summary of ZMQ_PUSH characteristics
@@ -1010,12 +1178,13 @@ Block
Compatible peer sockets @@ -950,7 +1118,7 @@ Compatible peer sockets

-ZMQ_UPSTREAM +ZMQ_PULL

-

ZMQ_UPSTREAM

-

A socket of type ZMQ_UPSTREAM is used by a pipeline node to receive -messages from upstream pipeline nodes. Messages are fair-queued from among -all connected upstream nodes. The zmq_send() function is not implemented -for this socket type.

-
Summary of ZMQ_UPSTREAM characteristics
+

ZMQ_PULL

+

A socket of type ZMQ_PULL is used by a pipeline node to receive messages +from upstream pipeline nodes. Messages are fair-queued from among all +connected upstream nodes. The zmq_send() function is not implemented for +this socket type.

+

Deprecated alias: ZMQ_UPSTREAM.

+
Summary of ZMQ_PULL characteristics
@@ -1197,6 +1366,14 @@ The requested socket type is invalid. The maximum number of sockets within this context has been exceeded.

+
+EFAULT +
+
+

+The provided context was not valid (NULL). +

+

SEE ALSO

@@ -1218,7 +1395,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/doc/zmq_socket.txt b/doc/zmq_socket.txt index 23cc317..2156af2 100644 --- a/doc/zmq_socket.txt +++ b/doc/zmq_socket.txt @@ -104,6 +104,65 @@ Outgoing routing stratagy:: Last peer ZMQ_HWM option action:: Drop +ZMQ_XREQ +^^^^^^^^ +A socket of type 'ZMQ_XREQ' is an advanced pattern used for extending +request/reply sockets. Each message sent is load-balanced among all connected +peers, and each message received is fair-queued from all connected peers. + +When a 'ZMQ_XREQ' socket enters an exceptional state due to having reached the +high water mark for all peers, or if there are no peers at all, then any +linkzmq:zmq_send[3] operations on the socket shall block until the exceptional +state ends or at least one peer becomes available for sending; messages are not +discarded. + +When a 'ZMQ_XREQ' socket is connected to a 'ZMQ_REP' socket each message sent +must consist of an empty message part, the _delimiter_, followed by one or more +_body parts_. + +[horizontal] +.Summary of ZMQ_XREQ characteristics +Compatible peer sockets:: 'ZMQ_XREP', 'ZMQ_REP' +Direction:: Bidirectional +Send/receive pattern:: Unrestricted +Outgoing routing strategy:: Load-balanced +Incoming routing strategy:: Fair-queued +ZMQ_HWM option action:: Block + + +ZMQ_XREP +^^^^^^^^ +A socket of type 'ZMQ_XREP' is an advanced pattern used for extending +request/reply sockets. When receiving messages a 'ZMQ_XREP' socket shall +prepend a message part containing the _identity_ of the originating peer to the +message before passing it to the application. Messages received are fair-queued +from among all connected peers. When sending messages a 'ZMQ_XREP' socket shall +remove the first part of the message and use it to determine the _identity_ of +the peer the message shall be routed to. + +When a 'ZMQ_XREP' socket enters an exceptional state due to having reached the +high water mark for all peers, or if there are no peers at all, then any +messages sent to the socket shall be dropped until the exceptional state ends. +Likewise, any messages routed to a non-existent peer or a peer for which the +individual high water mark has been reached shall also be dropped. + +When a 'ZMQ_REQ' socket is connected to a 'ZMQ_XREP' socket, in addition to the +_identity_ of the originating peer each message received shall contain an empty +_delimiter_ message part. Hence, the entire structure of each received message +as seen by the application becomes: one or more _identity_ parts, _delimiter_ +part, one or more _body parts_. When sending replies to a 'ZMQ_REQ' socket the +application must include the _delimiter_ part. + +[horizontal] +.Summary of ZMQ_XREP characteristics +Compatible peer sockets:: 'ZMQ_XREQ', 'ZMQ_REQ' +Direction:: Bidirectional +Send/receive pattern:: Unrestricted +Outgoing routing strategy:: See text +Incoming routing strategy:: Fair-queued +ZMQ_HWM option action:: Drop + + Publish-subscribe pattern ~~~~~~~~~~~~~~~~~~~~~~~~~ The publish-subscribe pattern is used for one-to-many distribution of data from @@ -157,22 +216,24 @@ is connected to at least one _node_. When a pipeline stage is connected to multiple _nodes_ data is load-balanced among all connected _nodes_. -ZMQ_DOWNSTREAM -^^^^^^^^^^^^^^ -A socket of type 'ZMQ_DOWNSTREAM' is used by a pipeline _node_ to send messages +ZMQ_PUSH +^^^^^^^^ +A socket of type 'ZMQ_PUSH' is used by a pipeline _node_ to send messages to downstream pipeline _nodes_. Messages are load-balanced to all connected downstream _nodes_. The _zmq_recv()_ function is not implemented for this socket type. -When a 'ZMQ_DOWNSTREAM' socket enters an exceptional state due to having -reached the high water mark for all downstream _nodes_, or if there are no -downstream _nodes_ at all, then any linkzmq:zmq_send[3] operations on the -socket shall block until the exceptional state ends or at least one downstream -_node_ becomes available for sending; messages are not discarded. +When a 'ZMQ_PUSH' socket enters an exceptional state due to having reached the +high water mark for all downstream _nodes_, or if there are no downstream +_nodes_ at all, then any linkzmq:zmq_send[3] operations on the socket shall +block until the exceptional state ends or at least one downstream _node_ +becomes available for sending; messages are not discarded. + +Deprecated alias: 'ZMQ_DOWNSTREAM'. [horizontal] -.Summary of ZMQ_DOWNSTREAM characteristics -Compatible peer sockets:: 'ZMQ_UPSTREAM' +.Summary of ZMQ_PUSH characteristics +Compatible peer sockets:: 'ZMQ_PULL' Direction:: Unidirectional Send/receive pattern:: Send only Incoming routing strategy:: N/A @@ -180,16 +241,18 @@ Outgoing routing strategy:: Load-balanced ZMQ_HWM option action:: Block -ZMQ_UPSTREAM -^^^^^^^^^^^^ -A socket of type 'ZMQ_UPSTREAM' is used by a pipeline _node_ to receive -messages from upstream pipeline _nodes_. Messages are fair-queued from among -all connected upstream _nodes_. The _zmq_send()_ function is not implemented -for this socket type. +ZMQ_PULL +^^^^^^^^ +A socket of type 'ZMQ_PULL' is used by a pipeline _node_ to receive messages +from upstream pipeline _nodes_. Messages are fair-queued from among all +connected upstream _nodes_. The _zmq_send()_ function is not implemented for +this socket type. + +Deprecated alias: 'ZMQ_UPSTREAM'. [horizontal] -.Summary of ZMQ_UPSTREAM characteristics -Compatible peer sockets:: 'ZMQ_DOWNSTREAM' +.Summary of ZMQ_PULL characteristics +Compatible peer sockets:: 'ZMQ_PUSH' Direction:: Unidirectional Send/receive pattern:: Receive only Incoming routing strategy:: Fair-queued @@ -238,9 +301,10 @@ ERRORS ------ *EINVAL*:: The requested socket 'type' is invalid. - *EMTHREAD*:: The maximum number of sockets within this 'context' has been exceeded. +*EFAULT*:: +The provided 'context' was not valid (NULL). SEE ALSO diff --git a/doc/zmq_streamer.1 b/doc/zmq_streamer.1 index d8af2e5..8a5c212 100644 --- a/doc/zmq_streamer.1 +++ b/doc/zmq_streamer.1 @@ -2,12 +2,12 @@ .\" Title: zmq_streamer .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_STREAMER" "1" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_STREAMER" "1" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/doc/zmq_streamer.html b/doc/zmq_streamer.html index 389c146..ea39ef9 100644 --- a/doc/zmq_streamer.html +++ b/doc/zmq_streamer.html @@ -605,7 +605,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/doc/zmq_strerror.3 b/doc/zmq_strerror.3 index 3045e41..a32b650 100644 --- a/doc/zmq_strerror.3 +++ b/doc/zmq_strerror.3 @@ -2,12 +2,12 @@ .\" Title: zmq_strerror .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_STRERROR" "3" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_STRERROR" "3" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/doc/zmq_strerror.html b/doc/zmq_strerror.html index a57b380..2f60b25 100644 --- a/doc/zmq_strerror.html +++ b/doc/zmq_strerror.html @@ -626,7 +626,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/doc/zmq_tcp.7 b/doc/zmq_tcp.7 index 3d4129b..31430a0 100644 --- a/doc/zmq_tcp.7 +++ b/doc/zmq_tcp.7 @@ -2,12 +2,12 @@ .\" Title: zmq_tcp .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_TCP" "7" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_TCP" "7" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -49,7 +49,8 @@ An \fIinterface\fR may be specified by either of the following: .sp -1 .IP \(bu 2.3 .\} -The interface name as defined by the operating system\&. +The wildcard +*, meaning all available interfaces\&. .RE .sp .RS 4 @@ -60,7 +61,7 @@ The interface name as defined by the operating system\&. .sp -1 .IP \(bu 2.3 .\} -The primary IPv4 address assigned to the interface, in it\(cqs numeric representation\&. +The primary IPv4 address assigned to the interface, in its numeric representation\&. .RE .sp .RS 4 @@ -71,8 +72,7 @@ The primary IPv4 address assigned to the interface, in it\(cqs numeric represent .sp -1 .IP \(bu 2.3 .\} -The wildcard -*, meaning that the interface address is unspecified\&. +The interface name as defined by the operating system\&. .RE .if n \{\ .sp @@ -194,15 +194,15 @@ The following diagram illustrates the layout of a frame with a \fIpayload length .RS 4 .\} .nf +/* TCP port 5555 on all available interfaces */ +rc = zmq_bind(socket, "tcp://*:5555"); +assert (rc == 0); /* TCP port 5555 on the local loopback interface on all platforms */ rc = zmq_bind(socket, "tcp://127\&.0\&.0\&.1:5555"); assert (rc == 0); /* TCP port 5555 on the first ethernet network interface on Linux */ rc = zmq_bind(socket, "tcp://eth0:5555"); assert (rc == 0); -/* TCP port 5555 with an unspecified interface */ -rc = zmq_bind(socket, "tcp://*:5555"); -assert (rc == 0); .fi .if n \{\ .RE diff --git a/doc/zmq_tcp.html b/doc/zmq_tcp.html index 6a7ca72..38c2db7 100644 --- a/doc/zmq_tcp.html +++ b/doc/zmq_tcp.html @@ -600,17 +600,18 @@ colon and the TCP port number to use.

  • -The interface name as defined by the operating system. +The wildcard *, meaning all available interfaces.

  • -The primary IPv4 address assigned to the interface, in it’s numeric representation. +The primary IPv4 address assigned to the interface, in its numeric + representation.

  • -The wildcard *, meaning that the interface address is unspecified. +The interface name as defined by the operating system.

@@ -707,14 +708,14 @@ exceeding 254 octets:

Assigning a local address to a socket
-
/* TCP port 5555 on the local loopback interface on all platforms */
+
/* TCP port 5555 on all available interfaces */
+rc = zmq_bind(socket, "tcp://*:5555");
+assert (rc == 0);
+/* TCP port 5555 on the local loopback interface on all platforms */
 rc = zmq_bind(socket, "tcp://127.0.0.1:5555");
 assert (rc == 0);
 /* TCP port 5555 on the first ethernet network interface on Linux */
 rc = zmq_bind(socket, "tcp://eth0:5555");
-assert (rc == 0);
-/* TCP port 5555 with an unspecified interface */
-rc = zmq_bind(socket, "tcp://*:5555");
 assert (rc == 0);
@@ -746,7 +747,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/doc/zmq_tcp.txt b/doc/zmq_tcp.txt index a845f62..29fa181 100644 --- a/doc/zmq_tcp.txt +++ b/doc/zmq_tcp.txt @@ -30,9 +30,10 @@ colon and the TCP port number to use. An 'interface' may be specified by either of the following: +* The wildcard `*`, meaning all available interfaces. +* The primary IPv4 address assigned to the interface, in its numeric + representation. * The interface name as defined by the operating system. -* The primary IPv4 address assigned to the interface, in it's numeric representation. -* The wildcard `*`, meaning that the interface address is unspecified. NOTE: Interface names are not standardised in any way and should be assumed to be arbitrary and platform dependent. On Win32 platforms no short interface @@ -123,15 +124,15 @@ EXAMPLES -------- .Assigning a local address to a socket ---- +/* TCP port 5555 on all available interfaces */ +rc = zmq_bind(socket, "tcp://*:5555"); +assert (rc == 0); /* TCP port 5555 on the local loopback interface on all platforms */ rc = zmq_bind(socket, "tcp://127.0.0.1:5555"); assert (rc == 0); /* TCP port 5555 on the first ethernet network interface on Linux */ rc = zmq_bind(socket, "tcp://eth0:5555"); assert (rc == 0); -/* TCP port 5555 with an unspecified interface */ -rc = zmq_bind(socket, "tcp://*:5555"); -assert (rc == 0); ---- .Connecting a socket diff --git a/doc/zmq_term.3 b/doc/zmq_term.3 index bfb533d..e1bb69d 100644 --- a/doc/zmq_term.3 +++ b/doc/zmq_term.3 @@ -2,12 +2,12 @@ .\" Title: zmq_term .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_TERM" "3" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_TERM" "3" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -98,8 +98,13 @@ until the last socket within it is closed with .sp The \fIzmq_term()\fR function shall return zero if successful\&. Otherwise it shall return \-1 and set \fIerrno\fR to one of the values defined below\&. .SH "ERRORS" -.sp -No errors are defined\&. +.PP +\fBEFAULT\fR +.RS 4 +The provided +\fIcontext\fR +was not valid (NULL)\&. +.RE .SH "SEE ALSO" .sp \fBzmq\fR(7) \fBzmq_init\fR(3) diff --git a/doc/zmq_term.html b/doc/zmq_term.html index 847abf5..d44d336 100644 --- a/doc/zmq_term.html +++ b/doc/zmq_term.html @@ -625,7 +625,16 @@ return -1 and set errno to one of the values defined below.

ERRORS

-

No errors are defined.

+
+
+EFAULT +
+
+

+The provided context was not valid (NULL). +

+
+

SEE ALSO

@@ -641,7 +650,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/doc/zmq_term.txt b/doc/zmq_term.txt index 820fa30..f3ffa01 100644 --- a/doc/zmq_term.txt +++ b/doc/zmq_term.txt @@ -43,7 +43,8 @@ return `-1` and set 'errno' to one of the values defined below. ERRORS ------ -No errors are defined. +*EFAULT*:: +The provided 'context' was not valid (NULL). SEE ALSO diff --git a/doc/zmq_version.3 b/doc/zmq_version.3 index 37d2aaa..c87eede 100644 --- a/doc/zmq_version.3 +++ b/doc/zmq_version.3 @@ -2,12 +2,12 @@ .\" Title: zmq_version .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 -.\" Date: 06/04/2010 +.\" Date: 09/06/2010 .\" Manual: 0MQ Manual -.\" Source: 0MQ 2.0.7 +.\" Source: 0MQ 2.0.9 .\" Language: English .\" -.TH "ZMQ_VERSION" "3" "06/04/2010" "0MQ 2\&.0\&.7" "0MQ Manual" +.TH "ZMQ_VERSION" "3" "09/06/2010" "0MQ 2\&.0\&.9" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/doc/zmq_version.html b/doc/zmq_version.html index 7be9aa2..130daf1 100644 --- a/doc/zmq_version.html +++ b/doc/zmq_version.html @@ -624,7 +624,8 @@ Martin Lucina <mato@kotelna.sk>.

<

diff --git a/foreign/openpgm/libpgm-2.1.26.tar.gz b/foreign/openpgm/libpgm-2.1.26.tar.gz index 2e09df8..03887e4 100644 Binary files a/foreign/openpgm/libpgm-2.1.26.tar.gz and b/foreign/openpgm/libpgm-2.1.26.tar.gz differ diff --git a/foreign/xmlParser/xmlParser.hpp b/foreign/xmlParser/xmlParser.hpp index 321eed3..dda41f3 100644 --- a/foreign/xmlParser/xmlParser.hpp +++ b/foreign/xmlParser/xmlParser.hpp @@ -379,7 +379,7 @@ typedef struct XMLDLLENTRY XMLNode XMLNode(const XMLNode &A); ///< to allow shallow/fast copy: XMLNode& operator=( const XMLNode& A ); ///< to allow shallow/fast copy: - XMLNode(): d(NULL){}; + XMLNode(): d(NULL){} static XMLNode emptyXMLNode; static XMLClear emptyXMLClear; static XMLAttribute emptyXMLAttribute; diff --git a/include/zmq.h b/include/zmq.h index 3bf55b6..90a73c2 100644 --- a/include/zmq.h +++ b/include/zmq.h @@ -42,13 +42,13 @@ extern "C" { #endif /******************************************************************************/ -/* 0MQ versioning support. */ +/* 0MQ versioning support. */ /******************************************************************************/ ZMQ_EXPORT void zmq_version (int *major, int *minor, int *patch); /******************************************************************************/ -// 0MQ errors. +/* 0MQ errors. */ /******************************************************************************/ /* A number random anough not to collide with different errno ranges on */ @@ -159,8 +159,10 @@ ZMQ_EXPORT int zmq_term (void *context); #define ZMQ_REP 4 #define ZMQ_XREQ 5 #define ZMQ_XREP 6 -#define ZMQ_UPSTREAM 7 -#define ZMQ_DOWNSTREAM 8 +#define ZMQ_PULL 7 +#define ZMQ_PUSH 8 +#define ZMQ_UPSTREAM ZMQ_PULL /* Old alias, remove in 3.x */ +#define ZMQ_DOWNSTREAM ZMQ_PUSH /* Old alias, remove in 3.x */ /* Socket options. */ #define ZMQ_HWM 1 @@ -223,8 +225,11 @@ ZMQ_EXPORT int zmq_poll (zmq_pollitem_t *items, int nitems, long timeout); ZMQ_EXPORT int zmq_device (int device, void * insocket, void* outsocket); +#undef ZMQ_EXPORT + #ifdef __cplusplus } #endif #endif + diff --git a/include/zmq_utils.h b/include/zmq_utils.h new file mode 100644 index 0000000..5b78e10 --- /dev/null +++ b/include/zmq_utils.h @@ -0,0 +1,57 @@ +/* + Copyright (c) 2007-2010 iMatix Corporation + + This file is part of 0MQ. + + 0MQ is free software; you can redistribute it and/or modify it under + the terms of the Lesser GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + 0MQ is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + Lesser GNU General Public License for more details. + + You should have received a copy of the Lesser GNU General Public License + along with this program. If not, see . +*/ + +#ifndef __ZMQ_UTILS_H_INCLUDED__ +#define __ZMQ_UTILS_H_INCLUDED__ + +#ifdef __cplusplus +extern "C" { +#endif + +/* Win32 needs special handling for DLL exports */ +#if defined _WIN32 +# if defined DLL_EXPORT +# define ZMQ_EXPORT __declspec(dllexport) +# else +# define ZMQ_EXPORT __declspec(dllimport) +# endif +#else +# define ZMQ_EXPORT +#endif + +/* Helper functions are used by perf tests so that they don't have to care */ +/* about minutiae of time-related functions on different OS platforms. */ + +/* Starts the stopwatch. Returns the handle to the watch. */ +ZMQ_EXPORT void *zmq_stopwatch_start (); + +/* Stops the stopwatch. Returns the number of microseconds elapsed since */ +/* the stopwatch was started. */ +ZMQ_EXPORT unsigned long zmq_stopwatch_stop (void *watch_); + +/* Sleeps for specified number of seconds. */ +ZMQ_EXPORT void zmq_sleep (int seconds_); + +#undef ZMQ_EXPORT + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/perf/Makefile.am b/perf/Makefile.am index 323c91a..bf3dde9 100644 --- a/perf/Makefile.am +++ b/perf/Makefile.am @@ -1,16 +1,15 @@ INCLUDES = -I$(top_builddir)/include noinst_PROGRAMS = local_lat remote_lat local_thr remote_thr -EXTRA_DIST = helpers.h local_lat_LDADD = $(top_builddir)/src/libzmq.la -local_lat_SOURCES = local_lat.cpp helpers.cpp +local_lat_SOURCES = local_lat.cpp remote_lat_LDADD = $(top_builddir)/src/libzmq.la -remote_lat_SOURCES = remote_lat.cpp helpers.cpp +remote_lat_SOURCES = remote_lat.cpp local_thr_LDADD = $(top_builddir)/src/libzmq.la -local_thr_SOURCES = local_thr.cpp helpers.cpp +local_thr_SOURCES = local_thr.cpp remote_thr_LDADD = $(top_builddir)/src/libzmq.la -remote_thr_SOURCES = remote_thr.cpp helpers.cpp +remote_thr_SOURCES = remote_thr.cpp diff --git a/perf/Makefile.in b/perf/Makefile.in index ed9e5d7..8eba409 100644 --- a/perf/Makefile.in +++ b/perf/Makefile.in @@ -48,16 +48,16 @@ mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/src/platform.hpp CONFIG_CLEAN_FILES = PROGRAMS = $(noinst_PROGRAMS) -am_local_lat_OBJECTS = local_lat.$(OBJEXT) helpers.$(OBJEXT) +am_local_lat_OBJECTS = local_lat.$(OBJEXT) local_lat_OBJECTS = $(am_local_lat_OBJECTS) local_lat_DEPENDENCIES = $(top_builddir)/src/libzmq.la -am_local_thr_OBJECTS = local_thr.$(OBJEXT) helpers.$(OBJEXT) +am_local_thr_OBJECTS = local_thr.$(OBJEXT) local_thr_OBJECTS = $(am_local_thr_OBJECTS) local_thr_DEPENDENCIES = $(top_builddir)/src/libzmq.la -am_remote_lat_OBJECTS = remote_lat.$(OBJEXT) helpers.$(OBJEXT) +am_remote_lat_OBJECTS = remote_lat.$(OBJEXT) remote_lat_OBJECTS = $(am_remote_lat_OBJECTS) remote_lat_DEPENDENCIES = $(top_builddir)/src/libzmq.la -am_remote_thr_OBJECTS = remote_thr.$(OBJEXT) helpers.$(OBJEXT) +am_remote_thr_OBJECTS = remote_thr.$(OBJEXT) remote_thr_OBJECTS = $(am_remote_thr_OBJECTS) remote_thr_DEPENDENCIES = $(top_builddir)/src/libzmq.la DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src @@ -211,15 +211,14 @@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ INCLUDES = -I$(top_builddir)/include -EXTRA_DIST = helpers.h local_lat_LDADD = $(top_builddir)/src/libzmq.la -local_lat_SOURCES = local_lat.cpp helpers.cpp +local_lat_SOURCES = local_lat.cpp remote_lat_LDADD = $(top_builddir)/src/libzmq.la -remote_lat_SOURCES = remote_lat.cpp helpers.cpp +remote_lat_SOURCES = remote_lat.cpp local_thr_LDADD = $(top_builddir)/src/libzmq.la -local_thr_SOURCES = local_thr.cpp helpers.cpp +local_thr_SOURCES = local_thr.cpp remote_thr_LDADD = $(top_builddir)/src/libzmq.la -remote_thr_SOURCES = remote_thr.cpp helpers.cpp +remote_thr_SOURCES = remote_thr.cpp all: all-am .SUFFIXES: @@ -233,9 +232,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu perf/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign perf/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu perf/Makefile + $(AUTOMAKE) --foreign perf/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -279,7 +278,6 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/helpers.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/local_lat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/local_thr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/remote_lat.Po@am__quote@ diff --git a/perf/helpers.cpp b/perf/helpers.cpp deleted file mode 100644 index 94b653f..0000000 --- a/perf/helpers.cpp +++ /dev/null @@ -1,86 +0,0 @@ -/* - Copyright (c) 2007-2010 iMatix Corporation - - This file is part of 0MQ. - - 0MQ is free software; you can redistribute it and/or modify it under - the terms of the Lesser GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - 0MQ is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - Lesser GNU General Public License for more details. - - You should have received a copy of the Lesser GNU General Public License - along with this program. If not, see . -*/ - -#include -#include -#ifdef _WIN32 -# include "../src/windows.hpp" -#else -# include -# include -#endif -#include "../src/stdint.hpp" - -#ifdef _WIN32 - -static uint64_t now () -{ - // Get the high resolution counter's accuracy. - LARGE_INTEGER ticksPerSecond; - QueryPerformanceFrequency (&ticksPerSecond); - - // What time is it? - LARGE_INTEGER tick; - QueryPerformanceCounter (&tick); - - // Convert the tick number into the number of seconds - // since the system was started. - double ticks_div = (double) (ticksPerSecond.QuadPart / 1000000); - return (uint64_t) (tick.QuadPart / ticks_div); -} - -void perf_sleep (int seconds_) -{ - Sleep (seconds_ * 1000); -} - -#else /* not _WIN32 */ - -static uint64_t now () -{ - struct timeval tv; - int rc; - - rc = gettimeofday (&tv, NULL); - assert (rc == 0); - return (tv.tv_sec * (uint64_t) 1000000 + tv.tv_usec); -} - -void perf_sleep (int seconds_) -{ - sleep (seconds_); -} - -#endif /* _WIN32 */ - -void *stopwatch_start () -{ - uint64_t *watch = (uint64_t*) malloc (sizeof (uint64_t)); - assert (watch); - *watch = now (); - return (void*) watch; -} - -unsigned long stopwatch_stop (void *watch_) -{ - uint64_t end = now (); - uint64_t start = *(uint64_t*) watch_; - free (watch_); - return (unsigned long) (end - start); -} diff --git a/perf/helpers.h b/perf/helpers.h deleted file mode 100644 index b790f59..0000000 --- a/perf/helpers.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - Copyright (c) 2007-2010 iMatix Corporation - - This file is part of 0MQ. - - 0MQ is free software; you can redistribute it and/or modify it under - the terms of the Lesser GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - 0MQ is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - Lesser GNU General Public License for more details. - - You should have received a copy of the Lesser GNU General Public License - along with this program. If not, see . -*/ - -#ifndef __HELPERS_H_INCLUDED__ -#define __HELPERS_H_INCLUDED__ - -/******************************************************************************/ -/* Helper functions. */ -/******************************************************************************/ - -/* Helper functions are used by perf tests so that they don't have to care */ -/* about minutiae of time-related functions on different OS platforms. */ - -/* Starts the stopwatch. Returns the handle to the watch. */ -void *stopwatch_start (); - -/* Stops the stopwatch. Returns the number of microseconds elapsed since */ -/* the stopwatch was started. */ -unsigned long stopwatch_stop (void *watch_); - -/* Sleeps for specified number of seconds. */ -void perf_sleep (int seconds_); - -#endif diff --git a/perf/local_lat.cpp b/perf/local_lat.cpp index 0628a97..4db756d 100644 --- a/perf/local_lat.cpp +++ b/perf/local_lat.cpp @@ -18,9 +18,9 @@ */ #include "../include/zmq.h" +#include "../include/zmq_utils.h" #include #include -#include "helpers.h" int main (int argc, char *argv []) { @@ -89,7 +89,7 @@ int main (int argc, char *argv []) return -1; } - perf_sleep (1); + zmq_sleep (1); rc = zmq_close (s); if (rc != 0) { diff --git a/perf/local_thr.cpp b/perf/local_thr.cpp index 8480ebd..016826b 100644 --- a/perf/local_thr.cpp +++ b/perf/local_thr.cpp @@ -18,9 +18,9 @@ */ #include "../include/zmq.h" +#include "../include/zmq_utils.h" #include #include -#include "helpers.h" int main (int argc, char *argv []) { @@ -47,7 +47,7 @@ int main (int argc, char *argv []) ctx = zmq_init (1); if (!ctx) { - printf ("error in zmq_send: %s\n", zmq_strerror (errno)); + printf ("error in zmq_init: %s\n", zmq_strerror (errno)); return -1; } @@ -88,7 +88,7 @@ int main (int argc, char *argv []) return -1; } - watch = stopwatch_start (); + watch = zmq_stopwatch_start (); for (i = 0; i != message_count - 1; i++) { rc = zmq_recv (s, &msg, 0); @@ -102,7 +102,7 @@ int main (int argc, char *argv []) } } - elapsed = stopwatch_stop (watch); + elapsed = zmq_stopwatch_stop (watch); if (elapsed == 0) elapsed = 1; diff --git a/perf/remote_lat.cpp b/perf/remote_lat.cpp index cd465f7..37535e6 100644 --- a/perf/remote_lat.cpp +++ b/perf/remote_lat.cpp @@ -18,10 +18,10 @@ */ #include "../include/zmq.h" +#include "../include/zmq_utils.h" #include #include #include -#include "helpers.h" int main (int argc, char *argv []) { @@ -71,7 +71,7 @@ int main (int argc, char *argv []) } memset (zmq_msg_data (&msg), 0, message_size); - watch = stopwatch_start (); + watch = zmq_stopwatch_start (); for (i = 0; i != roundtrip_count; i++) { rc = zmq_send (s, &msg, 0); @@ -90,7 +90,7 @@ int main (int argc, char *argv []) } } - elapsed = stopwatch_stop (watch); + elapsed = zmq_stopwatch_stop (watch); rc = zmq_msg_close (&msg); if (rc != 0) { diff --git a/perf/remote_thr.cpp b/perf/remote_thr.cpp index 002aaf2..1e69601 100644 --- a/perf/remote_thr.cpp +++ b/perf/remote_thr.cpp @@ -18,9 +18,9 @@ */ #include "../include/zmq.h" +#include "../include/zmq_utils.h" #include #include -#include "helpers.h" int main (int argc, char *argv []) { @@ -44,7 +44,7 @@ int main (int argc, char *argv []) ctx = zmq_init (1); if (!ctx) { - printf ("error in zmq_recv: %s\n", zmq_strerror (errno)); + printf ("error in zmq_init: %s\n", zmq_strerror (errno)); return -1; } @@ -81,7 +81,7 @@ int main (int argc, char *argv []) } } - perf_sleep (10); + zmq_sleep (10); rc = zmq_close (s); if (rc != 0) { diff --git a/src/Makefile.am b/src/Makefile.am index fa97ca3..19a80d0 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -3,7 +3,7 @@ lib_LTLIBRARIES = libzmq.la pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libzmq.pc -include_HEADERS = ../include/zmq.h ../include/zmq.hpp +include_HEADERS = ../include/zmq.h ../include/zmq.hpp ../include/zmq_utils.h if BUILD_PGM pgm_sources = ../foreign/openpgm/@pgm_basename@/openpgm/pgm/packet.c \ @@ -58,7 +58,7 @@ libzmq_la_SOURCES = app_thread.hpp \ ctx.hpp \ decoder.hpp \ devpoll.hpp \ - downstream.hpp \ + push.hpp \ encoder.hpp \ epoll.hpp \ err.hpp \ @@ -76,6 +76,7 @@ libzmq_la_SOURCES = app_thread.hpp \ lb.hpp \ likely.hpp \ msg_content.hpp \ + msg_store.hpp \ mutex.hpp \ object.hpp \ options.hpp \ @@ -104,7 +105,7 @@ libzmq_la_SOURCES = app_thread.hpp \ tcp_listener.hpp \ tcp_socket.hpp \ thread.hpp \ - upstream.hpp \ + pull.hpp \ uuid.hpp \ windows.hpp \ wire.hpp \ @@ -124,7 +125,7 @@ libzmq_la_SOURCES = app_thread.hpp \ command.cpp \ ctx.cpp \ devpoll.cpp \ - downstream.cpp \ + push.cpp \ epoll.cpp \ err.cpp \ forwarder.cpp \ @@ -134,6 +135,7 @@ libzmq_la_SOURCES = app_thread.hpp \ ip.cpp \ kqueue.cpp \ lb.cpp \ + msg_store.cpp \ object.cpp \ options.cpp \ owned.cpp \ @@ -158,7 +160,7 @@ libzmq_la_SOURCES = app_thread.hpp \ tcp_listener.cpp \ tcp_socket.cpp \ thread.cpp \ - upstream.cpp \ + pull.cpp \ uuid.cpp \ xrep.cpp \ xreq.cpp \ diff --git a/src/Makefile.in b/src/Makefile.in index bc3f00f..1bb65a4 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -61,11 +61,12 @@ libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) libzmq_la_LIBADD = am_libzmq_la_OBJECTS = libzmq_la-app_thread.lo libzmq_la-command.lo \ - libzmq_la-ctx.lo libzmq_la-devpoll.lo libzmq_la-downstream.lo \ + libzmq_la-ctx.lo libzmq_la-devpoll.lo libzmq_la-push.lo \ libzmq_la-epoll.lo libzmq_la-err.lo libzmq_la-forwarder.lo \ libzmq_la-fq.lo libzmq_la-io_object.lo libzmq_la-io_thread.lo \ libzmq_la-ip.lo libzmq_la-kqueue.lo libzmq_la-lb.lo \ - libzmq_la-object.lo libzmq_la-options.lo libzmq_la-owned.lo \ + libzmq_la-msg_store.lo libzmq_la-object.lo \ + libzmq_la-options.lo libzmq_la-owned.lo \ libzmq_la-pgm_receiver.lo libzmq_la-pgm_sender.lo \ libzmq_la-pgm_socket.lo libzmq_la-pair.lo \ libzmq_la-prefix_tree.lo libzmq_la-pipe.lo libzmq_la-poll.lo \ @@ -74,9 +75,9 @@ am_libzmq_la_OBJECTS = libzmq_la-app_thread.lo libzmq_la-command.lo \ libzmq_la-signaler.lo libzmq_la-socket_base.lo \ libzmq_la-streamer.lo libzmq_la-sub.lo \ libzmq_la-tcp_connecter.lo libzmq_la-tcp_listener.lo \ - libzmq_la-tcp_socket.lo libzmq_la-thread.lo \ - libzmq_la-upstream.lo libzmq_la-uuid.lo libzmq_la-xrep.lo \ - libzmq_la-xreq.lo libzmq_la-zmq.lo libzmq_la-zmq_connecter.lo \ + libzmq_la-tcp_socket.lo libzmq_la-thread.lo libzmq_la-pull.lo \ + libzmq_la-uuid.lo libzmq_la-xrep.lo libzmq_la-xreq.lo \ + libzmq_la-zmq.lo libzmq_la-zmq_connecter.lo \ libzmq_la-zmq_decoder.lo libzmq_la-zmq_encoder.lo \ libzmq_la-zmq_engine.lo libzmq_la-zmq_init.lo \ libzmq_la-zmq_listener.lo @@ -271,7 +272,7 @@ top_srcdir = @top_srcdir@ lib_LTLIBRARIES = libzmq.la pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libzmq.pc -include_HEADERS = ../include/zmq.h ../include/zmq.hpp +include_HEADERS = ../include/zmq.h ../include/zmq.hpp ../include/zmq_utils.h @BUILD_PGM_TRUE@pgm_sources = ../foreign/openpgm/@pgm_basename@/openpgm/pgm/packet.c \ @BUILD_PGM_TRUE@ ../foreign/openpgm/@pgm_basename@/openpgm/pgm/time.c \ @BUILD_PGM_TRUE@ ../foreign/openpgm/@pgm_basename@/openpgm/pgm/if.c \ @@ -316,7 +317,7 @@ libzmq_la_SOURCES = app_thread.hpp \ ctx.hpp \ decoder.hpp \ devpoll.hpp \ - downstream.hpp \ + push.hpp \ encoder.hpp \ epoll.hpp \ err.hpp \ @@ -334,6 +335,7 @@ libzmq_la_SOURCES = app_thread.hpp \ lb.hpp \ likely.hpp \ msg_content.hpp \ + msg_store.hpp \ mutex.hpp \ object.hpp \ options.hpp \ @@ -362,7 +364,7 @@ libzmq_la_SOURCES = app_thread.hpp \ tcp_listener.hpp \ tcp_socket.hpp \ thread.hpp \ - upstream.hpp \ + pull.hpp \ uuid.hpp \ windows.hpp \ wire.hpp \ @@ -382,7 +384,7 @@ libzmq_la_SOURCES = app_thread.hpp \ command.cpp \ ctx.cpp \ devpoll.cpp \ - downstream.cpp \ + push.cpp \ epoll.cpp \ err.cpp \ forwarder.cpp \ @@ -392,6 +394,7 @@ libzmq_la_SOURCES = app_thread.hpp \ ip.cpp \ kqueue.cpp \ lb.cpp \ + msg_store.cpp \ object.cpp \ options.cpp \ owned.cpp \ @@ -416,7 +419,7 @@ libzmq_la_SOURCES = app_thread.hpp \ tcp_listener.cpp \ tcp_socket.cpp \ thread.cpp \ - upstream.cpp \ + pull.cpp \ uuid.cpp \ xrep.cpp \ xreq.cpp \ @@ -497,9 +500,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu src/Makefile + $(AUTOMAKE) --foreign src/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -579,7 +582,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-command.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-ctx.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-devpoll.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-downstream.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-epoll.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-err.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-forwarder.Plo@am__quote@ @@ -600,6 +602,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-lb.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-log.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-md5.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-msg_store.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-nametoindex.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-net.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-object.Plo@am__quote@ @@ -615,6 +618,8 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-poll.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-prefix_tree.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-pub.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-pull.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-push.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-queue.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-rate_control.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-receiver.Plo@am__quote@ @@ -641,7 +646,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-transport.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-tsi.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-txwi.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-upstream.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-uuid.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-version.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-wsastrerror.Plo@am__quote@ @@ -956,12 +960,12 @@ libzmq_la-devpoll.lo: devpoll.cpp @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libzmq_la_CXXFLAGS) $(CXXFLAGS) -c -o libzmq_la-devpoll.lo `test -f 'devpoll.cpp' || echo '$(srcdir)/'`devpoll.cpp -libzmq_la-downstream.lo: downstream.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libzmq_la_CXXFLAGS) $(CXXFLAGS) -MT libzmq_la-downstream.lo -MD -MP -MF $(DEPDIR)/libzmq_la-downstream.Tpo -c -o libzmq_la-downstream.lo `test -f 'downstream.cpp' || echo '$(srcdir)/'`downstream.cpp -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libzmq_la-downstream.Tpo $(DEPDIR)/libzmq_la-downstream.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='downstream.cpp' object='libzmq_la-downstream.lo' libtool=yes @AMDEPBACKSLASH@ +libzmq_la-push.lo: push.cpp +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libzmq_la_CXXFLAGS) $(CXXFLAGS) -MT libzmq_la-push.lo -MD -MP -MF $(DEPDIR)/libzmq_la-push.Tpo -c -o libzmq_la-push.lo `test -f 'push.cpp' || echo '$(srcdir)/'`push.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libzmq_la-push.Tpo $(DEPDIR)/libzmq_la-push.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='push.cpp' object='libzmq_la-push.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libzmq_la_CXXFLAGS) $(CXXFLAGS) -c -o libzmq_la-downstream.lo `test -f 'downstream.cpp' || echo '$(srcdir)/'`downstream.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libzmq_la_CXXFLAGS) $(CXXFLAGS) -c -o libzmq_la-push.lo `test -f 'push.cpp' || echo '$(srcdir)/'`push.cpp libzmq_la-epoll.lo: epoll.cpp @am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libzmq_la_CXXFLAGS) $(CXXFLAGS) -MT libzmq_la-epoll.lo -MD -MP -MF $(DEPDIR)/libzmq_la-epoll.Tpo -c -o libzmq_la-epoll.lo `test -f 'epoll.cpp' || echo '$(srcdir)/'`epoll.cpp @@ -1026,6 +1030,13 @@ libzmq_la-lb.lo: lb.cpp @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libzmq_la_CXXFLAGS) $(CXXFLAGS) -c -o libzmq_la-lb.lo `test -f 'lb.cpp' || echo '$(srcdir)/'`lb.cpp +libzmq_la-msg_store.lo: msg_store.cpp +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libzmq_la_CXXFLAGS) $(CXXFLAGS) -MT libzmq_la-msg_store.lo -MD -MP -MF $(DEPDIR)/libzmq_la-msg_store.Tpo -c -o libzmq_la-msg_store.lo `test -f 'msg_store.cpp' || echo '$(srcdir)/'`msg_store.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libzmq_la-msg_store.Tpo $(DEPDIR)/libzmq_la-msg_store.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='msg_store.cpp' object='libzmq_la-msg_store.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libzmq_la_CXXFLAGS) $(CXXFLAGS) -c -o libzmq_la-msg_store.lo `test -f 'msg_store.cpp' || echo '$(srcdir)/'`msg_store.cpp + libzmq_la-object.lo: object.cpp @am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libzmq_la_CXXFLAGS) $(CXXFLAGS) -MT libzmq_la-object.lo -MD -MP -MF $(DEPDIR)/libzmq_la-object.Tpo -c -o libzmq_la-object.lo `test -f 'object.cpp' || echo '$(srcdir)/'`object.cpp @am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libzmq_la-object.Tpo $(DEPDIR)/libzmq_la-object.Plo @@ -1194,12 +1205,12 @@ libzmq_la-thread.lo: thread.cpp @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libzmq_la_CXXFLAGS) $(CXXFLAGS) -c -o libzmq_la-thread.lo `test -f 'thread.cpp' || echo '$(srcdir)/'`thread.cpp -libzmq_la-upstream.lo: upstream.cpp -@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libzmq_la_CXXFLAGS) $(CXXFLAGS) -MT libzmq_la-upstream.lo -MD -MP -MF $(DEPDIR)/libzmq_la-upstream.Tpo -c -o libzmq_la-upstream.lo `test -f 'upstream.cpp' || echo '$(srcdir)/'`upstream.cpp -@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libzmq_la-upstream.Tpo $(DEPDIR)/libzmq_la-upstream.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='upstream.cpp' object='libzmq_la-upstream.lo' libtool=yes @AMDEPBACKSLASH@ +libzmq_la-pull.lo: pull.cpp +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libzmq_la_CXXFLAGS) $(CXXFLAGS) -MT libzmq_la-pull.lo -MD -MP -MF $(DEPDIR)/libzmq_la-pull.Tpo -c -o libzmq_la-pull.lo `test -f 'pull.cpp' || echo '$(srcdir)/'`pull.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libzmq_la-pull.Tpo $(DEPDIR)/libzmq_la-pull.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='pull.cpp' object='libzmq_la-pull.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libzmq_la_CXXFLAGS) $(CXXFLAGS) -c -o libzmq_la-upstream.lo `test -f 'upstream.cpp' || echo '$(srcdir)/'`upstream.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libzmq_la_CXXFLAGS) $(CXXFLAGS) -c -o libzmq_la-pull.lo `test -f 'pull.cpp' || echo '$(srcdir)/'`pull.cpp libzmq_la-uuid.lo: uuid.cpp @am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libzmq_la_CXXFLAGS) $(CXXFLAGS) -MT libzmq_la-uuid.lo -MD -MP -MF $(DEPDIR)/libzmq_la-uuid.Tpo -c -o libzmq_la-uuid.lo `test -f 'uuid.cpp' || echo '$(srcdir)/'`uuid.cpp diff --git a/src/app_thread.cpp b/src/app_thread.cpp index fbf034c..ac59464 100644 --- a/src/app_thread.cpp +++ b/src/app_thread.cpp @@ -46,8 +46,8 @@ #include "rep.hpp" #include "xreq.hpp" #include "xrep.hpp" -#include "upstream.hpp" -#include "downstream.hpp" +#include "pull.hpp" +#include "push.hpp" // If the RDTSC is available we use it to prevent excessive // polling for commands. The nice thing here is that it will work on any @@ -157,11 +157,11 @@ zmq::socket_base_t *zmq::app_thread_t::create_socket (int type_) case ZMQ_XREP: s = new (std::nothrow) xrep_t (this); break; - case ZMQ_UPSTREAM: - s = new (std::nothrow) upstream_t (this); + case ZMQ_PULL: + s = new (std::nothrow) pull_t (this); break; - case ZMQ_DOWNSTREAM: - s = new (std::nothrow) downstream_t (this); + case ZMQ_PUSH: + s = new (std::nothrow) push_t (this); break; default: if (sockets.empty ()) diff --git a/src/ctx.cpp b/src/ctx.cpp index f0e177d..397f692 100644 --- a/src/ctx.cpp +++ b/src/ctx.cpp @@ -151,6 +151,7 @@ zmq::socket_base_t *zmq::ctx_t::create_socket (int type_) // Create the new application thread proxy object. app_thread_info_t info; + memset (&info, 0, sizeof (info)); info.associated = false; info.app_thread = new (std::nothrow) app_thread_t (this, io_threads.size () + app_threads.size ()); diff --git a/src/decoder.hpp b/src/decoder.hpp index 1662bda..f05f651 100644 --- a/src/decoder.hpp +++ b/src/decoder.hpp @@ -55,7 +55,9 @@ namespace zmq zmq_assert (buf); } - inline ~decoder_t () + // The destructor doesn't have to be virtual. It is mad virtual + // just to keep ICC and code checking tools from complaining. + inline virtual ~decoder_t () { free (buf); } diff --git a/src/downstream.cpp b/src/downstream.cpp deleted file mode 100644 index 4074a9e..0000000 --- a/src/downstream.cpp +++ /dev/null @@ -1,101 +0,0 @@ -/* - Copyright (c) 2007-2010 iMatix Corporation - - This file is part of 0MQ. - - 0MQ is free software; you can redistribute it and/or modify it under - the terms of the Lesser GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - 0MQ is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - Lesser GNU General Public License for more details. - - You should have received a copy of the Lesser GNU General Public License - along with this program. If not, see . -*/ - -#include "../include/zmq.h" - -#include "downstream.hpp" -#include "err.hpp" -#include "pipe.hpp" - -zmq::downstream_t::downstream_t (class app_thread_t *parent_) : - socket_base_t (parent_) -{ - options.requires_in = false; - options.requires_out = true; -} - -zmq::downstream_t::~downstream_t () -{ -} - -void zmq::downstream_t::xattach_pipes (class reader_t *inpipe_, - class writer_t *outpipe_, const blob_t &peer_identity_) -{ - zmq_assert (!inpipe_ && outpipe_); - lb.attach (outpipe_); -} - -void zmq::downstream_t::xdetach_inpipe (class reader_t *pipe_) -{ - // There are no inpipes, so this function shouldn't be called at all. - zmq_assert (false); -} - -void zmq::downstream_t::xdetach_outpipe (class writer_t *pipe_) -{ - zmq_assert (pipe_); - lb.detach (pipe_); -} - -void zmq::downstream_t::xkill (class reader_t *pipe_) -{ - // There are no inpipes, so this function shouldn't be called at all. - zmq_assert (false); -} - -void zmq::downstream_t::xrevive (class reader_t *pipe_) -{ - // There are no inpipes, so this function shouldn't be called at all. - zmq_assert (false); -} - -void zmq::downstream_t::xrevive (class writer_t *pipe_) -{ - lb.revive (pipe_); -} - -int zmq::downstream_t::xsetsockopt (int option_, const void *optval_, - size_t optvallen_) -{ - // No special option for this socket type. - errno = EINVAL; - return -1; -} - -int zmq::downstream_t::xsend (zmq_msg_t *msg_, int flags_) -{ - return lb.send (msg_, flags_); -} - -int zmq::downstream_t::xrecv (zmq_msg_t *msg_, int flags_) -{ - errno = ENOTSUP; - return -1; -} - -bool zmq::downstream_t::xhas_in () -{ - return false; -} - -bool zmq::downstream_t::xhas_out () -{ - return lb.has_out (); -} - diff --git a/src/downstream.hpp b/src/downstream.hpp deleted file mode 100644 index 1306743..0000000 --- a/src/downstream.hpp +++ /dev/null @@ -1,61 +0,0 @@ -/* - Copyright (c) 2007-2010 iMatix Corporation - - This file is part of 0MQ. - - 0MQ is free software; you can redistribute it and/or modify it under - the terms of the Lesser GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - 0MQ is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - Lesser GNU General Public License for more details. - - You should have received a copy of the Lesser GNU General Public License - along with this program. If not, see . -*/ - -#ifndef __ZMQ_DOWNSTREAM_HPP_INCLUDED__ -#define __ZMQ_DOWNSTREAM_HPP_INCLUDED__ - -#include "socket_base.hpp" -#include "lb.hpp" - -namespace zmq -{ - - class downstream_t : public socket_base_t - { - public: - - downstream_t (class app_thread_t *parent_); - ~downstream_t (); - - // Overloads of functions from socket_base_t. - void xattach_pipes (class reader_t *inpipe_, class writer_t *outpipe_, - const blob_t &peer_identity_); - void xdetach_inpipe (class reader_t *pipe_); - void xdetach_outpipe (class writer_t *pipe_); - void xkill (class reader_t *pipe_); - void xrevive (class reader_t *pipe_); - void xrevive (class writer_t *pipe_); - int xsetsockopt (int option_, const void *optval_, size_t optvallen_); - int xsend (zmq_msg_t *msg_, int flags_); - int xrecv (zmq_msg_t *msg_, int flags_); - bool xhas_in (); - bool xhas_out (); - - private: - - // Load balancer managing the outbound pipes. - lb_t lb; - - downstream_t (const downstream_t&); - void operator = (const downstream_t&); - }; - -} - -#endif diff --git a/src/encoder.hpp b/src/encoder.hpp index 10fe912..0d5b6ba 100644 --- a/src/encoder.hpp +++ b/src/encoder.hpp @@ -50,7 +50,9 @@ namespace zmq zmq_assert (buf); } - inline ~encoder_t () + // The destructor doesn't have to be virtual. It is mad virtual + // just to keep ICC and code checking tools from complaining. + inline virtual ~encoder_t () { free (buf); } diff --git a/src/forwarder.cpp b/src/forwarder.cpp index 5aab8f2..d1f324e 100644 --- a/src/forwarder.cpp +++ b/src/forwarder.cpp @@ -21,6 +21,7 @@ #include "forwarder.hpp" #include "socket_base.hpp" +#include "likely.hpp" #include "err.hpp" int zmq::forwarder (socket_base_t *insocket_, socket_base_t *outsocket_) @@ -29,9 +30,30 @@ int zmq::forwarder (socket_base_t *insocket_, socket_base_t *outsocket_) int rc = zmq_msg_init (&msg); errno_assert (rc == 0); + int64_t more; + size_t more_sz = sizeof (more); + while (true) { - insocket_->recv (&msg, 0); - outsocket_->send (&msg, 0); + rc = insocket_->recv (&msg, 0); + if (unlikely (rc < 0)) { + if (errno == ETERM) + return -1; + errno_assert (false); + } + + rc = insocket_->getsockopt (ZMQ_RCVMORE, &more, &more_sz); + if (unlikely (rc < 0)) { + if (errno == ETERM) + return -1; + errno_assert (false); + } + + rc = outsocket_->send (&msg, more ? ZMQ_SNDMORE : 0); + if (unlikely (rc < 0)) { + if (errno == ETERM) + return -1; + errno_assert (false); + } } return 0; diff --git a/src/i_poll_events.hpp b/src/i_poll_events.hpp index 8b85f7a..6d474b2 100644 --- a/src/i_poll_events.hpp +++ b/src/i_poll_events.hpp @@ -28,7 +28,7 @@ namespace zmq struct i_poll_events { - virtual ~i_poll_events () {}; + virtual ~i_poll_events () {} // Called by I/O thread when file descriptor is ready for reading. virtual void in_event () = 0; diff --git a/src/ip.cpp b/src/ip.cpp index 79d90da..f491008 100644 --- a/src/ip.cpp +++ b/src/ip.cpp @@ -289,11 +289,8 @@ int zmq::resolve_ip_hostname (sockaddr_storage *addr_, socklen_t *addr_len_, // doesn't really matter, since it's not included in the addr-output. req.ai_socktype = SOCK_STREAM; - // Avoid named services due to unclear socktype, and don't pick IPv4 - // addresses if we don't have a local IPv4 address configured. - // If this is failing for you on a host with only IPv6 connectivity, - // please contribute proper IPv6 support for all functions in this file. - req.ai_flags = AI_NUMERICSERV | AI_ADDRCONFIG; + // Avoid named services due to unclear socktype. + req.ai_flags = AI_NUMERICSERV; // Resolve host name. Some of the error info is lost in case of error, // however, there's no way to report EAI errors via errno. diff --git a/src/msg_store.cpp b/src/msg_store.cpp new file mode 100644 index 0000000..aaf6dbe --- /dev/null +++ b/src/msg_store.cpp @@ -0,0 +1,307 @@ +/* + Copyright (c) 2007-2010 iMatix Corporation + + This file is part of 0MQ. + + 0MQ is free software; you can redistribute it and/or modify it under + the terms of the Lesser GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + 0MQ is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + Lesser GNU General Public License for more details. + + You should have received a copy of the Lesser GNU General Public License + along with this program. If not, see . +*/ + +#include "platform.hpp" + +#ifdef ZMQ_HAVE_WINDOWS +#include "windows.hpp" +#include +#else +#include +#endif + +#include "../include/zmq.h" + +#include +#include +#include +#include +#include +#include + +#include "atomic_counter.hpp" +#include "msg_store.hpp" +#include "err.hpp" + +zmq::msg_store_t::msg_store_t (int64_t filesize_, size_t block_size_) : + fd (-1), + filesize (filesize_), + file_pos (0), + write_pos (0), + read_pos (0), + block_size (block_size_), + write_buf_start_addr (0) +{ + zmq_assert (filesize > 0); + zmq_assert (block_size > 0); + + buf1 = new (std::nothrow) char [block_size]; + zmq_assert (buf1); + + buf2 = new (std::nothrow) char [block_size]; + zmq_assert (buf2); + + read_buf = write_buf = buf1; +} + +zmq::msg_store_t::~msg_store_t () +{ + delete [] buf1; + delete [] buf2; + + if (fd == -1) + return; + +#ifdef ZMQ_HAVE_WINDOWS + int rc = _close (fd); +#else + int rc = close (fd); +#endif + errno_assert (rc == 0); + +#ifdef ZMQ_HAVE_WINDOWS + rc = _unlink (filename.c_str ()); +#else + rc = unlink (filename.c_str ()); +#endif + errno_assert (rc == 0); +} + +int zmq::msg_store_t::init () +{ + static zmq::atomic_counter_t seqnum (0); + + // Get process ID. +#ifdef ZMQ_HAVE_WINDOWS + int pid = GetCurrentThreadId (); +#else + pid_t pid = getpid (); +#endif + + std::ostringstream outs; + outs << "zmq_" << pid << '_' << seqnum.get () << ".swap"; + filename = outs.str (); + + seqnum.add (1); + + // Open the backing file. +#ifdef ZMQ_HAVE_WINDOWS + fd = _open (filename.c_str (), _O_RDWR | _O_CREAT, 0600); +#else + fd = open (filename.c_str (), O_RDWR | O_CREAT, 0600); +#endif + if (fd == -1) + return -1; + +#ifdef ZMQ_HAVE_LINUX + // Enable more aggresive read-ahead optimization. + posix_fadvise (fd, 0, filesize, POSIX_FADV_SEQUENTIAL); +#endif + return 0; +} + +bool zmq::msg_store_t::store (zmq_msg_t *msg_) +{ + size_t msg_size = zmq_msg_size (msg_); + + // Check buffer space availability. + // NOTE: We always keep one byte open. + if (buffer_space () <= (int64_t) (sizeof msg_size + 1 + msg_size)) + return false; + + // Don't store the ZMQ_MSG_SHARED flag. + uint8_t msg_flags = msg_->flags & ~ZMQ_MSG_SHARED; + + // Write message length, flags, and message body. + copy_to_file (&msg_size, sizeof msg_size); + copy_to_file (&msg_flags, sizeof msg_flags); + copy_to_file (zmq_msg_data (msg_), msg_size); + + zmq_msg_close (msg_); + + return true; +} + +void zmq::msg_store_t::fetch (zmq_msg_t *msg_) +{ + // There must be at least one message available. + zmq_assert (read_pos != write_pos); + + // Retrieve the message size. + size_t msg_size; + copy_from_file (&msg_size, sizeof msg_size); + + // Initialize the message. + zmq_msg_init_size (msg_, msg_size); + + // Retrieve the message flags. + copy_from_file (&msg_->flags, sizeof msg_->flags); + + // Retrieve the message payload. + copy_from_file (zmq_msg_data (msg_), msg_size); +} + +void zmq::msg_store_t::commit () +{ + commit_pos = write_pos; +} + +void zmq::msg_store_t::rollback () +{ + if (commit_pos == write_pos || read_pos == write_pos) + return; + + if (write_pos > read_pos) + zmq_assert (read_pos <= commit_pos && commit_pos <= write_pos); + else + zmq_assert (read_pos <= commit_pos || commit_pos <= write_pos); + + if (commit_pos / block_size == read_pos / block_size) { + write_buf_start_addr = commit_pos % block_size; + write_buf = read_buf; + } + else if (commit_pos / block_size != write_pos / block_size) { + write_buf_start_addr = commit_pos % block_size; + fill_buf (write_buf, write_buf_start_addr); + } + write_pos = commit_pos; +} + +bool zmq::msg_store_t::empty () +{ + return read_pos == write_pos; +} + +bool zmq::msg_store_t::full () +{ + return buffer_space () == 1; +} + +void zmq::msg_store_t::copy_from_file (void *buffer_, size_t count_) +{ + char *dest_ptr = (char *) buffer_; + size_t chunk_size, remainder = count_; + + while (remainder > 0) { + chunk_size = std::min (remainder, + std::min ((size_t) (filesize - read_pos), + (size_t) (block_size - read_pos % block_size))); + + memcpy (dest_ptr, &read_buf [read_pos % block_size], chunk_size); + dest_ptr += chunk_size; + + read_pos = (read_pos + chunk_size) % filesize; + if (read_pos % block_size == 0) { + if (read_pos / block_size == write_pos / block_size) + read_buf = write_buf; + else + fill_buf (read_buf, read_pos); + } + remainder -= chunk_size; + } +} + +void zmq::msg_store_t::copy_to_file (const void *buffer_, size_t count_) +{ + char *source_ptr = (char *) buffer_; + size_t chunk_size, remainder = count_; + + while (remainder > 0) { + chunk_size = std::min (remainder, + std::min ((size_t) (filesize - write_pos), + (size_t) (block_size - write_pos % block_size))); + + memcpy (&write_buf [write_pos % block_size], source_ptr, chunk_size); + source_ptr += chunk_size; + + write_pos = (write_pos + chunk_size) % filesize; + if (write_pos % block_size == 0) { + save_write_buf (); + write_buf_start_addr = write_pos; + + if (write_buf == read_buf) { + if (read_buf == buf2) + write_buf = buf1; + else + write_buf = buf2; + } + } + remainder -= chunk_size; + } +} + +void zmq::msg_store_t::fill_buf (char *buf, int64_t pos) +{ + if (file_pos != pos) { +#ifdef ZMQ_HAVE_WINDOWS + __int64 offset = _lseeki64 (fd, pos, SEEK_SET); +#else + off_t offset = lseek (fd, (off_t) pos, SEEK_SET); +#endif + errno_assert (offset == pos); + file_pos = pos; + } + size_t octets_stored = 0; + size_t octets_total = std::min (block_size, (size_t) (filesize - file_pos)); + + while (octets_stored < octets_total) { +#ifdef ZMQ_HAVE_WINDOWS + int rc = _read (fd, &buf [octets_stored], octets_total - octets_stored); +#else + ssize_t rc = read (fd, &buf [octets_stored], octets_total - octets_stored); +#endif + errno_assert (rc > 0); + octets_stored += rc; + } + file_pos += octets_total; +} + +void zmq::msg_store_t::save_write_buf () +{ + if (file_pos != write_buf_start_addr) { +#ifdef ZMQ_HAVE_WINDOWS + __int64 offset = _lseeki64 (fd, write_buf_start_addr, SEEK_SET); +#else + off_t offset = lseek (fd, (off_t) write_buf_start_addr, SEEK_SET); +#endif + errno_assert (offset == write_buf_start_addr); + file_pos = write_buf_start_addr; + } + size_t octets_stored = 0; + size_t octets_total = std::min (block_size, (size_t) (filesize - file_pos)); + + while (octets_stored < octets_total) { +#ifdef ZMQ_HAVE_WINDOWS + int rc = _write (fd, &write_buf [octets_stored], octets_total - octets_stored); +#else + ssize_t rc = write (fd, &write_buf [octets_stored], octets_total - octets_stored); +#endif + errno_assert (rc > 0); + octets_stored += rc; + } + file_pos += octets_total; +} + +int64_t zmq::msg_store_t::buffer_space () +{ + if (write_pos < read_pos) + return read_pos - write_pos; + + return filesize - (write_pos - read_pos); +} diff --git a/src/msg_store.hpp b/src/msg_store.hpp new file mode 100644 index 0000000..765fc60 --- /dev/null +++ b/src/msg_store.hpp @@ -0,0 +1,114 @@ +/* + Copyright (c) 2007-2010 iMatix Corporation + + This file is part of 0MQ. + + 0MQ is free software; you can redistribute it and/or modify it under + the terms of the Lesser GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + 0MQ is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + Lesser GNU General Public License for more details. + + You should have received a copy of the Lesser GNU General Public License + along with this program. If not, see . +*/ + +#ifndef __ZMQ_MSG_STORE_HPP_INCLUDED__ +#define __ZMQ_MSG_STORE_HPP_INCLUDED__ + +#include "../include/zmq.h" + +#include +#include "stdint.hpp" + +namespace zmq +{ + + // This class implements a message store. Messages are retrieved from + // the store in the same order as they entered it. + + class msg_store_t + { + public: + + enum { default_block_size = 8192 }; + + // Creates message store. + msg_store_t (int64_t filesize_, size_t block_size_ = default_block_size); + + ~msg_store_t (); + + int init (); + + // Stores the message into the message store. The function + // returns false if the message store is full; true otherwise. + bool store (zmq_msg_t *msg_); + + // Fetches the oldest message from the message store. It is an error + // to call this function when the message store is empty. + void fetch (zmq_msg_t *msg_); + + void commit (); + + void rollback (); + + // Returns true if the message store is empty; false otherwise. + bool empty (); + + // Returns true if and only if the store is full. + bool full (); + + private: + + // Copies data from a memory buffer to the backing file. + // Wraps around when reaching maximum file size. + void copy_from_file (void *buffer_, size_t count_); + + // Copies data from the backing file to the memory buffer. + // Wraps around when reaching end-of-file. + void copy_to_file (const void *buffer_, size_t count_); + + // Returns the buffer space available. + int64_t buffer_space (); + + void fill_buf (char *buf, int64_t pos); + + void save_write_buf (); + + // File descriptor to the backing file. + int fd; + + // Name of the backing file. + std::string filename; + + // Maximum size of the backing file. + int64_t filesize; + + // File offset associated with the fd file descriptor. + int64_t file_pos; + + // File offset the next message will be stored at. + int64_t write_pos; + + // File offset the next message will be read from. + int64_t read_pos; + + int64_t commit_pos; + + size_t block_size; + + char *buf1; + char *buf2; + char *read_buf; + char *write_buf; + + int64_t write_buf_start_addr; + }; + +} + +#endif diff --git a/src/pair.cpp b/src/pair.cpp index 31524de..3872b28 100644 --- a/src/pair.cpp +++ b/src/pair.cpp @@ -115,6 +115,9 @@ int zmq::pair_t::xrecv (zmq_msg_t *msg_, int flags_) zmq_msg_close (msg_); if (!alive || !inpipe || !inpipe->read (msg_)) { + // No message is available. Initialise the output parameter + // to be a 0-byte message. + zmq_msg_init (msg_); errno = EAGAIN; return -1; } diff --git a/src/pipe.cpp b/src/pipe.cpp index 1df64e9..200beb0 100644 --- a/src/pipe.cpp +++ b/src/pipe.cpp @@ -21,20 +21,14 @@ #include "pipe.hpp" -zmq::reader_t::reader_t (object_t *parent_, - uint64_t hwm_, uint64_t lwm_) : +zmq::reader_t::reader_t (object_t *parent_, uint64_t lwm_) : object_t (parent_), pipe (NULL), peer (NULL), - hwm (hwm_), lwm (lwm_), msgs_read (0), endpoint (NULL) -{ - // Adjust lwm and hwm. - if (lwm == 0 || lwm > hwm) - lwm = hwm; -} +{} zmq::reader_t::~reader_t () { @@ -50,15 +44,32 @@ void zmq::reader_t::set_pipe (pipe_t *pipe_) register_pipe (pipe); } +bool zmq::reader_t::is_delimiter (zmq_msg_t &msg_) +{ + unsigned char *offset = 0; + + return msg_.content == (void*) (offset + ZMQ_DELIMITER); +} + bool zmq::reader_t::check_read () { // Check if there's an item in the pipe. - if (pipe->check_read ()) - return true; - // If not, deactivate the pipe. - endpoint->kill (this); - return false; + if (!pipe->check_read ()) { + endpoint->kill (this); + return false; + } + + // If the next item in the pipe is message delimiter, + // initiate its termination. + if (pipe->probe (is_delimiter)) { + if (endpoint) + endpoint->detach_inpipe (this); + term (); + return false; + } + + return true; } bool zmq::reader_t::read (zmq_msg_t *msg_) @@ -113,20 +124,28 @@ void zmq::reader_t::process_pipe_term_ack () } zmq::writer_t::writer_t (object_t *parent_, - uint64_t hwm_, uint64_t lwm_) : + uint64_t hwm_, int64_t swap_size_) : object_t (parent_), pipe (NULL), peer (NULL), hwm (hwm_), - lwm (lwm_), msgs_read (0), msgs_written (0), + msg_store (NULL), + extra_msg_flag (false), stalled (false), + pending_close (false), endpoint (NULL) { - // Adjust lwm and hwm. - if (lwm == 0 || lwm > hwm) - lwm = hwm; + if (swap_size_ > 0) { + msg_store = new (std::nothrow) msg_store_t (swap_size_); + if (msg_store != NULL) { + if (msg_store->init () < 0) { + delete msg_store; + msg_store = NULL; + } + } + } } void zmq::writer_t::set_endpoint (i_endpoint *endpoint_) @@ -136,6 +155,10 @@ void zmq::writer_t::set_endpoint (i_endpoint *endpoint_) zmq::writer_t::~writer_t () { + if (extra_msg_flag) + zmq_msg_close (&extra_msg); + + delete msg_store; } void zmq::writer_t::set_pipe (pipe_t *pipe_) @@ -147,7 +170,7 @@ void zmq::writer_t::set_pipe (pipe_t *pipe_) bool zmq::writer_t::check_write () { - if (pipe_full ()) { + if (pipe_full () && (msg_store == NULL || msg_store->full () || extra_msg_flag)) { stalled = true; return false; } @@ -157,29 +180,45 @@ bool zmq::writer_t::check_write () bool zmq::writer_t::write (zmq_msg_t *msg_) { - if (pipe_full ()) { - stalled = true; + if (!check_write ()) return false; + + if (pipe_full ()) { + if (msg_store->store (msg_)) { + if (!(msg_->flags & ZMQ_MSG_MORE)) + msg_store->commit (); + } else { + extra_msg = *msg_; + extra_msg_flag = true; + } + } + else { + pipe->write (*msg_, msg_->flags & ZMQ_MSG_MORE); + if (!(msg_->flags & ZMQ_MSG_MORE)) + msgs_written++; } - pipe->write (*msg_, msg_->flags & ZMQ_MSG_MORE); - if (!(msg_->flags & ZMQ_MSG_MORE)) - msgs_written++; return true; } void zmq::writer_t::rollback () { - zmq_msg_t msg; + if (extra_msg_flag && extra_msg.flags & ZMQ_MSG_MORE) { + zmq_msg_close (&extra_msg); + extra_msg_flag = false; + } + if (msg_store != NULL) + msg_store->rollback (); + + zmq_msg_t msg; // Remove all incomplete messages from the pipe. while (pipe->unwrite (&msg)) { zmq_assert (msg.flags & ZMQ_MSG_MORE); zmq_msg_close (&msg); - msgs_written--; } - if (stalled && endpoint != NULL && !pipe_full()) { + if (stalled && endpoint != NULL && check_write ()) { stalled = false; endpoint->revive (this); } @@ -198,6 +237,14 @@ void zmq::writer_t::term () // Rollback any unfinished messages. rollback (); + if (msg_store == NULL || (msg_store->empty () && !extra_msg_flag)) + write_delimiter (); + else + pending_close = true; +} + +void zmq::writer_t::write_delimiter () +{ // Push delimiter into the pipe. // Trick the compiler to belive that the tag is a valid pointer. zmq_msg_t msg; @@ -205,12 +252,47 @@ void zmq::writer_t::term () msg.content = (void*) (offset + ZMQ_DELIMITER); msg.flags = 0; pipe->write (msg, false); - pipe->flush (); + flush (); } void zmq::writer_t::process_reader_info (uint64_t msgs_read_) { + zmq_msg_t msg; + msgs_read = msgs_read_; + if (msg_store) { + + // Move messages from backing store into pipe. + while (!pipe_full () && !msg_store->empty ()) { + msg_store->fetch(&msg); + // Write message into the pipe. + pipe->write (msg, msg.flags & ZMQ_MSG_MORE); + if (!(msg.flags & ZMQ_MSG_MORE)) + msgs_written++; + } + + if (extra_msg_flag) { + if (!pipe_full ()) { + pipe->write (extra_msg, extra_msg.flags & ZMQ_MSG_MORE); + if (!(extra_msg.flags & ZMQ_MSG_MORE)) + msgs_written++; + extra_msg_flag = false; + } + else if (msg_store->store (&extra_msg)) { + if (!(extra_msg.flags & ZMQ_MSG_MORE)) + msg_store->commit (); + extra_msg_flag = false; + } + } + + if (pending_close && msg_store->empty () && !extra_msg_flag) { + write_delimiter (); + pending_close = false; + } + + flush (); + } + if (stalled && endpoint != NULL) { stalled = false; endpoint->revive (this); @@ -233,9 +315,9 @@ bool zmq::writer_t::pipe_full () } zmq::pipe_t::pipe_t (object_t *reader_parent_, object_t *writer_parent_, - uint64_t hwm_) : - reader (reader_parent_, hwm_, compute_lwm (hwm_)), - writer (writer_parent_, hwm_, compute_lwm (hwm_)) + uint64_t hwm_, int64_t swap_size_) : + reader (reader_parent_, compute_lwm (hwm_)), + writer (writer_parent_, hwm_, swap_size_) { reader.set_pipe (this); writer.set_pipe (this); @@ -276,6 +358,6 @@ uint64_t zmq::pipe_t::compute_lwm (uint64_t hwm_) if (hwm_ > max_wm_delta * 2) return hwm_ - max_wm_delta; else - return hwm_ / 2; + return (hwm_ + 1) / 2; } diff --git a/src/pipe.hpp b/src/pipe.hpp index 9f57653..ece678a 100644 --- a/src/pipe.hpp +++ b/src/pipe.hpp @@ -26,6 +26,7 @@ #include "i_endpoint.hpp" #include "yarray_item.hpp" #include "ypipe.hpp" +#include "msg_store.hpp" #include "config.hpp" #include "object.hpp" @@ -36,8 +37,7 @@ namespace zmq { public: - reader_t (class object_t *parent_, - uint64_t hwm_, uint64_t lwm_); + reader_t (class object_t *parent_, uint64_t lwm_); ~reader_t (); void set_pipe (class pipe_t *pipe_); @@ -58,14 +58,16 @@ namespace zmq void process_revive (); void process_pipe_term_ack (); + // Returns true if the message is delimiter; false otherwise. + static bool is_delimiter (zmq_msg_t &msg_); + // The underlying pipe. class pipe_t *pipe; // Pipe writer associated with the other side of the pipe. class writer_t *peer; - // High and low watermarks for in-memory storage (in bytes). - uint64_t hwm; + // Low watermark for in-memory storage (in bytes). uint64_t lwm; // Number of messages read so far. @@ -82,8 +84,7 @@ namespace zmq { public: - writer_t (class object_t *parent_, - uint64_t hwm_, uint64_t lwm_); + writer_t (class object_t *parent_, uint64_t hwm_, int64_t swap_size_); ~writer_t (); void set_pipe (class pipe_t *pipe_); @@ -117,15 +118,18 @@ namespace zmq // Tests whether the pipe is already full. bool pipe_full (); + // Write special message to the pipe so that the reader + // can find out we are finished. + void write_delimiter (); + // The underlying pipe. class pipe_t *pipe; // Pipe reader associated with the other side of the pipe. class reader_t *peer; - // High and low watermarks for in-memory storage (in bytes). + // High watermark for in-memory storage (in bytes). uint64_t hwm; - uint64_t lwm; // Last confirmed number of messages read from the pipe. // The actual number can be higher. @@ -134,9 +138,19 @@ namespace zmq // Number of messages we have written so far. uint64_t msgs_written; + // Pointer to backing store. If NULL, messages are always + // kept in main memory. + msg_store_t *msg_store; + + bool extra_msg_flag; + + zmq_msg_t extra_msg; + // True iff the last attempt to write a message has failed. bool stalled; + bool pending_close; + // Endpoint (either session or socket) the pipe is attached to. i_endpoint *endpoint; @@ -150,7 +164,7 @@ namespace zmq public: pipe_t (object_t *reader_parent_, object_t *writer_parent_, - uint64_t hwm_); + uint64_t hwm_, int64_t swap_size_); ~pipe_t (); reader_t reader; diff --git a/src/platform.hpp.in b/src/platform.hpp.in index a885c21..bab50ec 100644 --- a/src/platform.hpp.in +++ b/src/platform.hpp.in @@ -24,6 +24,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H +/* Define to 1 if you have the `crypto' library (-lcrypto). */ +#undef HAVE_LIBCRYPTO + /* Define to 1 if you have the `iphlpapi' library (-liphlpapi). */ #undef HAVE_LIBIPHLPAPI diff --git a/src/poll.cpp b/src/poll.cpp index 4214195..1b203db 100644 --- a/src/poll.cpp +++ b/src/poll.cpp @@ -165,22 +165,21 @@ void zmq::poll_t::loop () continue; } - for (pollset_t::iterator it = pollset.begin (); - it != pollset.end (); it ++) { + for (pollset_t::size_type i = 0; i != pollset.size (); i++) { - zmq_assert (!(it->revents & POLLNVAL)); - if (it->fd == retired_fd) + zmq_assert (!(pollset [i].revents & POLLNVAL)); + if (pollset [i].fd == retired_fd) continue; - if (it->revents & (POLLERR | POLLHUP)) - fd_table [it->fd].events->in_event (); - if (it->fd == retired_fd) + if (pollset [i].revents & (POLLERR | POLLHUP)) + fd_table [pollset [i].fd].events->in_event (); + if (pollset [i].fd == retired_fd) continue; - if (it->revents & POLLOUT) - fd_table [it->fd].events->out_event (); - if (it->fd == retired_fd) + if (pollset [i].revents & POLLOUT) + fd_table [pollset [i].fd].events->out_event (); + if (pollset [i].fd == retired_fd) continue; - if (it->revents & POLLIN) - fd_table [it->fd].events->in_event (); + if (pollset [i].revents & POLLIN) + fd_table [pollset [i].fd].events->in_event (); } // Clean up the pollset and update the fd_table accordingly. diff --git a/src/prefix_tree.cpp b/src/prefix_tree.cpp index 51225d6..6d4f084 100644 --- a/src/prefix_tree.cpp +++ b/src/prefix_tree.cpp @@ -42,7 +42,7 @@ zmq::prefix_tree_t::~prefix_tree_t () if (count == 1) delete next.node; else if (count > 1) { - for (unsigned char i = 0; i != count; ++i) + for (unsigned short i = 0; i != count; ++i) if (next.table [i]) delete next.table [i]; free (next.table); @@ -74,7 +74,7 @@ void zmq::prefix_tree_t::add (unsigned char *prefix_, size_t size_) next.table = (prefix_tree_t**) malloc (sizeof (prefix_tree_t*) * count); zmq_assert (next.table); - for (unsigned char i = 0; i != count; ++i) + for (unsigned short i = 0; i != count; ++i) next.table [i] = 0; min = std::min (min, c); next.table [oldc - min] = oldp; @@ -82,25 +82,25 @@ void zmq::prefix_tree_t::add (unsigned char *prefix_, size_t size_) else if (min < c) { // The new character is above the current character range. - unsigned char old_count = count; + unsigned short old_count = count; count = c - min + 1; next.table = (prefix_tree_t**) realloc ((void*) next.table, sizeof (prefix_tree_t*) * count); zmq_assert (next.table); - for (unsigned char i = old_count; i != count; i++) + for (unsigned short i = old_count; i != count; i++) next.table [i] = NULL; } else { // The new character is below the current character range. - unsigned char old_count = count; + unsigned short old_count = count; count = (min + old_count) - c; next.table = (prefix_tree_t**) realloc ((void*) next.table, sizeof (prefix_tree_t*) * count); zmq_assert (next.table); memmove (next.table + min - c, next.table, old_count * sizeof (prefix_tree_t*)); - for (unsigned char i = 0; i != min - c; i++) + for (unsigned short i = 0; i != min - c; i++) next.table [i] = NULL; min = c; } diff --git a/src/prefix_tree.hpp b/src/prefix_tree.hpp index 53c7c18..bf1c4b9 100644 --- a/src/prefix_tree.hpp +++ b/src/prefix_tree.hpp @@ -42,7 +42,7 @@ namespace zmq uint32_t refcnt; unsigned char min; - unsigned char count; + unsigned short count; union { class prefix_tree_t *node; class prefix_tree_t **table; diff --git a/src/pull.cpp b/src/pull.cpp new file mode 100644 index 0000000..b2413ee --- /dev/null +++ b/src/pull.cpp @@ -0,0 +1,98 @@ +/* + Copyright (c) 2007-2010 iMatix Corporation + + This file is part of 0MQ. + + 0MQ is free software; you can redistribute it and/or modify it under + the terms of the Lesser GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + 0MQ is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + Lesser GNU General Public License for more details. + + You should have received a copy of the Lesser GNU General Public License + along with this program. If not, see . +*/ + +#include "../include/zmq.h" + +#include "pull.hpp" +#include "err.hpp" + +zmq::pull_t::pull_t (class app_thread_t *parent_) : + socket_base_t (parent_) +{ + options.requires_in = true; + options.requires_out = false; +} + +zmq::pull_t::~pull_t () +{ +} + +void zmq::pull_t::xattach_pipes (class reader_t *inpipe_, + class writer_t *outpipe_, const blob_t &peer_identity_) +{ + zmq_assert (inpipe_ && !outpipe_); + fq.attach (inpipe_); +} + +void zmq::pull_t::xdetach_inpipe (class reader_t *pipe_) +{ + zmq_assert (pipe_); + fq.detach (pipe_); +} + +void zmq::pull_t::xdetach_outpipe (class writer_t *pipe_) +{ + // There are no outpipes, so this function shouldn't be called at all. + zmq_assert (false); +} + +void zmq::pull_t::xkill (class reader_t *pipe_) +{ + fq.kill (pipe_); +} + +void zmq::pull_t::xrevive (class reader_t *pipe_) +{ + fq.revive (pipe_); +} + +void zmq::pull_t::xrevive (class writer_t *pipe_) +{ + zmq_assert (false); +} + +int zmq::pull_t::xsetsockopt (int option_, const void *optval_, + size_t optvallen_) +{ + // No special options for this socket type. + errno = EINVAL; + return -1; +} + +int zmq::pull_t::xsend (zmq_msg_t *msg_, int flags_) +{ + errno = ENOTSUP; + return -1; +} + +int zmq::pull_t::xrecv (zmq_msg_t *msg_, int flags_) +{ + return fq.recv (msg_, flags_); +} + +bool zmq::pull_t::xhas_in () +{ + return fq.has_in (); +} + +bool zmq::pull_t::xhas_out () +{ + return false; +} + diff --git a/src/pull.hpp b/src/pull.hpp new file mode 100644 index 0000000..7f249e9 --- /dev/null +++ b/src/pull.hpp @@ -0,0 +1,62 @@ +/* + Copyright (c) 2007-2010 iMatix Corporation + + This file is part of 0MQ. + + 0MQ is free software; you can redistribute it and/or modify it under + the terms of the Lesser GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + 0MQ is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + Lesser GNU General Public License for more details. + + You should have received a copy of the Lesser GNU General Public License + along with this program. If not, see . +*/ + +#ifndef __ZMQ_PULL_HPP_INCLUDED__ +#define __ZMQ_PULL_HPP_INCLUDED__ + +#include "socket_base.hpp" +#include "fq.hpp" + +namespace zmq +{ + + class pull_t : public socket_base_t + { + public: + + pull_t (class app_thread_t *parent_); + ~pull_t (); + + // Overloads of functions from socket_base_t. + void xattach_pipes (class reader_t *inpipe_, class writer_t *outpipe_, + const blob_t &peer_identity_); + void xdetach_inpipe (class reader_t *pipe_); + void xdetach_outpipe (class writer_t *pipe_); + void xkill (class reader_t *pipe_); + void xrevive (class reader_t *pipe_); + void xrevive (class writer_t *pipe_); + int xsetsockopt (int option_, const void *optval_, size_t optvallen_); + int xsend (zmq_msg_t *msg_, int flags_); + int xrecv (zmq_msg_t *msg_, int flags_); + bool xhas_in (); + bool xhas_out (); + + private: + + // Fair queueing object for inbound pipes. + fq_t fq; + + pull_t (const pull_t&); + void operator = (const pull_t&); + + }; + +} + +#endif diff --git a/src/push.cpp b/src/push.cpp new file mode 100644 index 0000000..522101f --- /dev/null +++ b/src/push.cpp @@ -0,0 +1,101 @@ +/* + Copyright (c) 2007-2010 iMatix Corporation + + This file is part of 0MQ. + + 0MQ is free software; you can redistribute it and/or modify it under + the terms of the Lesser GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + 0MQ is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + Lesser GNU General Public License for more details. + + You should have received a copy of the Lesser GNU General Public License + along with this program. If not, see . +*/ + +#include "../include/zmq.h" + +#include "push.hpp" +#include "err.hpp" +#include "pipe.hpp" + +zmq::push_t::push_t (class app_thread_t *parent_) : + socket_base_t (parent_) +{ + options.requires_in = false; + options.requires_out = true; +} + +zmq::push_t::~push_t () +{ +} + +void zmq::push_t::xattach_pipes (class reader_t *inpipe_, + class writer_t *outpipe_, const blob_t &peer_identity_) +{ + zmq_assert (!inpipe_ && outpipe_); + lb.attach (outpipe_); +} + +void zmq::push_t::xdetach_inpipe (class reader_t *pipe_) +{ + // There are no inpipes, so this function shouldn't be called at all. + zmq_assert (false); +} + +void zmq::push_t::xdetach_outpipe (class writer_t *pipe_) +{ + zmq_assert (pipe_); + lb.detach (pipe_); +} + +void zmq::push_t::xkill (class reader_t *pipe_) +{ + // There are no inpipes, so this function shouldn't be called at all. + zmq_assert (false); +} + +void zmq::push_t::xrevive (class reader_t *pipe_) +{ + // There are no inpipes, so this function shouldn't be called at all. + zmq_assert (false); +} + +void zmq::push_t::xrevive (class writer_t *pipe_) +{ + lb.revive (pipe_); +} + +int zmq::push_t::xsetsockopt (int option_, const void *optval_, + size_t optvallen_) +{ + // No special option for this socket type. + errno = EINVAL; + return -1; +} + +int zmq::push_t::xsend (zmq_msg_t *msg_, int flags_) +{ + return lb.send (msg_, flags_); +} + +int zmq::push_t::xrecv (zmq_msg_t *msg_, int flags_) +{ + errno = ENOTSUP; + return -1; +} + +bool zmq::push_t::xhas_in () +{ + return false; +} + +bool zmq::push_t::xhas_out () +{ + return lb.has_out (); +} + diff --git a/src/push.hpp b/src/push.hpp new file mode 100644 index 0000000..b3c8d87 --- /dev/null +++ b/src/push.hpp @@ -0,0 +1,61 @@ +/* + Copyright (c) 2007-2010 iMatix Corporation + + This file is part of 0MQ. + + 0MQ is free software; you can redistribute it and/or modify it under + the terms of the Lesser GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + 0MQ is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + Lesser GNU General Public License for more details. + + You should have received a copy of the Lesser GNU General Public License + along with this program. If not, see . +*/ + +#ifndef __ZMQ_PUSH_HPP_INCLUDED__ +#define __ZMQ_PUSH_HPP_INCLUDED__ + +#include "socket_base.hpp" +#include "lb.hpp" + +namespace zmq +{ + + class push_t : public socket_base_t + { + public: + + push_t (class app_thread_t *parent_); + ~push_t (); + + // Overloads of functions from socket_base_t. + void xattach_pipes (class reader_t *inpipe_, class writer_t *outpipe_, + const blob_t &peer_identity_); + void xdetach_inpipe (class reader_t *pipe_); + void xdetach_outpipe (class writer_t *pipe_); + void xkill (class reader_t *pipe_); + void xrevive (class reader_t *pipe_); + void xrevive (class writer_t *pipe_); + int xsetsockopt (int option_, const void *optval_, size_t optvallen_); + int xsend (zmq_msg_t *msg_, int flags_); + int xrecv (zmq_msg_t *msg_, int flags_); + bool xhas_in (); + bool xhas_out (); + + private: + + // Load balancer managing the outbound pipes. + lb_t lb; + + push_t (const push_t&); + void operator = (const push_t&); + }; + +} + +#endif diff --git a/src/queue.cpp b/src/queue.cpp index 470ea67..36fab07 100644 --- a/src/queue.cpp +++ b/src/queue.cpp @@ -23,6 +23,7 @@ #include "queue.hpp" #include "socket_base.hpp" +#include "likely.hpp" #include "err.hpp" int zmq::queue (class socket_base_t *insocket_, @@ -49,7 +50,11 @@ int zmq::queue (class socket_base_t *insocket_, // Wait while there are either requests or replies to process. rc = zmq_poll (&items [0], 2, -1); - errno_assert (rc > 0); + if (unlikely (rc < 0)) { + if (errno == ETERM) + return -1; + errno_assert (false); + } // The algorithm below asumes ratio of request and replies processed // under full load to be 1:1. Although processing requests replies @@ -61,14 +66,26 @@ int zmq::queue (class socket_base_t *insocket_, while (true) { rc = insocket_->recv (&msg, 0); - errno_assert (rc == 0); + if (unlikely (rc < 0)) { + if (errno == ETERM) + return -1; + errno_assert (false); + } moresz = sizeof (more); rc = insocket_->getsockopt (ZMQ_RCVMORE, &more, &moresz); - errno_assert (rc == 0); + if (unlikely (rc < 0)) { + if (errno == ETERM) + return -1; + errno_assert (false); + } rc = outsocket_->send (&msg, more ? ZMQ_SNDMORE : 0); - errno_assert (rc == 0); + if (unlikely (rc < 0)) { + if (errno == ETERM) + return -1; + errno_assert (false); + } if (!more) break; @@ -80,14 +97,26 @@ int zmq::queue (class socket_base_t *insocket_, while (true) { rc = outsocket_->recv (&msg, 0); - errno_assert (rc == 0); + if (unlikely (rc < 0)) { + if (errno == ETERM) + return -1; + errno_assert (false); + } moresz = sizeof (more); rc = outsocket_->getsockopt (ZMQ_RCVMORE, &more, &moresz); - errno_assert (rc == 0); + if (unlikely (rc < 0)) { + if (errno == ETERM) + return -1; + errno_assert (false); + } rc = insocket_->send (&msg, more ? ZMQ_SNDMORE : 0); - errno_assert (rc == 0); + if (unlikely (rc < 0)) { + if (errno == ETERM) + return -1; + errno_assert (false); + } if (!more) break; diff --git a/src/select.cpp b/src/select.cpp index be5cd47..59eb83e 100644 --- a/src/select.cpp +++ b/src/select.cpp @@ -65,6 +65,10 @@ zmq::select_t::handle_t zmq::select_t::add_fd (fd_t fd_, i_poll_events *events_) fd_entry_t entry = {fd_, events_}; fds.push_back (entry); + // Ensure we do not attempt to select () on more than FD_SETSIZE + // file descriptors. + zmq_assert (fds.size () <= FD_SETSIZE); + // Start polling on errors. FD_SET (fd_, &source_set_err); @@ -217,10 +221,13 @@ void zmq::select_t::loop () // Destroy retired event sources. if (retired) { - for (fd_set_t::size_type i = 0; i < fds.size (); i ++) { - if (fds [i].fd == retired_fd) { - fds.erase (fds.begin () + i); - i --; + fd_set_t::iterator it = fds.begin(); + while (it != fds.end()) { + if (it->fd == retired_fd) { + it = fds.erase(it); + } + else { + it++; } } retired = false; diff --git a/src/session.cpp b/src/session.cpp index 3cd27fb..f798877 100644 --- a/src/session.cpp +++ b/src/session.cpp @@ -265,7 +265,7 @@ void zmq::session_t::process_attach (i_engine *engine_, writer_t *socket_writer = NULL; if (options.requires_in && !out_pipe) { - pipe_t *pipe = new (std::nothrow) pipe_t (owner, this, options.hwm); + pipe_t *pipe = new (std::nothrow) pipe_t (owner, this, options.hwm, options.swap); zmq_assert (pipe); out_pipe = &pipe->writer; out_pipe->set_endpoint (this); @@ -273,7 +273,7 @@ void zmq::session_t::process_attach (i_engine *engine_, } if (options.requires_out && !in_pipe) { - pipe_t *pipe = new (std::nothrow) pipe_t (this, owner, options.hwm); + pipe_t *pipe = new (std::nothrow) pipe_t (this, owner, options.hwm, options.swap); zmq_assert (pipe); in_pipe = &pipe->reader; in_pipe->set_endpoint (this); diff --git a/src/signaler.cpp b/src/signaler.cpp index 592688b..d4a9214 100644 --- a/src/signaler.cpp +++ b/src/signaler.cpp @@ -176,12 +176,15 @@ zmq::signaler_t::~signaler_t () void zmq::signaler_t::send (const command_t &cmd_) { - ssize_t nbytes = send (w, &cmd_, sizeof (command_t), 0); + ssize_t nbytes; + do { + nbytes = ::send (w, &cmd_, sizeof (command_t), 0); + } while (nbytes == -1 && errno == EINTR); errno_assert (nbytes != -1); zmq_assert (nbytes == sizeof (command_t)); } -bool zmq::signaler_t::recv (command_t &cmd_, bool block_) +bool zmq::signaler_t::recv (command_t *cmd_, bool block_) { if (block_) { @@ -194,7 +197,10 @@ bool zmq::signaler_t::recv (command_t &cmd_, bool block_) } bool result; - ssize_t nbytes = recv (r, buffer, sizeof (command_t), 0); + ssize_t nbytes; + do { + nbytes = ::recv (r, (char*) cmd_, sizeof (command_t), 0); + } while (nbytes == -1 && errno == EINTR); if (nbytes == -1 && errno == EAGAIN) { result = false; } @@ -207,7 +213,7 @@ bool zmq::signaler_t::recv (command_t &cmd_, bool block_) result = true; } - if (block_) + if (block_) { // Set the reader to non-blocking mode. int flags = fcntl (r, F_GETFL, 0); @@ -249,7 +255,10 @@ void zmq::signaler_t::send (const command_t &cmd_) { // TODO: Note that send is a blocking operation. // How should we behave if the command cannot be written to the signaler? - ssize_t nbytes = ::send (w, &cmd_, sizeof (command_t), 0); + ssize_t nbytes; + do { + nbytes = ::send (w, &cmd_, sizeof (command_t), 0); + } while (nbytes == -1 && errno == EINTR); errno_assert (nbytes != -1); // This should never happen as we've already checked that command size is @@ -259,8 +268,11 @@ void zmq::signaler_t::send (const command_t &cmd_) bool zmq::signaler_t::recv (command_t *cmd_, bool block_) { - ssize_t nbytes = ::recv (r, cmd_, sizeof (command_t), - block_ ? 0 : MSG_DONTWAIT); + ssize_t nbytes; + do { + nbytes = ::recv (r, cmd_, sizeof (command_t), + block_ ? 0 : MSG_DONTWAIT); + } while (nbytes == -1 && errno == EINTR); // If there's no signal available return false. if (nbytes == -1 && errno == EAGAIN) diff --git a/src/socket_base.cpp b/src/socket_base.cpp index eddb297..c933954 100644 --- a/src/socket_base.cpp +++ b/src/socket_base.cpp @@ -39,6 +39,7 @@ #include "pgm_sender.hpp" #include "pgm_receiver.hpp" #include "likely.hpp" +#include "uuid.hpp" zmq::socket_base_t::socket_base_t (app_thread_t *parent_) : object_t (parent_), @@ -194,13 +195,13 @@ int zmq::socket_base_t::connect (const char *addr_) // Create inbound pipe, if required. if (options.requires_in) { - in_pipe = new (std::nothrow) pipe_t (this, peer, options.hwm); + in_pipe = new (std::nothrow) pipe_t (this, peer, options.hwm, options.swap); zmq_assert (in_pipe); } // Create outbound pipe, if required. if (options.requires_out) { - out_pipe = new (std::nothrow) pipe_t (peer, this, options.hwm); + out_pipe = new (std::nothrow) pipe_t (peer, this, options.hwm, options.swap); zmq_assert (out_pipe); } @@ -233,14 +234,14 @@ int zmq::socket_base_t::connect (const char *addr_) // Create inbound pipe, if required. if (options.requires_in) { - in_pipe = new (std::nothrow) pipe_t (this, session, options.hwm); + in_pipe = new (std::nothrow) pipe_t (this, session, options.hwm, options.swap); zmq_assert (in_pipe); } // Create outbound pipe, if required. if (options.requires_out) { - out_pipe = new (std::nothrow) pipe_t (session, this, options.hwm); + out_pipe = new (std::nothrow) pipe_t (session, this, options.hwm, options.swap); zmq_assert (out_pipe); } @@ -424,7 +425,14 @@ int zmq::socket_base_t::recv (::zmq_msg_t *msg_, int flags_) return -1; } ticks = 0; - return xrecv (msg_, flags_); + + rc = xrecv (msg_, flags_); + if (rc == 0) { + rcvmore = msg_->flags & ZMQ_MSG_MORE; + if (rcvmore) + msg_->flags &= ~ZMQ_MSG_MORE; + } + return rc; } // In blocking scenario, commands are processed over and over again until @@ -621,7 +629,16 @@ void zmq::socket_base_t::attach_pipes (class reader_t *inpipe_, inpipe_->set_endpoint (this); if (outpipe_) outpipe_->set_endpoint (this); - xattach_pipes (inpipe_, outpipe_, peer_identity_); + + // If the peer haven't specified it's identity, let's generate one. + if (peer_identity_.size ()) { + xattach_pipes (inpipe_, outpipe_, peer_identity_); + } + else { + blob_t identity (1, 0); + identity.append (uuid_t ().to_blob (), uuid_t::uuid_blob_len); + xattach_pipes (inpipe_, outpipe_, identity); + } } void zmq::socket_base_t::detach_inpipe (class reader_t *pipe_) diff --git a/src/streamer.cpp b/src/streamer.cpp index 796771b..7c03365 100644 --- a/src/streamer.cpp +++ b/src/streamer.cpp @@ -21,6 +21,7 @@ #include "streamer.hpp" #include "socket_base.hpp" +#include "likely.hpp" #include "err.hpp" int zmq::streamer (socket_base_t *insocket_, socket_base_t *outsocket_) @@ -29,9 +30,30 @@ int zmq::streamer (socket_base_t *insocket_, socket_base_t *outsocket_) int rc = zmq_msg_init (&msg); errno_assert (rc == 0); + int64_t more; + size_t more_sz = sizeof (more); + while (true) { - insocket_->recv (&msg, 0); - outsocket_->send (&msg, 0); + rc = insocket_->recv (&msg, 0); + if (unlikely (rc < 0)) { + if (errno == ETERM) + return -1; + errno_assert (false); + } + + rc = insocket_->getsockopt (ZMQ_RCVMORE, &more, &more_sz); + if (unlikely (rc < 0)) { + if (errno == ETERM) + return -1; + errno_assert (false); + } + + rc = outsocket_->send (&msg, more ? ZMQ_SNDMORE : 0); + if (unlikely (rc < 0)) { + if (errno == ETERM) + return -1; + errno_assert (false); + } } return 0; diff --git a/src/tcp_connecter.cpp b/src/tcp_connecter.cpp index 17c0257..dee71be 100644 --- a/src/tcp_connecter.cpp +++ b/src/tcp_connecter.cpp @@ -117,10 +117,10 @@ zmq::fd_t zmq::tcp_connecter_t::connect () // Assert that the error was caused by the networking problems // rather than 0MQ bug. - zmq_assert (err == WSAECONNREFUSED || err == WSAETIMEDOUT || - err == WSAECONNABORTED); - errno = err; + errno_assert (errno == WSAECONNREFUSED || errno == WSAETIMEDOUT || + errno == WSAECONNABORTED || errno == WSAEHOSTUNREACH); + return retired_fd; } @@ -291,11 +291,12 @@ zmq::fd_t zmq::tcp_connecter_t::connect () err = errno; if (err != 0) { - // Assert that the error was caused by the networking problems - // rather than 0MQ bug. - zmq_assert (err == ECONNREFUSED || err == ETIMEDOUT); - + // Assert if the error was caused by 0MQ bug. + // Networking problems are OK. No need to assert. errno = err; + errno_assert (errno == ECONNREFUSED || errno == ECONNRESET || + errno == ETIMEDOUT || errno == EHOSTUNREACH); + return retired_fd; } diff --git a/src/tcp_listener.cpp b/src/tcp_listener.cpp index 0cb9a6e..a62bc04 100644 --- a/src/tcp_listener.cpp +++ b/src/tcp_listener.cpp @@ -64,7 +64,7 @@ int zmq::tcp_listener_t::set_address (const char *protocol_, const char *addr_) // Allow reusing of the address. int flag = 1; - rc = setsockopt (s, SOL_SOCKET, SO_REUSEADDR, + rc = setsockopt (s, SOL_SOCKET, SO_EXCLUSIVEADDRUSE, (const char*) &flag, sizeof (int)); wsa_assert (rc != SOCKET_ERROR); diff --git a/src/tcp_socket.cpp b/src/tcp_socket.cpp index cc426d7..c83bba6 100644 --- a/src/tcp_socket.cpp +++ b/src/tcp_socket.cpp @@ -210,7 +210,8 @@ int zmq::tcp_socket_t::read (void *data, int size) return 0; // Signalise peer failure. - if (nbytes == -1 && (errno == ECONNRESET || errno == ECONNREFUSED)) + if (nbytes == -1 && (errno == ECONNRESET || errno == ECONNREFUSED || + errno == ETIMEDOUT || errno == EHOSTUNREACH)) return -1; errno_assert (nbytes != -1); diff --git a/src/upstream.cpp b/src/upstream.cpp deleted file mode 100644 index 1498c31..0000000 --- a/src/upstream.cpp +++ /dev/null @@ -1,98 +0,0 @@ -/* - Copyright (c) 2007-2010 iMatix Corporation - - This file is part of 0MQ. - - 0MQ is free software; you can redistribute it and/or modify it under - the terms of the Lesser GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - 0MQ is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - Lesser GNU General Public License for more details. - - You should have received a copy of the Lesser GNU General Public License - along with this program. If not, see . -*/ - -#include "../include/zmq.h" - -#include "upstream.hpp" -#include "err.hpp" - -zmq::upstream_t::upstream_t (class app_thread_t *parent_) : - socket_base_t (parent_) -{ - options.requires_in = true; - options.requires_out = false; -} - -zmq::upstream_t::~upstream_t () -{ -} - -void zmq::upstream_t::xattach_pipes (class reader_t *inpipe_, - class writer_t *outpipe_, const blob_t &peer_identity_) -{ - zmq_assert (inpipe_ && !outpipe_); - fq.attach (inpipe_); -} - -void zmq::upstream_t::xdetach_inpipe (class reader_t *pipe_) -{ - zmq_assert (pipe_); - fq.detach (pipe_); -} - -void zmq::upstream_t::xdetach_outpipe (class writer_t *pipe_) -{ - // There are no outpipes, so this function shouldn't be called at all. - zmq_assert (false); -} - -void zmq::upstream_t::xkill (class reader_t *pipe_) -{ - fq.kill (pipe_); -} - -void zmq::upstream_t::xrevive (class reader_t *pipe_) -{ - fq.revive (pipe_); -} - -void zmq::upstream_t::xrevive (class writer_t *pipe_) -{ - zmq_assert (false); -} - -int zmq::upstream_t::xsetsockopt (int option_, const void *optval_, - size_t optvallen_) -{ - // No special options for this socket type. - errno = EINVAL; - return -1; -} - -int zmq::upstream_t::xsend (zmq_msg_t *msg_, int flags_) -{ - errno = ENOTSUP; - return -1; -} - -int zmq::upstream_t::xrecv (zmq_msg_t *msg_, int flags_) -{ - return fq.recv (msg_, flags_); -} - -bool zmq::upstream_t::xhas_in () -{ - return fq.has_in (); -} - -bool zmq::upstream_t::xhas_out () -{ - return false; -} - diff --git a/src/upstream.hpp b/src/upstream.hpp deleted file mode 100644 index 5fe42ae..0000000 --- a/src/upstream.hpp +++ /dev/null @@ -1,62 +0,0 @@ -/* - Copyright (c) 2007-2010 iMatix Corporation - - This file is part of 0MQ. - - 0MQ is free software; you can redistribute it and/or modify it under - the terms of the Lesser GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - 0MQ is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - Lesser GNU General Public License for more details. - - You should have received a copy of the Lesser GNU General Public License - along with this program. If not, see . -*/ - -#ifndef __ZMQ_UPSTREAM_HPP_INCLUDED__ -#define __ZMQ_UPSTREAM_HPP_INCLUDED__ - -#include "socket_base.hpp" -#include "fq.hpp" - -namespace zmq -{ - - class upstream_t : public socket_base_t - { - public: - - upstream_t (class app_thread_t *parent_); - ~upstream_t (); - - // Overloads of functions from socket_base_t. - void xattach_pipes (class reader_t *inpipe_, class writer_t *outpipe_, - const blob_t &peer_identity_); - void xdetach_inpipe (class reader_t *pipe_); - void xdetach_outpipe (class writer_t *pipe_); - void xkill (class reader_t *pipe_); - void xrevive (class reader_t *pipe_); - void xrevive (class writer_t *pipe_); - int xsetsockopt (int option_, const void *optval_, size_t optvallen_); - int xsend (zmq_msg_t *msg_, int flags_); - int xrecv (zmq_msg_t *msg_, int flags_); - bool xhas_in (); - bool xhas_out (); - - private: - - // Fair queueing object for inbound pipes. - fq_t fq; - - upstream_t (const upstream_t&); - void operator = (const upstream_t&); - - }; - -} - -#endif diff --git a/src/uuid.cpp b/src/uuid.cpp index 406bbb4..f1dddf0 100644 --- a/src/uuid.cpp +++ b/src/uuid.cpp @@ -190,8 +190,10 @@ unsigned char zmq::uuid_t::convert_byte (const char *hexa_) byte = *hexa_ - 'A' + 10; else if (*hexa_ >= 'a' && *hexa_ <= 'f') byte = *hexa_ - 'a' + 10; - else + else { zmq_assert (false); + byte = 0; + } byte *= 16; diff --git a/src/xrep.cpp b/src/xrep.cpp index 4e8d18a..5fd6cbb 100644 --- a/src/xrep.cpp +++ b/src/xrep.cpp @@ -26,6 +26,7 @@ zmq::xrep_t::xrep_t (class app_thread_t *parent_) : socket_base_t (parent_), current_in (0), + prefetched (false), more_in (false), current_out (NULL), more_out (false) @@ -142,8 +143,11 @@ int zmq::xrep_t::xsend (zmq_msg_t *msg_, int flags_) if (!more_out) { zmq_assert (!current_out); - // There's no such thing as prefix with no subsequent message. - zmq_assert (msg_->flags & ZMQ_MSG_MORE); + // If we have malformed message (prefix with no subsequent message) + // then just silently drop the message. + if ((msg_->flags & ZMQ_MSG_MORE) == 0) + return 0; + more_out = true; // Find the pipe associated with the identity stored in the prefix. @@ -153,7 +157,7 @@ int zmq::xrep_t::xsend (zmq_msg_t *msg_, int flags_) outpipes_t::iterator it = outpipes.find (identity); if (it == outpipes.end ()) return 0; - + // Remember the outgoing pipe. current_out = it->second.writer; @@ -189,6 +193,13 @@ int zmq::xrep_t::xrecv (zmq_msg_t *msg_, int flags_) // Deallocate old content of the message. zmq_msg_close (msg_); + if (prefetched) { + zmq_msg_move (msg_, &prefetched_msg); + more_in = msg_->flags & ZMQ_MSG_MORE; + prefetched = false; + return 0; + } + // If we are in the middle of reading a message, just grab next part of it. if (more_in) { zmq_assert (inpipes [current_in].active); @@ -207,21 +218,17 @@ int zmq::xrep_t::xrecv (zmq_msg_t *msg_, int flags_) for (int count = inpipes.size (); count != 0; count--) { // Try to fetch new message. - bool fetched; - if (!inpipes [current_in].active) - fetched = false; - else - fetched = inpipes [current_in].reader->check_read (); + if (inpipes [current_in].active) + prefetched = inpipes [current_in].reader->read (&prefetched_msg); // If we have a message, create a prefix and return it to the caller. - if (fetched) { + if (prefetched) { int rc = zmq_msg_init_size (msg_, inpipes [current_in].identity.size ()); zmq_assert (rc == 0); memcpy (zmq_msg_data (msg_), inpipes [current_in].identity.data (), zmq_msg_size (msg_)); msg_->flags = ZMQ_MSG_MORE; - more_in = true; return 0; } @@ -241,7 +248,7 @@ int zmq::xrep_t::xrecv (zmq_msg_t *msg_, int flags_) bool zmq::xrep_t::xhas_in () { // There are subsequent parts of the partly-read message available. - if (more_in) + if (prefetched || more_in) return true; // Note that messing with current doesn't break the fairness of fair diff --git a/src/xrep.hpp b/src/xrep.hpp index 940d288..da1b3d8 100644 --- a/src/xrep.hpp +++ b/src/xrep.hpp @@ -67,6 +67,12 @@ namespace zmq // The pipe we are currently reading from. inpipes_t::size_type current_in; + // Have we prefetched a message. + bool prefetched; + + // Holds the prefetched message. + zmq_msg_t prefetched_msg; + // If true, more incoming message parts are expected. bool more_in; diff --git a/src/xreq.cpp b/src/xreq.cpp index ab90f68..66e5cc3 100644 --- a/src/xreq.cpp +++ b/src/xreq.cpp @@ -23,8 +23,7 @@ #include "err.hpp" zmq::xreq_t::xreq_t (class app_thread_t *parent_) : - socket_base_t (parent_), - dropping (false) + socket_base_t (parent_) { options.requires_in = true; options.requires_out = true; @@ -78,25 +77,7 @@ int zmq::xreq_t::xsetsockopt (int option_, const void *optval_, int zmq::xreq_t::xsend (zmq_msg_t *msg_, int flags_) { - while (true) { - - // If we are ignoring the current message, just drop it and return. - if (dropping) { - if (!(msg_->flags & ZMQ_MSG_MORE)) - dropping = false; - int rc = zmq_msg_close (msg_); - zmq_assert (rc == 0); - rc = zmq_msg_init (msg_); - zmq_assert (rc == 0); - return 0; - } - - int rc = lb.send (msg_, flags_); - if (rc != 0 && errno == EAGAIN) - dropping = true; - else - return rc; - } + return lb.send (msg_, flags_); } int zmq::xreq_t::xrecv (zmq_msg_t *msg_, int flags_) @@ -111,8 +92,6 @@ bool zmq::xreq_t::xhas_in () bool zmq::xreq_t::xhas_out () { - // Socket is always ready for writing. When the queue is full, message - // will be silently dropped. - return true; + return lb.has_out (); } diff --git a/src/xreq.hpp b/src/xreq.hpp index 25a97f1..8ee0bb9 100644 --- a/src/xreq.hpp +++ b/src/xreq.hpp @@ -55,9 +55,6 @@ namespace zmq fq_t fq; lb_t lb; - // If true, curently sent message is being dropped. - bool dropping; - xreq_t (const xreq_t&); void operator = (const xreq_t&); }; diff --git a/src/yarray_item.hpp b/src/yarray_item.hpp index b6d89cc..db24dda 100644 --- a/src/yarray_item.hpp +++ b/src/yarray_item.hpp @@ -35,7 +35,9 @@ namespace zmq { } - inline ~yarray_item_t () + // The destructor doesn't have to be virtual. It is mad virtual + // just to keep ICC and code checking tools from complaining. + inline virtual ~yarray_item_t () { } diff --git a/src/ypipe.hpp b/src/ypipe.hpp index df5b3d0..26f021c 100644 --- a/src/ypipe.hpp +++ b/src/ypipe.hpp @@ -50,6 +50,12 @@ namespace zmq c.set (&queue.back ()); } + // The destructor doesn't have to be virtual. It is mad virtual + // just to keep ICC and code checking tools from complaining. + inline virtual ~ypipe_t () + { + } + // Following function (write) deliberately copies uninitialised data // when used with zmq_msg. Initialising the VSM body for // non-VSM messages won't be good for performance. @@ -156,6 +162,17 @@ namespace zmq return true; } + // Applies the function fn to the first elemenent in the pipe + // and returns the value returned by the fn. + // The pipe mustn't be empty or the function crashes. + inline bool probe (bool (*fn)(T &)) + { + bool rc = check_read (); + zmq_assert (rc); + + return (*fn) (queue.front ()); + } + protected: // Allocation-efficient queue to store pipe items. diff --git a/src/zmq.cpp b/src/zmq.cpp index c8f419a..f3ccaac 100644 --- a/src/zmq.cpp +++ b/src/zmq.cpp @@ -18,6 +18,7 @@ */ #include "../include/zmq.h" +#include "../include/zmq_utils.h" #include #include @@ -271,6 +272,11 @@ void *zmq_init (int io_threads_) int zmq_term (void *ctx_) { + if (!ctx_) { + errno = EFAULT; + return -1; + } + int rc = ((zmq::ctx_t*) ctx_)->term (); int en = errno; @@ -286,11 +292,19 @@ int zmq_term (void *ctx_) void *zmq_socket (void *ctx_, int type_) { + if (!ctx_) { + errno = EFAULT; + return NULL; + } return (void*) (((zmq::ctx_t*) ctx_)->create_socket (type_)); } int zmq_close (void *s_) { + if (!s_) { + errno = EFAULT; + return -1; + } ((zmq::socket_base_t*) s_)->close (); return 0; } @@ -298,33 +312,57 @@ int zmq_close (void *s_) int zmq_setsockopt (void *s_, int option_, const void *optval_, size_t optvallen_) { + if (!s_) { + errno = EFAULT; + return -1; + } return (((zmq::socket_base_t*) s_)->setsockopt (option_, optval_, optvallen_)); } int zmq_getsockopt (void *s_, int option_, void *optval_, size_t *optvallen_) { + if (!s_) { + errno = EFAULT; + return -1; + } return (((zmq::socket_base_t*) s_)->getsockopt (option_, optval_, optvallen_)); } int zmq_bind (void *s_, const char *addr_) { + if (!s_) { + errno = EFAULT; + return -1; + } return (((zmq::socket_base_t*) s_)->bind (addr_)); } int zmq_connect (void *s_, const char *addr_) { + if (!s_) { + errno = EFAULT; + return -1; + } return (((zmq::socket_base_t*) s_)->connect (addr_)); } int zmq_send (void *s_, zmq_msg_t *msg_, int flags_) { + if (!s_) { + errno = EFAULT; + return -1; + } return (((zmq::socket_base_t*) s_)->send (msg_, flags_)); } int zmq_recv (void *s_, zmq_msg_t *msg_, int flags_) { + if (!s_) { + errno = EFAULT; + return -1; + } return (((zmq::socket_base_t*) s_)->recv (msg_, flags_)); } @@ -336,6 +374,10 @@ int zmq_poll (zmq_pollitem_t *items_, int nitems_, long timeout_) defined ZMQ_HAVE_HPUX || defined ZMQ_HAVE_AIX ||\ defined ZMQ_HAVE_NETBSD + if (!items_) { + errno = EFAULT; + return -1; + } pollfd *pollfds = (pollfd*) malloc (nitems_ * sizeof (pollfd)); zmq_assert (pollfds); int npollfds = 0; @@ -489,6 +531,10 @@ int zmq_poll (zmq_pollitem_t *items_, int nitems_, long timeout_) zmq::fd_t maxfd = zmq::retired_fd; zmq::fd_t notify_fd = zmq::retired_fd; + // Ensure we do not attempt to select () on more than FD_SETSIZE + // file descriptors. + zmq_assert (nitems_ <= FD_SETSIZE); + for (int i = 0; i != nitems_; i++) { // 0MQ sockets. @@ -647,6 +693,10 @@ int zmq_errno () int zmq_device (int device_, void *insocket_, void *outsocket_) { + if (!insocket_ || !outsocket_) { + errno = EFAULT; + return -1; + } switch (device_) { case ZMQ_FORWARDER: return zmq::forwarder ((zmq::socket_base_t*) insocket_, @@ -661,3 +711,66 @@ int zmq_device (int device_, void *insocket_, void *outsocket_) return EINVAL; } } + +//////////////////////////////////////////////////////////////////////////////// +// 0MQ utils - to be used by perf tests +//////////////////////////////////////////////////////////////////////////////// + +#if defined ZMQ_HAVE_WINDOWS + +static uint64_t now () +{ + // Get the high resolution counter's accuracy. + LARGE_INTEGER ticksPerSecond; + QueryPerformanceFrequency (&ticksPerSecond); + + // What time is it? + LARGE_INTEGER tick; + QueryPerformanceCounter (&tick); + + // Convert the tick number into the number of seconds + // since the system was started. + double ticks_div = (double) (ticksPerSecond.QuadPart / 1000000); + return (uint64_t) (tick.QuadPart / ticks_div); +} + +void zmq_sleep (int seconds_) +{ + Sleep (seconds_ * 1000); +} + +#else + +static uint64_t now () +{ + struct timeval tv; + int rc; + + rc = gettimeofday (&tv, NULL); + assert (rc == 0); + return (tv.tv_sec * (uint64_t) 1000000 + tv.tv_usec); +} + +void zmq_sleep (int seconds_) +{ + sleep (seconds_); +} + +#endif + +void *zmq_stopwatch_start () +{ + uint64_t *watch = (uint64_t*) malloc (sizeof (uint64_t)); + assert (watch); + *watch = now (); + return (void*) watch; +} + +unsigned long zmq_stopwatch_stop (void *watch_) +{ + uint64_t end = now (); + uint64_t start = *(uint64_t*) watch_; + free (watch_); + return (unsigned long) (end - start); +} + diff --git a/src/zmq_decoder.cpp b/src/zmq_decoder.cpp index 8e335c9..dcf8e76 100644 --- a/src/zmq_decoder.cpp +++ b/src/zmq_decoder.cpp @@ -56,6 +56,9 @@ bool zmq::zmq_decoder_t::one_byte_size_ready () // TODO: Handle over-sized message decently. + // There has to be at least one byte (the flags) in the message). + zmq_assert (*tmpbuf > 0); + // in_progress is initialised at this point so in theory we should // close it before calling zmq_msg_init_size, however, it's a 0-byte // message and thus we can treat it as uninitialised... @@ -74,6 +77,10 @@ bool zmq::zmq_decoder_t::eight_byte_size_ready () // TODO: Handle over-sized message decently. + // There has to be at least one byte (the flags) in the message). + zmq_assert (size > 0); + + // in_progress is initialised at this point so in theory we should // close it before calling zmq_msg_init_size, however, it's a 0-byte // message and thus we can treat it as uninitialised... diff --git a/zeromq.spec b/zeromq.spec index 84889df..a5d43f4 100644 --- a/zeromq.spec +++ b/zeromq.spec @@ -1,5 +1,5 @@ Name: zeromq -Version: 2.0.7 +Version: 2.0.9 Release: 1%{?dist} Summary: The ZeroMQ messaging library Group: Applications/Internet -- cgit v1.2.3
Compatible peer sockets @@ -1023,7 +1192,7 @@ Compatible peer sockets

-ZMQ_DOWNSTREAM +ZMQ_PUSH