summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Lucina <mato@kotelna.sk>2010-09-08 15:25:45 +0200
committerMartin Lucina <martin@lucina.net>2012-01-23 08:53:27 +0100
commit90d73cba9cd1d1724f38ed82fc0eefb1781c9c20 (patch)
tree1760872164a93384d1adb90db9c8d41777dbb2a7
parentcf026feae205bfeb7e007f6afd0e8d7b283865c8 (diff)
parent5ba1cb20fe6f6699cef1cc726718e760cd4c9af1 (diff)
Imported Debian patch 2.0.9.dfsg-1debian/2.0.9.dfsg-1
-rw-r--r--AUTHORS6
-rw-r--r--ChangeLog7428
-rw-r--r--Makefile.am20
-rw-r--r--Makefile.in39
-rw-r--r--NEWS67
-rw-r--r--README2
-rw-r--r--builds/msvc/Makefile.in4
-rw-r--r--builds/msvc/c_local_lat/c_local_lat.vcproj4
-rw-r--r--builds/msvc/c_local_thr/c_local_thr.vcproj4
-rw-r--r--builds/msvc/c_remote_lat/c_remote_lat.vcproj4
-rw-r--r--builds/msvc/c_remote_thr/c_remote_thr.vcproj4
-rw-r--r--builds/msvc/libzmq/libzmq.vcproj16
-rw-r--r--builds/msvc/platform.hpp2
-rwxr-xr-xconfigure91
-rw-r--r--configure.in5
-rw-r--r--debian/changelog13
-rw-r--r--debian/control11
-rw-r--r--debian/libzmq-dbg.lintian-overrides2
-rw-r--r--debian/libzmq-dev.lintian-overrides2
-rw-r--r--debian/libzmq-dev.manpages2
-rw-r--r--debian/libzmq0.lintian-overrides2
-rw-r--r--debian/libzmq0.manpages5
-rw-r--r--debian/zeromq-bin.lintian-overrides2
-rw-r--r--devices/Makefile.in4
-rw-r--r--devices/zmq_forwarder/Makefile.in4
-rw-r--r--devices/zmq_queue/Makefile.in4
-rw-r--r--devices/zmq_streamer/Makefile.in4
-rw-r--r--doc/Makefile.am2
-rw-r--r--doc/Makefile.in6
-rw-r--r--doc/asciidoc.conf56
-rw-r--r--doc/zmq.78
-rw-r--r--doc/zmq.html6
-rw-r--r--doc/zmq.txt3
-rw-r--r--doc/zmq_bind.313
-rw-r--r--doc/zmq_bind.html11
-rw-r--r--doc/zmq_bind.txt2
-rw-r--r--doc/zmq_close.315
-rw-r--r--doc/zmq_close.html14
-rw-r--r--doc/zmq_close.txt3
-rw-r--r--doc/zmq_connect.313
-rw-r--r--doc/zmq_connect.html11
-rw-r--r--doc/zmq_connect.txt2
-rw-r--r--doc/zmq_cpp.716
-rw-r--r--doc/zmq_cpp.html7
-rw-r--r--doc/zmq_cpp.txt4
-rw-r--r--doc/zmq_epgm.76
-rw-r--r--doc/zmq_epgm.html3
-rw-r--r--doc/zmq_errno.36
-rw-r--r--doc/zmq_errno.html3
-rw-r--r--doc/zmq_forwarder.16
-rw-r--r--doc/zmq_forwarder.html3
-rw-r--r--doc/zmq_getsockopt.328
-rw-r--r--doc/zmq_getsockopt.html26
-rw-r--r--doc/zmq_getsockopt.txt17
-rw-r--r--doc/zmq_init.36
-rw-r--r--doc/zmq_init.html3
-rw-r--r--doc/zmq_inproc.76
-rw-r--r--doc/zmq_inproc.html3
-rw-r--r--doc/zmq_ipc.76
-rw-r--r--doc/zmq_ipc.html3
-rw-r--r--doc/zmq_msg_close.36
-rw-r--r--doc/zmq_msg_close.html3
-rw-r--r--doc/zmq_msg_copy.36
-rw-r--r--doc/zmq_msg_copy.html3
-rw-r--r--doc/zmq_msg_data.36
-rw-r--r--doc/zmq_msg_data.html3
-rw-r--r--doc/zmq_msg_init.36
-rw-r--r--doc/zmq_msg_init.html3
-rw-r--r--doc/zmq_msg_init_data.36
-rw-r--r--doc/zmq_msg_init_data.html3
-rw-r--r--doc/zmq_msg_init_size.36
-rw-r--r--doc/zmq_msg_init_size.html3
-rw-r--r--doc/zmq_msg_move.36
-rw-r--r--doc/zmq_msg_move.html3
-rw-r--r--doc/zmq_msg_size.36
-rw-r--r--doc/zmq_msg_size.html3
-rw-r--r--doc/zmq_pgm.76
-rw-r--r--doc/zmq_pgm.html3
-rw-r--r--doc/zmq_poll.313
-rw-r--r--doc/zmq_poll.html11
-rw-r--r--doc/zmq_poll.txt2
-rw-r--r--doc/zmq_queue.16
-rw-r--r--doc/zmq_queue.html3
-rw-r--r--doc/zmq_recv.318
-rw-r--r--doc/zmq_recv.html18
-rw-r--r--doc/zmq_recv.txt7
-rw-r--r--doc/zmq_send.313
-rw-r--r--doc/zmq_send.html11
-rw-r--r--doc/zmq_send.txt2
-rw-r--r--doc/zmq_setsockopt.323
-rw-r--r--doc/zmq_setsockopt.html21
-rw-r--r--doc/zmq_setsockopt.txt12
-rw-r--r--doc/zmq_socket.3187
-rw-r--r--doc/zmq_socket.html212
-rw-r--r--doc/zmq_socket.txt102
-rw-r--r--doc/zmq_streamer.16
-rw-r--r--doc/zmq_streamer.html3
-rw-r--r--doc/zmq_strerror.36
-rw-r--r--doc/zmq_strerror.html3
-rw-r--r--doc/zmq_tcp.720
-rw-r--r--doc/zmq_tcp.html18
-rw-r--r--doc/zmq_tcp.txt11
-rw-r--r--doc/zmq_term.315
-rw-r--r--doc/zmq_term.html14
-rw-r--r--doc/zmq_term.txt3
-rw-r--r--doc/zmq_version.36
-rw-r--r--doc/zmq_version.html3
-rw-r--r--foreign/openpgm/libpgm-2.1.26.tar.gzbin352620 -> 342443 bytes
-rw-r--r--foreign/xmlParser/xmlParser.hpp2
-rw-r--r--include/zmq.h13
-rw-r--r--include/zmq_utils.h (renamed from perf/helpers.h)33
-rw-r--r--perf/Makefile.am9
-rw-r--r--perf/Makefile.in22
-rw-r--r--perf/helpers.cpp86
-rw-r--r--perf/local_lat.cpp4
-rw-r--r--perf/local_thr.cpp8
-rw-r--r--perf/remote_lat.cpp6
-rw-r--r--perf/remote_thr.cpp6
-rw-r--r--src/Makefile.am12
-rw-r--r--src/Makefile.in59
-rw-r--r--src/app_thread.cpp12
-rw-r--r--src/ctx.cpp1
-rw-r--r--src/decoder.hpp4
-rw-r--r--src/encoder.hpp4
-rw-r--r--src/forwarder.cpp26
-rw-r--r--src/i_poll_events.hpp2
-rw-r--r--src/ip.cpp7
-rw-r--r--src/msg_store.cpp307
-rw-r--r--src/msg_store.hpp114
-rw-r--r--src/pair.cpp3
-rw-r--r--src/pipe.cpp146
-rw-r--r--src/pipe.hpp32
-rw-r--r--src/platform.hpp.in3
-rw-r--r--src/poll.cpp23
-rw-r--r--src/prefix_tree.cpp12
-rw-r--r--src/prefix_tree.hpp2
-rw-r--r--src/pull.cpp (renamed from src/upstream.cpp)28
-rw-r--r--src/pull.hpp (renamed from src/upstream.hpp)14
-rw-r--r--src/push.cpp (renamed from src/downstream.cpp)28
-rw-r--r--src/push.hpp (renamed from src/downstream.hpp)14
-rw-r--r--src/queue.cpp43
-rw-r--r--src/select.cpp15
-rw-r--r--src/session.cpp4
-rw-r--r--src/signaler.cpp26
-rw-r--r--src/socket_base.cpp29
-rw-r--r--src/streamer.cpp26
-rw-r--r--src/tcp_connecter.cpp15
-rw-r--r--src/tcp_listener.cpp2
-rw-r--r--src/tcp_socket.cpp3
-rw-r--r--src/uuid.cpp4
-rw-r--r--src/xrep.cpp29
-rw-r--r--src/xrep.hpp6
-rw-r--r--src/xreq.cpp27
-rw-r--r--src/xreq.hpp3
-rw-r--r--src/yarray_item.hpp4
-rw-r--r--src/ypipe.hpp17
-rw-r--r--src/zmq.cpp113
-rw-r--r--src/zmq_decoder.cpp7
-rw-r--r--zeromq.spec2
159 files changed, 9647 insertions, 688 deletions
diff --git a/AUTHORS b/AUTHORS
index 79f100a..1279d7f 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -5,6 +5,8 @@ Alexej Lotz <alexej.lotz@arcor.de>
Asko Kauppi <askok@dnainternet.net>
Barak Amar <barak.amar@gmail.com>
Bernd Prager <bernd@prager.ws>
+Bernd Melchers <melchers@ZEDAT.FU-Berlin.DE>
+Brian Buchanan <bwb@holo.org>
Chris Wong <chris@chriswongstudio.com>
Conrad D. Steenberg <conrad.steenberg@caltech.edu>
Dhruva Krishnamurthy <dhruva@ymail.com>
@@ -14,6 +16,7 @@ Erik Rigtorp <erik@rigtorp.com>
Frank Denis <zeromq@pureftpd.org>
George Neill <georgen@neillnet.com>
Gonzalo Diethelm <gdiethelm@dcv.cl>
+Ivo Danihelka <ivo@danihelka.net>
Joe Thornber <joe.thornber@gmail.com>
Jon Dyte <jon@totient.co.uk>
Kamil Shakirov <kamils80@gmail.com>
@@ -22,9 +25,11 @@ Martin Lucina <mato@kotelna.sk>
Martin Sustrik <sustrik@250bpm.com>
Matus Hamorsky <mhamorsky@gmail.com>
McClain Looney <m@loonsoft.com>
+Mikael Helbo Kjaer <mhk@designtech.dk>
Pavel Gushcha <pavimus@gmail.com>
Pavol Malosek <malosek@fastmq.com>
Pieter Hintjens <ph@imatix.com>
+Piotr Trojanek <piotr.trojanek@gmail.com>
Steven McCoy <steven.mccoy@miru.hk>
Tamara Kustarova <kustarova.tamara@gmail.com>
Tero Marttila <terom@fixme.fi>
@@ -56,3 +61,4 @@ Peter Busser <busserpeter@gmail.com>
Peter Lemenkov <lemenkov@gmail.com>
Robert Zhang <robert@scout-trading.com>
Toralf Wittner <toralf.wittner@gmail.com>
+
diff --git a/ChangeLog b/ChangeLog
index c741998..e34c369 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,1127 @@
-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 <sustrik@250bpm.com>
+Date: Sat Sep 4 18:38:20 2010 +0200
+
+ NEWS updated for 2.0.9
+
+ NEWS | 12 ++++++++++++
+ 1 files changed, 12 insertions(+), 0 deletions(-)
+
+commit 1e8451961e498abd1da61e64f5baf48890e1563e
+Author: Martin Lucina <mato@kotelna.sk>
+Date: Sat Sep 4 17:44:11 2010 +0200
+
+ Update .gitignore
+
+ .gitignore | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+commit 32fd916c731901944e01c0cb445d32ce0d162693
+Author: Martin Lucina <mato@kotelna.sk>
+Date: Sat Sep 4 17:42:33 2010 +0200
+
+ doc: Add 0MQ version to XHTML11 backend footer
+
+ Thanks to Matt Weinstein for the suggestion.
+
+ doc/asciidoc.conf | 14 ++++++++++++++
+ 1 files changed, 14 insertions(+), 0 deletions(-)
+
+commit a6d3629fb4f87c018c7ba2f8c4ff69f7eda07790
+Author: Martin Lucina <mato@kotelna.sk>
+Date: Sat Sep 4 17:26:36 2010 +0200
+
+ build: Generate ChangeLog in 'make dist', ZIP automatically
+
+ 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.
+
+ ChangeLog | 2724 ----------------------------------------------------------
+ Makefile.am | 20 +-
+ configure.in | 2 +-
+ 3 files changed, 17 insertions(+), 2729 deletions(-)
+
+commit db7fe858d6356988fb9a9270c235178e523b2370
+Author: Martin Sustrik <sustrik@250bpm.com>
+Date: Sat Sep 4 17:12:08 2010 +0200
+
+ Broken device numbering reverted
+
+ include/zmq.h | 64 ++++++++++++++++++++++++++++----------------------------
+ 1 files changed, 32 insertions(+), 32 deletions(-)
+
+commit 10227899b1ccdaecf709fbfc7b765e147baf3080
+Author: Dhammika Pathirana <dhammika@gmail.com>
+Date: Fri Aug 27 18:06:37 2010 +0200
+
+ assert on malformed messages
+
+ src/zmq_decoder.cpp | 7 +++++++
+ 1 files changed, 7 insertions(+), 0 deletions(-)
+
+commit c2f3b3b4458187085e148850068f9719c2567614
+Author: Jon Dyte <jon@totient.co.uk>
+Date: Fri Aug 27 06:59:55 2010 +0200
+
+ forwarder and streamer devices handle multi-part messages correctly
+
+ src/forwarder.cpp | 17 ++++++++++++++---
+ src/queue.cpp | 15 ++++++++-------
+ src/streamer.cpp | 17 ++++++++++++++---
+ 3 files changed, 36 insertions(+), 13 deletions(-)
+
+commit ae567be0c295d9c18da5ba4be4f8403cc844a9a3
+Author: Ivo Danihelka <ivo@danihelka.net>
+Date: Thu Aug 26 12:14:53 2010 +0200
+
+ improved null checking in zmq_term
+
+ AUTHORS | 1 +
+ src/zmq.cpp | 7 ++++---
+ 2 files changed, 5 insertions(+), 3 deletions(-)
+
+commit 51a84c15ded2d70985c9d971ebdf3f3c9c18d590
+Author: Martin Lucina <mato@kotelna.sk>
+Date: Sat Sep 4 16:12:33 2010 +0200
+
+ zmq::select_t, zmq_poll(): assert if FD_SETSIZE reached
+
+ Ensure that 0MQ does not attempt to call select() on more than FD_SETSIZE
+ file descriptors.
+
+ src/select.cpp | 4 ++++
+ src/zmq.cpp | 4 ++++
+ 2 files changed, 8 insertions(+), 0 deletions(-)
+
+commit f850190c16df0d55015dc15cd5c0c50289db5dda
+Author: Martin Lucina <mato@kotelna.sk>
+Date: Sat Sep 4 16:10:14 2010 +0200
+
+ zmq.h: Fix typo and use of C99 comment
+
+ include/zmq.h | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+commit ee3444ff93888a052cd1ba48aa22892f7077a7a0
+Author: Martin Lucina <mato@kotelna.sk>
+Date: Sat Sep 4 16:00:26 2010 +0200
+
+ doc: Update zmq_socket(3) for 2.0.8 API changes
+
+ doc/zmq_socket.txt | 40 ++++++++++++++++++++++------------------
+ 1 files changed, 22 insertions(+), 18 deletions(-)
+
+commit 26b39bcdef390f45bb316c4488b51470c27086e2
+Author: Martin Lucina <mato@kotelna.sk>
+Date: Sat Sep 4 15:55:41 2010 +0200
+
+ Revert "Added man page for the zmq_device method"
+
+ This reverts commit f575f252c99c99d3622f313d6bbad6635197a1e4.
+
+ Conflicts:
+
+ doc/zmq_device.txt
+
+ doc/zmq_device.txt | 99 ----------------------------------------------------
+ 1 files changed, 0 insertions(+), 99 deletions(-)
+
+commit 8800ac7de5d50426b0459ebea4568bb77954ea3d
+Author: Martin Lucina <mato@kotelna.sk>
+Date: Sat Sep 4 15:55:19 2010 +0200
+
+ Revert "Added clean target that deletes generated man pages"
+
+ This reverts commit 6cd90304476c1c6873d67068009def63e520b848.
+
+ doc/Makefile.am | 7 ++-----
+ 1 files changed, 2 insertions(+), 5 deletions(-)
+
+commit 32baeb610e779862b58c56f66571b01599743a9e
+Author: Martin Lucina <mato@kotelna.sk>
+Date: Sat Sep 4 15:55:11 2010 +0200
+
+ 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 <mato@kotelna.sk>
+Date: Sat Sep 4 15:55:03 2010 +0200
+
+ Revert "Reverting 'clean' change to Makefile"
+
+ This reverts commit c51de31f2fd31f782e419bfac2fb8d40d689f3e3.
+
+ doc/Makefile.am | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+commit 48d3e2d6607499b8c5feb1258c9bd40519923c69
+Author: Martin Lucina <mato@kotelna.sk>
+Date: Sat Sep 4 15:54:53 2010 +0200
+
+ Revert "Removed empty man pages for old standalone devices"
+
+ This reverts commit 6ff193999d96487f7aa7e578980ab5554e61d8dc.
+
+ 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 6c393f53e28f41118eed9a8d034d8d46f2555572
+Author: Martin Lucina <mato@kotelna.sk>
+Date: Sat Sep 4 15:54:34 2010 +0200
+
+ Revert "Further cleanups on reference manual"
+
+ 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 <mato@kotelna.sk>
+Date: Sat Sep 4 15:51:40 2010 +0200
+
+ Revert "Small improvements to zmq_device(3) page"
+
+ This reverts commit 96bcc9e6cf73781c31042278eb960c0363a78805.
+
+ doc/zmq_device.txt | 32 ++++++++++----------------------
+ 1 files changed, 10 insertions(+), 22 deletions(-)
+
+commit 83d253d72d4fe83f4a001a7cfb4059ccc52b04e0
+Author: Martin Lucina <mato@kotelna.sk>
+Date: Sat Sep 4 15:51:09 2010 +0200
+
+ Revert "Removed wip zmq_deviced from master"
+
+ This reverts commit de0173754cc82f6c08875a892892f043a804554c.
+
+ doc/Makefile.am | 2 +-
+ doc/zmq.txt | 4 +-
+ doc/zmq_deviced.txt | 145 +++++++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 149 insertions(+), 2 deletions(-)
+
+commit 14853c2db528b3fd6eed84786053549e71f61bb7
+Author: Jon Dyte <jon@totient.co.uk>
+Date: Thu Sep 2 07:52:02 2010 +0200
+
+ Prior to this patch prefix_tree asserts.
+
+ 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.
+
+ src/prefix_tree.cpp | 12 ++++++------
+ src/prefix_tree.hpp | 2 +-
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+commit 8ec0743c7551de3c76126d080961cece732370f1
+Author: Bernd Melchers <melchers@ZEDAT.FU-Berlin.DE>
+Date: Thu Sep 2 07:33:57 2010 +0200
+
+ Fix for signaler_t on HP-UX and AIX platforms
+
+ AUTHORS | 1 +
+ src/signaler.cpp | 6 +++---
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
+commit d5b6f680a54c682da066e769c46075a4bc57bd55
+Author: Martin Sustrik <sustrik@250bpm.com>
+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 <mhk@designtech.dk>
+Date: Wed Sep 1 18:39:12 2010 +0200
+
+ Erasure of retired fd's in select.cpp causes an assertion in MSVC 2008 STL
+
+ 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.
+
+ src/select.cpp | 11 +++++++----
+ 1 files changed, 7 insertions(+), 4 deletions(-)
+
+commit 99ddfa7d65a4556bdbb68fd1831e2de73595f0c7
+Author: Martin Sustrik <sustrik@250bpm.com>
+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 <mato@kotelna.sk>
+Date: Wed Aug 25 13:11:20 2010 +0200
+
+ Update ChangeLog for v2.0.8
+
+ ChangeLog | 493 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 493 insertions(+), 0 deletions(-)
+
+commit c9076c5d8b9b69f4e1bf797127735a563b712eb9
+Author: Martin Lucina <mato@kotelna.sk>
+Date: Wed Aug 25 12:50:16 2010 +0200
+
+ Basic documentation for XREQ/XREP socket types
+
+ Add some basic documentation for XREQ/XREP socket types, including
+ a brief description of the most common use case (REQ -> XREP) and (XREQ ->
+ REP).
+
+ doc/zmq_socket.txt | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 59 insertions(+), 0 deletions(-)
+
+commit 6d275a8788ad06dda451845402877010f114d6d4
+Merge: 98bea86 d788c1f
+Author: Pieter Hintjens <ph@imatix.com>
+Date: Wed Aug 25 12:09:55 2010 +0200
+
+ Updated NEWS for stable 2.0.8 release
+
+commit 98bea86240c3e2cb0c1c9832f5660994a0a11f34
+Author: Pieter Hintjens <ph@imatix.com>
+Date: Wed Aug 25 11:43:52 2010 +0200
+
+ Updated NEWS for stable 2.0.8 release
+
+ NEWS | 54 ++++++++++++++++++++++++++++++++++++++++++++++++------
+ 1 files changed, 48 insertions(+), 6 deletions(-)
+
+commit d788c1f7e49305976f3e1d0540c5671c47348880
+Author: Pieter Hintjens <ph@imatix.com>
+Date: Wed Aug 25 11:43:52 2010 +0200
+
+ Updated NEWS for stable 2.0.8 release
+
+ NEWS | 47 +++++++++++++++++++++++++++++++++++++++++------
+ 1 files changed, 41 insertions(+), 6 deletions(-)
+
+commit c06a3cc5101a36bf70c593937374371cafbacfc3
+Author: Martin Lucina <mato@kotelna.sk>
+Date: Wed Aug 25 11:24:24 2010 +0200
+
+ Update version number to 2.0.8
+
+ builds/msvc/platform.hpp | 2 +-
+ configure.in | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit b66dd7afd20b82668a3d7756900c91680bd1d91e
+Author: Martin Lucina <mato@kotelna.sk>
+Date: Wed Aug 25 09:50:45 2010 +0200
+
+ zmq_stopwatch_stop: Don't return EFAULT
+
+ Function returning unsigned long int cannot return (-1)
+
+ src/zmq.cpp | 4 ----
+ 1 files changed, 0 insertions(+), 4 deletions(-)
+
+commit 2b2accb8bf574bfb7d85893696f477d5bc6ca272
+Author: Pieter Hintjens <ph@imatix.com>
+Date: Sat Aug 21 15:47:10 2010 +0200
+
+ Added calls to zmq_msg_close in examples
+
+ doc/zmq_recv.txt | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+commit c52d1f2d47ac93e391ff707b50245aa33d7e8323
+Author: Pieter Hintjens <ph@imatix.com>
+Date: Sat Aug 21 13:46:03 2010 +0200
+
+ Fixed example for multipart zmq_recv()
+
+ doc/zmq_recv.txt | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 87612be91d4ff5252613196f061bd89d3bce25ec
+Merge: de0035b 5be54b9
+Author: Pieter Hintjens <ph@imatix.com>
+Date: Fri Aug 20 01:06:34 2010 +0200
+
+ Merge branch '46_device_robustness'
+
+commit de0035b6d9fc1c5423d10fbac468b0e17188510f
+Author: Pieter Hintjens <ph@imatix.com>
+Date: Thu Aug 19 14:31:04 2010 +0200
+
+ Fixed git URL in README
+
+ README | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 7aba2d10338727b030c3a9ff4ec34f7086ea5023
+Author: Martin Sustrik <sustrik@250bpm.com>
+Date: Wed Aug 18 12:00:26 2010 +0200
+
+ documentation leftover from v2.0.6 cleaned in zmq(7)
+
+ doc/zmq.txt | 3 +--
+ 1 files changed, 1 insertions(+), 2 deletions(-)
+
+commit de0173754cc82f6c08875a892892f043a804554c
+Author: Pieter Hintjens <ph@imatix.com>
+Date: Wed Aug 11 21:12:10 2010 +0200
+
+ Removed wip zmq_deviced from master
+
+ doc/Makefile.am | 2 +-
+ doc/zmq.txt | 4 +-
+ doc/zmq_deviced.txt | 145 ---------------------------------------------------
+ 3 files changed, 2 insertions(+), 149 deletions(-)
+
+commit 5be54b912029381736ee8b8798f95cc9a2544a70
+Author: Pieter Hintjens <ph@imatix.com>
+Date: Wed Aug 11 17:05:19 2010 +0200
+
+ 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.
+
+ src/xrep.cpp | 9 ++++++---
+ 1 files changed, 6 insertions(+), 3 deletions(-)
+
+commit e74d350068e8a7d2becbd791f19e2c1ef20afae5
+Author: Pieter Hintjens <ph@imatix.com>
+Date: Wed Aug 11 17:00:12 2010 +0200
+
+ Fixed (un)signed type errors in get/setsockopt manual
+
+ doc/zmq_getsockopt.txt | 10 +++++-----
+ doc/zmq_setsockopt.txt | 10 +++++-----
+ 2 files changed, 10 insertions(+), 10 deletions(-)
+
+commit a12f446c4c160e6fb969c35ff01578e5f0965ecc
+Author: Pieter Hintjens <ph@imatix.com>
+Date: Tue Aug 10 12:36:56 2010 +0200
+
+ Modified zmq_tcp(7) to emphasize wildcard interfaces
+
+ doc/zmq_tcp.txt | 10 +++++-----
+ 1 files changed, 5 insertions(+), 5 deletions(-)
+
+commit b6cdd369e328ceca2c46758d92ad8ea6a1f59cd7
+Author: Pieter Hintjens <ph@imatix.com>
+Date: Sun Aug 8 11:43:32 2010 +0200
+
+ Added error checking (EFAULT) for null arguments
+
+ * 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 <ph@imatix.com>
+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 <mato@kotelna.sk>
+Date: Fri Aug 6 12:01:40 2010 +0200
+
+ Merge branch 'master' of github.com:zeromq/zeromq2
+
+commit 6d35e82db4178b936b33c2eaa6a9f4a2b597e2f3
+Author: Martin Lucina <mato@kotelna.sk>
+Date: Fri Aug 6 12:00:57 2010 +0200
+
+ Fix uninitialized use of nbytes in signaler fix
+
+ src/signaler.cpp | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 2100a9133312f7feecd22c4f809c8f3912c93274
+Merge: 78e9ee8 16b43e6
+Author: Pieter Hintjens <ph@imatix.com>
+Date: Fri Aug 6 11:09:29 2010 +0200
+
+ Merge branch 'master' of github.com:zeromq/zeromq2
+
+commit 16b43e657b44902b3b45fbb01228c813cf27ad39
+Merge: 9ac2ff4 96bcc9e
+Author: Martin Lucina <mato@kotelna.sk>
+Date: Thu Aug 5 23:41:49 2010 +0200
+
+ Merge branch 'master' of github.com:zeromq/zeromq2
+
+commit 9ac2ff449ccfb71cb1f3c9d7b2cf67c440539228
+Author: Martin Lucina <mato@kotelna.sk>
+Date: Thu Aug 5 23:40:30 2010 +0200
+
+ zmq::signaler_t: Restart syscalls on EINTR
+
+ This patch restarts the send() or recv() inside zmq::signaler_t if the call fails
+ due to EINTR.
+
+ src/signaler.cpp | 22 +++++++++++++++++-----
+ 1 files changed, 17 insertions(+), 5 deletions(-)
+
+commit 78e9ee84bf0e89eeb7134771b1f501ea0f9ccd9d
+Author: Pieter Hintjens <ph@imatix.com>
+Date: Thu Aug 5 18:49:49 2010 +0200
+
+ Fixed MSVC project for PULL/PUSH
+
+ builds/msvc/libzmq/libzmq.vcproj | 8 ++++----
+ 1 files changed, 4 insertions(+), 4 deletions(-)
+
+commit 96bcc9e6cf73781c31042278eb960c0363a78805
+Author: Pieter Hintjens <ph@imatix.com>
+Date: Wed Aug 4 17:06:38 2010 +0200
+
+ Small improvements to zmq_device(3) page
+
+ * Clarified broker model and proxy model
+ * Added example of proxy model
+
+ doc/zmq_device.txt | 32 ++++++++++++++++++++++----------
+ 1 files changed, 22 insertions(+), 10 deletions(-)
+
+commit 13f3481e127a6b2390e847af6b01ee88f1b4ae61
+Author: Pieter Hintjens <ph@imatix.com>
+Date: Wed Aug 4 16:05:25 2010 +0200
+
+ 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 <ph@imatix.com>
+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 <ph@imatix.com>
+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 <ph@imatix.com>
+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 <ph@imatix.com>
+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 <ph@imatix.com>
+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 <ph@imatix.com>
+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 <mato@kotelna.sk>
+Date: Fri Jul 30 16:49:06 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.
+
+ src/xreq.cpp | 27 +++------------------------
+ src/xreq.hpp | 3 ---
+ 2 files changed, 3 insertions(+), 27 deletions(-)
+
+commit 66470b2c55d74fb137211f4264bbfc5e3f454534
+Author: Martin Hurton <hurtonm@gmail.com>
+Date: Mon Jul 26 12:24:00 2010 +0200
+
+ perf: fix typo
+
+ perf/local_thr.cpp | 2 +-
+ perf/remote_thr.cpp | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 10533a560b4af1d3dae63c87c737e25bbdb78998
+Author: Martin Hurton <hurtonm@gmail.com>
+Date: Wed Jul 14 18:31:17 2010 +0200
+
+ pipe: check_read() should check for message delimiter
+
+ src/pipe.cpp | 27 ++++++++++++++++++++++-----
+ src/pipe.hpp | 3 +++
+ src/ypipe.hpp | 11 +++++++++++
+ 3 files changed, 36 insertions(+), 5 deletions(-)
+
+commit e1c596b37eef2c2c72c605d7bf4a5c97050add6b
+Author: Martin Hurton <hurtonm@gmail.com>
+Date: Sat Jul 24 16:57:13 2010 +0200
+
+ Make sure lwm > 0 when hwm > 0
+
+ src/pipe.cpp | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 5b1a6a4bea1cebe860769f82702410f6c1d0ab1b
+Author: Martin Lucina <mato@kotelna.sk>
+Date: Wed Jul 21 17:33:40 2010 +0200
+
+ Issue 42 - getaddrinfo() fails
+
+ src/ip.cpp | 7 ++-----
+ 1 files changed, 2 insertions(+), 5 deletions(-)
+
+commit aedf3f808befd8cf32a16e34b907c60c79eabfd7
+Author: Martin Sustrik <sustrik@250bpm.com>
+Date: Mon Jul 19 08:38:24 2010 +0200
+
+ EHOSTUNREACH is a valid return value from recv()
+
+ src/tcp_socket.cpp | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 269904361b565efa54a106e3eda96091320439bd
+Author: Martin Sustrik <sustrik@250bpm.com>
+Date: Tue Jul 13 11:46:56 2010 +0200
+
+ minor comment clarification
+
+ src/tcp_connecter.cpp | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+commit da49e5a4dd4602bf893193a5e6e64af54695b51c
+Author: Martin Sustrik <sustrik@250bpm.com>
+Date: Tue Jul 13 07:57:29 2010 +0200
+
+ devices exit in case of context termination
+
+ src/forwarder.cpp | 15 +++++++++++++--
+ src/queue.cpp | 42 +++++++++++++++++++++++++++++++++++-------
+ src/streamer.cpp | 15 +++++++++++++--
+ 3 files changed, 61 insertions(+), 11 deletions(-)
+
+commit ca057c7db8dcb2384e2498c938f3d83f64b78a7d
+Author: Martin Hurton <hurtonm@gmail.com>
+Date: Sat Jul 10 22:57:47 2010 +0200
+
+ Fix identity generation for transient inproc connections
+
+ src/socket_base.cpp | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 1f61c87ac527e2a75cabbce4ea4c5f916f4532e7
+Author: Martin Hurton <hurtonm@gmail.com>
+Date: Wed Jul 7 17:15:32 2010 +0200
+
+ issue 40 - nbytes != -1 (tcp_socket.cpp:216)
+
+ src/tcp_socket.cpp | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+commit fd707fedc59124ed627780efed081acf33f455d2
+Author: Martin Hurton <hurtonm@gmail.com>
+Date: Tue Jul 6 22:47:07 2010 +0200
+
+ issue 38 - Assertion failed: fetched (xrep.cpp:196)
+
+ src/xrep.cpp | 20 ++++++++++++--------
+ src/xrep.hpp | 6 ++++++
+ 2 files changed, 18 insertions(+), 8 deletions(-)
+
+commit 805af8241d7450fe1e60174739a78325677897f6
+Author: Martin Lucina <mato@kotelna.sk>
+Date: Wed Jun 30 16:23:07 2010 +0200
+
+ asciidoc.conf was missing from distribution tarball
+
+ doc/Makefile.am | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 0ab65324195ad70205514d465b03d851a6de051c
+Author: Pieter Hintjens <ph@imatix.com>
+Date: Tue Jun 29 21:08:41 2010 +0200
+
+ Prevent socket reuse by second bind, on win32
+
+ src/tcp_listener.cpp | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 79a3d07c8587e840548791efc314b0184c584881
+Author: Martin Sustrik <sustrik@250bpm.com>
+Date: Tue Jun 29 07:45:11 2010 +0200
+
+ MSVC build fixed
+
+ src/msg_store.cpp | 17 +++++++++--------
+ 1 files changed, 9 insertions(+), 8 deletions(-)
+
+commit ba91644fdb48cec97edc6965c4ca7ab564a3513f
+Author: Martin Sustrik <sustrik@250bpm.com>
+Date: Sat Jun 26 20:11:40 2010 +0200
+
+ msg_store added to MSVC build
+
+ builds/msvc/libzmq/libzmq.vcproj | 8 ++++++++
+ src/msg_store.cpp | 2 ++
+ 2 files changed, 10 insertions(+), 0 deletions(-)
+
+commit 1dda8a2aaabd3b7705b0ecd67d6d9737d1978946
+Author: Pieter Hintjens <ph@imatix.com>
+Date: Fri Jun 25 18:35:42 2010 +0200
+
+ Used more expressive variable names
+
+ src/msg_store.cpp | 73 +++++++++++++++++++++++-----------------------------
+ 1 files changed, 32 insertions(+), 41 deletions(-)
+
+commit fca2e8e8cc30bcd134839f6d0f5f9963323dad2b
+Author: Martin Hurton <hurtonm@gmail.com>
+Date: Mon Jun 21 15:06:51 2010 +0200
+
+ Add SWAP support
+
+ 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(-)
+
+commit 10c28c1fc2f06c93e12a7c60f79a315cec7c5a52
+Author: Martin Hurton <hurtonm@gmail.com>
+Date: Sat Jun 19 20:46:16 2010 +0200
+
+ Revive reader on pipe termination
+
+ src/pipe.cpp | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 2c3913bb19fa95e7decaa7967e2469dc428e46b0
+Author: Martin Hurton <hurtonm@gmail.com>
+Date: Sat Jun 19 19:46:35 2010 +0200
+
+ fix double free error in PAIR socket
+
+ src/pair.cpp | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+commit cff7ba2315c0f62fa3679afa24ecea88da38a365
+Author: Martin Sustrik <sustrik@250bpm.com>
+Date: Thu Jun 17 17:09:51 2010 +0200
+
+ Windows 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 ----
+ include/zmq_utils.h | 8 ++++++++
+ src/zmq.cpp | 1 +
+ 6 files changed, 9 insertions(+), 16 deletions(-)
+
+commit 7f01e9970d211235fc8057de6dc41ba8ceafe795
+Author: Martin Sustrik <sustrik@250bpm.com>
+Date: Thu Jun 17 16:51:53 2010 +0200
+
+ stopwatch returned to libzmq
+
+ 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(-)
+
+commit 4777fe4010572d381a2ad8eb63df2fc5fb7e6642
+Author: Martin Hurton <hurtonm@gmail.com>
+Date: Thu Jun 17 12:45:14 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.
+
+ src/pipe.cpp | 1 -
+ 1 files changed, 0 insertions(+), 1 deletions(-)
+
+commit 9151de38959a21829d4ab60324d6750d2e1a4357
+Author: Martin Sustrik <sustrik@250bpm.com>
+Date: Thu Jun 17 11:01:18 2010 +0200
+
+ generate identity for transient inproc connections
+
+ src/socket_base.cpp | 12 +++++++++++-
+ 1 files changed, 11 insertions(+), 1 deletions(-)
+
+commit 341e8a267309179bbb8249845e7efb14faf93d4d
+Author: Martin Sustrik <sustrik@250bpm.com>
+Date: Tue Jun 15 14:01:44 2010 +0200
+
+ test commit
+
+ AUTHORS | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+commit 9858447fad3260cb16b1f2e56a14cfe3db737a36
+Author: Martin Sustrik <sustrik@250bpm.com>
+Date: Tue Jun 15 08:01:43 2010 +0200
+
+ getsockopt documentation fixed
+
+ doc/zmq_getsockopt.txt | 5 +++--
+ 1 files changed, 3 insertions(+), 2 deletions(-)
+
+commit ac90b7e0ba497bfec09d7a69a2e01dc6d94a9c9a
+Author: Brian Buchanan <bwb@holo.org>
+Date: Fri Jun 11 08:03:34 2010 +0200
+
+ issue 35 - ZMQ_RCVMORE sometimes erroneously returns false
+
+ AUTHORS | 1 +
+ src/socket_base.cpp | 9 ++++++++-
+ 2 files changed, 9 insertions(+), 1 deletions(-)
+
+commit 5ee355d1880bc7391c199ea29adc620ceb0d96f1
+Author: Martin Sustrik <sustrik@250bpm.com>
+Date: Fri Jun 11 07:02:36 2010 +0200
+
+ if connect asserts, exact error is reported
+
+ src/tcp_connecter.cpp | 12 ++++++------
+ 1 files changed, 6 insertions(+), 6 deletions(-)
+
+commit 27877d73ea7dd972a773c7e960706130daaf5925
+Author: Martin Sustrik <sustrik@250bpm.com>
+Date: Fri Jun 11 06:55:30 2010 +0200
+
+ EHOSTUNREACH is acceptable outcome from connect
+
+ src/tcp_connecter.cpp | 8 ++++----
+ 1 files changed, 4 insertions(+), 4 deletions(-)
+
+commit c818b14bbd261aa836400e9dfb4848117dd2edb6
+Author: Piotr Trojanek <piotr.trojanek@gmail.com>
+Date: Thu Jun 10 12:57:42 2010 +0200
+
+ clearing thread info structure
+
+ src/ctx.cpp | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+commit 74a3907be285891d90b82e2d315d03141a398752
+Author: Martin Sustrik <sustrik@250bpm.com>
+Date: Thu Jun 10 12:36:27 2010 +0200
+
+ couple of ICC warnings fixed
+
+ src/encoder.hpp | 2 +-
+ src/uuid.cpp | 4 +++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+commit 8782b4d696da7b1527f69e819d75d691bc3df105
+Author: Piotr Trojanek <piotr.trojanek@gmail.com>
+Date: Thu Jun 10 07:34:11 2010 +0200
+
+ -lcrypto added to linking flags for QNX
+
+ configure.in | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+commit 76e0153d4f3ef1d5fef1a9b926e0e8e3ab2d9685
+Author: Martin Sustrik <sustrik@250bpm.com>
+Date: Thu Jun 10 07:21:05 2010 +0200
+
+ issue 33 - missing virtual destructors
+
+ 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 <sustrik@250bpm.com>
+Date: Thu Jun 10 07:12:00 2010 +0200
+
+ issue 31 - Assertion failed: err == ECONNREFUSED || err == ETIMEDOUT (tcp_connecter.cpp:296)
+
+ src/tcp_connecter.cpp | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+commit 604f7475ec1d19df416156879db3ddd3c90d5a13
+Author: Martin Sustrik <sustrik@250bpm.com>
+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 <sustrik@250bpm.com>
+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 <piotr.trojanek@gmail.com>
+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 <sustrik@250bpm.com>
+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 <sustrik@250bpm.com>
+Date: Mon Jun 7 09:03:56 2010 +0200
+
+ Merge branch 'master' of git@github.com:sustrik/zeromq2
+
+commit ce53d02e0580755055245cc1050f1dd3a26a3f22
+Author: Martin Sustrik <sustrik@250bpm.com>
+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 <mato@kotelna.sk>
+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 <mato@kotelna.sk>
@@ -8,24 +1129,37 @@ 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 <mato@kotelna.sk>
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 <sustrik@250bpm.com>
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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
Date: Fri Jun 4 17:02:16 2010 +0200
@@ -34,48 +1168,105 @@ Date: Fri Jun 4 17:02:16 2010 +0200
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <mato@kotelna.sk>
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 <sustrik@250bpm.com>
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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
Date: Fri Jun 4 13:53:40 2010 +0200
@@ -84,24 +1275,39 @@ Date: Fri Jun 4 13:53:40 2010 +0200
Document MORE bit in flags field
+ doc/zmq_tcp.txt | 11 +++++++++--
+ 1 files changed, 9 insertions(+), 2 deletions(-)
+
commit 7fc15c21a17cfa58e60e4a513360cb12b542a570
Author: Martin Lucina <mato@kotelna.sk>
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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
Date: Wed Jun 2 18:36:34 2010 +0200
@@ -112,18 +1318,38 @@ Date: Wed Jun 2 18:36:34 2010 +0200
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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
@@ -137,12 +1363,18 @@ 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 <ph@itmatix.com>
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 <mato@kotelna.sk>
Date: Mon May 31 17:24:50 2010 +0200
@@ -151,6 +1383,9 @@ Date: Mon May 31 17:24:50 2010 +0200
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 <mato@kotelna.sk>
Date: Mon May 31 17:21:51 2010 +0200
@@ -159,6 +1394,10 @@ Date: Mon May 31 17:21:51 2010 +0200
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 <mato@kotelna.sk>
Date: Mon May 31 17:21:12 2010 +0200
@@ -167,6 +1406,9 @@ Date: Mon May 31 17:21:12 2010 +0200
Clarify pipeline and exclusive pair patterns
+ doc/zmq_socket.txt | 14 ++++++--------
+ 1 files changed, 6 insertions(+), 8 deletions(-)
+
commit 8a4df431de872623c761fdeb291748d3d153b8d1
Author: Martin Lucina <mato@kotelna.sk>
Date: Mon May 31 14:18:51 2010 +0200
@@ -175,6 +1417,9 @@ Date: Mon May 31 14:18:51 2010 +0200
Add getsockopt to Makefile.am
+ doc/Makefile.am | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
commit dfbaf4f9668f0493649d6ba1328cced64e5340b0
Author: Martin Lucina <mato@kotelna.sk>
Date: Mon May 31 14:18:37 2010 +0200
@@ -183,6 +1428,10 @@ Date: Mon May 31 14:18:37 2010 +0200
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 <mato@kotelna.sk>
Date: Mon May 31 14:13:41 2010 +0200
@@ -191,6 +1440,9 @@ Date: Mon May 31 14:13:41 2010 +0200
Add getsockopt to index
+ doc/zmq.txt | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
commit eb9ff1e77977c6199c0a0439f4dd35fa39f3bd3c
Author: Martin Lucina <mato@kotelna.sk>
Date: Mon May 31 14:12:27 2010 +0200
@@ -199,6 +1451,11 @@ Date: Mon May 31 14:12:27 2010 +0200
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 <mato@kotelna.sk>
Date: Mon May 31 12:53:40 2010 +0200
@@ -207,18 +1464,28 @@ Date: Mon May 31 12:53:40 2010 +0200
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
@@ -232,6 +1499,9 @@ 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 <mato@kotelna.sk>
Date: Fri May 28 01:38:43 2010 +0200
@@ -240,6 +1510,10 @@ Date: Fri May 28 01:38:43 2010 +0200
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 <mato@kotelna.sk>
Date: Fri May 28 00:55:04 2010 +0200
@@ -249,36 +1523,64 @@ Date: Fri May 28 00:55:04 2010 +0200
- 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 <mkoppanen@gameboy.config>
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 <mkoppanen@gameboy.config>
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 <mato@kotelna.sk>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
@@ -292,24 +1594,40 @@ 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 <sustrik@250bpm.com>
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 <jon@totient.co.uk>
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 <steven.mccoy@miru.hk>
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 <sustrik@250bpm.com>
@@ -323,6 +1641,9 @@ 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 <mato@kotelna.sk>
@@ -341,12 +1662,19 @@ Date: Wed May 12 16:46:59 2010 +0200
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
@@ -360,12 +1688,24 @@ 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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
Date: Mon May 10 16:32:10 2010 +0200
@@ -378,54 +1718,99 @@ Date: Mon May 10 16:32:10 2010 +0200
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 <mato@kotelna.sk>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
@@ -439,30 +1824,61 @@ 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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
@@ -476,72 +1892,160 @@ 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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <steven.mccoy@miru.hk>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <jon@totient.co.uk>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
@@ -555,72 +2059,133 @@ 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 <sustrik@250bpm.com>
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 <mato@kotelna.sk>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
Date: Sat Apr 10 16:51:22 2010 +0200
@@ -630,12 +2195,29 @@ Date: Sat Apr 10 16:51:22 2010 +0200
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 <sustrik@250bpm.com>
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 <mato@kotelna.sk>
Date: Sat Apr 10 16:18:34 2010 +0200
@@ -646,6 +2228,10 @@ Date: Sat Apr 10 16:18:34 2010 +0200
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 <mato@kotelna.sk>
Date: Sat Apr 10 13:28:45 2010 +0200
@@ -657,12 +2243,55 @@ Date: Sat Apr 10 13:28:45 2010 +0200
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 <avbidder@fortytwo.ch>
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 <mato@kotelna.sk>
Date: Fri Apr 9 19:15:40 2010 +0200
@@ -672,42 +2301,68 @@ Date: Fri Apr 9 19:15:40 2010 +0200
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
Date: Thu Apr 8 19:04:32 2010 +0200
few fixed related to multi-part messages in REP socket
+ src/rep.cpp | 21 +++++++++++++--------
+ 1 files changed, 13 insertions(+), 8 deletions(-)
+
commit 77cbd18e9c0480a6c26fd29de5d70569762108be
Author: Martin Sustrik <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
@@ -721,12 +2376,18 @@ 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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
@@ -740,60 +2401,130 @@ 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 <mato@kotelna.sk>
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 <sustrik@250bpm.com>
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 <hurtonm@gmail.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
@@ -807,12 +2538,18 @@ 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 <v.mayatskih@gmail.com>
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 <sustrik@250bpm.com>
@@ -826,29 +2563,84 @@ 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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
+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(-)
-0MQ version 2.0.6 (Beta) was released on 2010/03/16.
+commit 49a30d49f37148db1be105615668998c8fb8ea86
+Author: Martin Sustrik <sustrik@250bpm.com>
+Date: Tue Mar 16 17:49:39 2010 +0100
+
+ Update contributors for 2.0.6
-Changes since 2.0-beta2:
+ AUTHORS | 96 +++++++++++++++++++++++++++++++-----------------------------
+ ChangeLog | 19 +++++++----
+ 2 files changed, 62 insertions(+), 53 deletions(-)
+
+commit fe18ce1abab2ef43f97ef6f2b093a69f42cb7103
+Author: Martin Sustrik <sustrik@250bpm.com>
+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 <sustrik@250bpm.com>
@@ -856,24 +2648,40 @@ 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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
@@ -887,18 +2695,27 @@ 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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
Date: Mon Mar 15 15:45:38 2010 +0100
@@ -908,108 +2725,228 @@ Date: Mon Mar 15 15:45:38 2010 +0100
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <bundra@.(none)>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <bundra@.(none)>
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 <hurtonm@gmail.com>
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 <hurtonm@gmail.com>
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 <hurtonm@gmail.com>
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 <hurtonm@gmail.com>
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 <hurtonm@gmail.com>
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 <hurtonm@gmail.com>
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 <hurtonm@gmail.com>
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 <hurtonm@gmail.com>
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 <hurtonm@gmail.com>
Date: Mon Mar 1 10:13:26 2010 +0100
@@ -1024,18 +2961,68 @@ Date: Mon Mar 1 10:13:26 2010 +0100
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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
Date: Thu Mar 11 20:33:27 2010 +0100
@@ -1046,144 +3033,331 @@ Date: Thu Mar 11 20:33:27 2010 +0100
--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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
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 <sustrik@250bpm.com>
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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <mato@kotelna.sk>
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 <bundra@.(none)>
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 <hurtonm@gmail.com>
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 <hurtonm@gmail.com>
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 <bundra@.(none)>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
@@ -1197,66 +3371,133 @@ 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 <bundra@.(none)>
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 <bundra@.(none)>
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 <sustrik@250bpm.com>
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 <mato@kotelna.sk>
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 <sustrik@250bpm.com>
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 <bundra@.(none)>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
@@ -1270,24 +3511,39 @@ 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 <bundra@.(none)>
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 <sustrik@250bpm.com>
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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
Date: Wed Feb 24 12:07:24 2010 +0100
@@ -1297,72 +3553,124 @@ Date: Wed Feb 24 12:07:24 2010 +0100
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 <mato@kotelna.sk>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <bundra@.(none)>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
@@ -1376,36 +3684,55 @@ 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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
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 <sustrik@250bpm.com>
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 <malosek@fastmq.com>
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 <sustrik@250bpm.com>
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 <mato@kotelna.sk>
Date: Fri Feb 19 18:23:54 2010 +0100
@@ -1414,18 +3741,29 @@ Date: Fri Feb 19 18:23:54 2010 +0100
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
@@ -1439,24 +3777,56 @@ 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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
Date: Thu Feb 18 17:29:14 2010 +0100
@@ -1466,6 +3836,9 @@ Date: Thu Feb 18 17:29:14 2010 +0100
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 <mato@kotelna.sk>
Date: Thu Feb 18 17:25:49 2010 +0100
@@ -1475,6 +3848,10 @@ Date: Thu Feb 18 17:25:49 2010 +0100
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 <mato@kotelna.sk>
Date: Thu Feb 18 13:46:00 2010 +0100
@@ -1487,12 +3864,18 @@ Date: Thu Feb 18 13:46:00 2010 +0100
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
@@ -1506,12 +3889,18 @@ 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 <bundra@.(none)>
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 <mato@kotelna.sk>
Date: Wed Feb 17 15:40:26 2010 +0100
@@ -1523,24 +3912,42 @@ Date: Wed Feb 17 15:40:26 2010 +0100
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
@@ -1554,6 +3961,9 @@ 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 <mato@kotelna.sk>
@@ -1567,12 +3977,50 @@ 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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
@@ -1586,60 +4034,96 @@ 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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
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 <mato@kotelna.sk>
Date: Mon Feb 15 22:17:18 2010 +0100
@@ -1651,84 +4135,185 @@ Date: Mon Feb 15 22:17:18 2010 +0100
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <malosek@fastmq.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
@@ -1742,24 +4327,58 @@ 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 <hurtonm@gmail.com>
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 <sustrik@250bpm.com>
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 <hurtonm@gmail.com>
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 <mato@kotelna.sk>
Date: Thu Feb 11 17:51:47 2010 +0100
@@ -1769,6 +4388,9 @@ Date: Thu Feb 11 17:51:47 2010 +0100
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 <mato@kotelna.sk>
@@ -1786,24 +4408,43 @@ Date: Thu Feb 11 17:49:40 2010 +0100
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <hurtonm@gmail.com>
@@ -1817,132 +4458,284 @@ 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 <hurtonm@gmail.com>
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 <mato@kotelna.sk>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <bundra@.(none)>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <mato@kotelna.sk>
@@ -1956,60 +4749,100 @@ 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 <bundra@.(none)>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@250bpm.com>
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 <sustrik@fastmq.commkdir>
@@ -2023,12 +4856,69 @@ 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 <malosek@fastmq.com>
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 <sustrik@fastmq.commkdir>
@@ -2042,48 +4932,95 @@ 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 <malosek@fastmq.com>
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 <malosek@fastmq.com>
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 <malosek@fastmq.com>
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 <malosek@fastmq.com>
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 <sustrik@fastmq.commkdir>
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 <bundra@.(none)>
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 <sustrik@fastmq.commkdir>
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 <sustrik@fastmq.commkdir>
@@ -2097,12 +5034,18 @@ 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 <bundra@.(none)>
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 <sustrik@fastmq.commkdir>
@@ -2116,116 +5059,4591 @@ 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 <sustrik@fastmq.commkdir>
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 <bundra@.(none)>
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 <sustrik@fastmq.commkdir>
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 <sustrik@fastmq.commkdir>
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 <sustrik@fastmq.commkdir>
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 <bundra@.(none)>
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 <sustrik@fastmq.commkdir>
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 <sustrik@fastmq.commkdir>
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 <sustrik@fastmq.commkdir>
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 <sustrik@fastmq.commkdir>
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 <sustrik@fastmq.commkdir>
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 <sustrik@fastmq.commkdir>
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 <sustrik@fastmq.commkdir>
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 <sustrik@fastmq.commkdir>
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 <sustrik@fastmq.commkdir>
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 <sustrik@fastmq.commkdir>
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 <sustrik@fastmq.commkdir>
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 <sustrik@fastmq.commkdir>
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 <sustrik@fastmq.commkdir>
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 <sustrik@fastmq.commkdir>
+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 <bundra@.(none)>
+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 <sustrik@fastmq.commkdir>
+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 <bundra@.(none)>
+Date: Thu Jan 14 15:50:54 2010 +0100
+
+ Merge branch 'master' of github.com:sustrik/zeromq2
+
+commit b9b0124d553b30932d8b78fb774ae258fa0d0f4d
+Author: unknown <bundra@.(none)>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+Date: Thu Jan 7 14:45:13 2010 +0100
+
+ Merge branch 'master' of git@github.com:sustrik/zeromq2
+
+commit ddf5f75549f01a0615ee3f49b6b5d53aefd8fbd2
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+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 <malosek@fastmq.com>
+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 <sustrik@fastmq.commkdir>
+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 <malosek@fastmq.com>
+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 <sustrik@fastmq.commkdir>
+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 <malosek@fastmq.com>
+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 <malosek@fastmq.com>
+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 <malosek@fastmq.com>
+Date: Tue Jan 5 11:05:03 2010 +0100
+
+ fixed failed merge with autogen.sh
+
+commit d10c605fa94a8fe8265785043aeef63983e07f3f
+Author: malosek <malosek@fastmq.com>
+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 <sustrik@fastmq.commkdir>
+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 <malosek@fastmq.com>
+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 <malosek@fastmq.com>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <malosek@fastmq.com>
+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 <malosek@fastmq.com>
+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 <malosek@fastmq.com>
+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 <malosek@fastmq.com>
+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 <malosek@fastmq.com>
+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 <malosek@fastmq.com>
+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 <sustrik@fastmq.commkdir>
+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 <bundra@.(none)>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <bundra@.(none)>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+Date: Fri Dec 18 14:33:22 2009 +0100
+
+ memory management in Lisp binding fixed
+
+ bindings/cl/zeromq-api.lisp | 59 +++++++++++++++++++++++++++++-------------
+ 1 files changed, 41 insertions(+), 18 deletions(-)
+
+commit 86d68cbcbd24e6dfe6dd1ed230c7806408b70668
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Fri Dec 18 14:19:28 2009 +0100
+
+ memory leaks related to OpenPGM errors fixed
+
+ src/pgm_socket.cpp | 11 +++++++----
+ 1 files changed, 7 insertions(+), 4 deletions(-)
+
+commit 500d32a540d762d30a59e952a4f2216d73e4654c
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Wed Dec 16 17:19:20 2009 +0100
+
+ examples & perf added to the Debian package
+
+ 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 667d1a8280e2dedd7f3ccdbd39605263ba8e98d7
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Wed Dec 16 15:20:14 2009 +0100
+
+ man page updated to match change in zmq_free_fn
+
+ man/man3/zmq_msg_init_data.3 | 23 +++++++++++++++--------
+ 1 files changed, 15 insertions(+), 8 deletions(-)
+
+commit ab5abf6c7ec7668c4a8373d87c491d22d0db144d
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+Date: Tue Dec 15 23:50:32 2009 +0100
+
+ Merge branch 'master' of git@github.com:sustrik/zeromq2
+
+commit 8aa0908635f255e2d533539d5330b92b62dc88ba
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+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 <bundra@.(none)>
+Date: Tue Dec 15 18:00:00 2009 +0100
+
+ win32 build fixed
+
+ builds/msvc/libzmq/libzmq.vcproj | 16 ++++++++++++++++
+ src/zmq_listener_init.cpp | 1 +
+ 2 files changed, 17 insertions(+), 0 deletions(-)
+
+commit 2cef05d86976784f4bc1083cb0fa548e267ac132
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+Date: Tue Dec 15 13:58:21 2009 +0100
+
+ handle error during connecting by eventual reconnection
+
+ src/zmq_connecter.cpp | 6 ++++--
+ 1 files changed, 4 insertions(+), 2 deletions(-)
+
+commit e49115224a7957b0e5d49326bc02ae6af186eaf9
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+Date: Mon Dec 14 11:46:30 2009 +0100
+
+ ZMQ_SNDBUF and ZMQ_RCVBUF honoured in PGM transport
+
+ src/pgm_socket.cpp | 13 ++++++++++++-
+ 1 files changed, 12 insertions(+), 1 deletions(-)
+
+commit 68488215da8e03a74ca4da6b822e4cfa3b71d73a
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Sun Dec 13 18:32:22 2009 +0100
+
+ Man pages for XREQ/XREP/zmq_queue updated
+
+ 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 0637e06387ac0676e9595246eb60a6809664b01a
+Author: unknown <bundra@.(none)>
+Date: Sun Dec 13 14:59:25 2009 +0100
+
+ zmq_streamer & zmq_queue are built under MSVC
+
+ 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(-)
+
+commit fa6bf24d8030b0e54fd25b167064482e4cf08a36
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+Date: Sun Dec 13 11:27:43 2009 +0100
+
+ debug code removed from PGM engines
+
+ 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 f4ac8d7a443bd1afb35634d1cccb79943cc316e0
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+Date: Sun Dec 13 09:11:08 2009 +0100
+
+ PGM transport fixed
+
+ 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(-)
+
+commit d5670f34baa0751a5b4567a28caea4e4fa208727
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Fri Dec 11 22:29:04 2009 +0100
+
+ ZMQII-26: Use zero-copy for large messages (rx side)
+
+ 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 770178724f9493e99c832863031aef016f143e9f
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Thu Dec 10 21:34:40 2009 +0100
+
+ errors are never predicted in branch prediction (likely/unlikely macros added)
+
+ src/atomic_counter.hpp | 1 -
+ src/err.hpp | 91 +++++++++++++++++++++++++++++-------------------
+ src/likely.hpp | 32 +++++++++++++++++
+ 3 files changed, 87 insertions(+), 37 deletions(-)
+
+commit d4fdc26efc6b21103e446f712a484af910a57f2f
+Author: unknown <bundra@.(none)>
+Date: Thu Dec 10 16:46:22 2009 +0100
+
+ zmq_poll implemented on Win32 platform
+
+ bindings/c/zmq.h | 7 +++
+ src/zmq.cpp | 125 +++++++++++++++++++++++++++++++++++++++++++++++++++---
+ 2 files changed, 125 insertions(+), 7 deletions(-)
+
+commit 986ab66b8f260614b2bd18f870ad98402c0f247a
+Author: unknown <bundra@.(none)>
+Date: Thu Dec 10 10:39:24 2009 +0100
+
+ ZMQII-27: Allow setting SNDBUF and RCVBUF size from 0MQ API (Win32)
+
+ src/tcp_socket.cpp | 15 +++++++++++++++
+ 1 files changed, 15 insertions(+), 0 deletions(-)
+
+commit 8d58643655b653c520fcdcc2a89b5067788f32fc
+Author: unknown <bundra@.(none)>
+Date: Thu Dec 10 10:33:07 2009 +0100
+
+ MSVC build for chat example added
+
+ 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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+Date: Thu Dec 10 08:25:21 2009 +0100
+
+ zero-copy on tx side optimised to minimise number of user/kernel space transitions
+
+ src/encoder.hpp | 14 ++++++++++----
+ 1 files changed, 10 insertions(+), 4 deletions(-)
+
+commit 1c1dfb50f88002ce7a024f2d8980b968d3aee1ae
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Wed Dec 9 14:12:25 2009 +0100
+
+ zmq_cpp(7) man page filled in
+
+ man/man7/zmq_cpp.7 | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 files changed, 95 insertions(+), 2 deletions(-)
+
+commit cab5a4a1596e5019c7fd306ad49aac67209b467c
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Wed Dec 9 09:19:16 2009 +0100
+
+ minor documentation updates
+
+ examples/chat/README | 4 ++--
+ src/encoder.hpp | 12 ++++++------
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+
+commit c98e29fb6e017a667452cd0a50536da691600353
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Tue Dec 8 21:48:39 2009 +0100
+
+ README added to chat example
+
+ examples/chat/README | 42 ++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 42 insertions(+), 0 deletions(-)
+
+commit 902d4f2282f4ed59f942be6fa1013b20dd964536
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Tue Dec 8 16:13:51 2009 +0100
+
+ minor fix of zero-copy on tx side
+
+ src/encoder.hpp | 6 ++----
+ 1 files changed, 2 insertions(+), 4 deletions(-)
+
+commit 9be877c68503c35f9f72c8b92bd11454e4fcad97
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Tue Dec 8 15:41:50 2009 +0100
+
+ ZMQII-26: Use zero-copy for large messages
+
+ src/encoder.hpp | 28 +++++++++++++++++++++++-----
+ src/zmq_engine.cpp | 21 +++++++++++++--------
+ src/zmq_engine.hpp | 12 ++++++++----
+ 3 files changed, 44 insertions(+), 17 deletions(-)
+
+commit bfef2fcd0ba590169ad46ea45da9d36dca1b5b97
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Mon Dec 7 21:52:10 2009 +0100
+
+ autotools build system builds chat example now
+
+ Makefile.am | 4 ++--
+ configure.in | 25 ++++++++++++++++++-------
+ examples/Makefile.am | 7 +++++++
+ examples/chat/Makefile.am | 11 +++++++++++
+ 4 files changed, 38 insertions(+), 9 deletions(-)
+
+commit a08a72dd082e5e62f0d043c71ea7d9b6fb80b57e
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Mon Dec 7 21:06:54 2009 +0100
+
+ chat example added
+
+ examples/chat/display.cpp | 50 ++++++++++++++++++++++++++++++++++++
+ examples/chat/prompt.cpp | 62 +++++++++++++++++++++++++++++++++++++++++++++
+ src/fd_signaler.cpp | 2 +-
+ 3 files changed, 113 insertions(+), 1 deletions(-)
+
+commit 82012667cca5249ba7aa16ac5880b86ac54f3e98
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Mon Dec 7 17:28:43 2009 +0100
+
+ Deadlock on zmq_close
+
+ src/fd_signaler.cpp | 9 ++++++---
+ 1 files changed, 6 insertions(+), 3 deletions(-)
+
+commit 9f495942736bfc1c1ef5f0b23d5a1bdab56d3757
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Sat Dec 5 11:20:57 2009 +0100
+
+ C & C++ header files clean-up
+
+ bindings/c/zmq.h | 257 ++++----------------------------------------------
+ bindings/cpp/zmq.hpp | 62 ++++++-------
+ src/ypipe.hpp | 12 +--
+ 3 files changed, 53 insertions(+), 278 deletions(-)
+
+commit 356ce8fe917c1b3b645555bcd2ff0ff989c6829a
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+Date: Fri Dec 4 10:03:38 2009 +0100
+
+ Vitaly Mayatskikh added to authors section
+
+ AUTHORS | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 721e37a371713ddb20c4dfcca253fe01f71a4af7
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Fri Dec 4 10:02:25 2009 +0100
+
+ platform.hpp.in removed from the codebase
+
+ src/platform.hpp.in | 234 ---------------------------------------------------
+ 1 files changed, 0 insertions(+), 234 deletions(-)
+
+commit 734aaa2dcbd130cfc5d8ef0bd31bd259117f6c0c
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+Date: Tue Dec 1 19:09:58 2009 +0100
+
+ harmless uninitialised memory read fixed
+
+ src/yqueue.hpp | 6 ++++--
+ 1 files changed, 4 insertions(+), 2 deletions(-)
+
+commit 9bd309bda6522dfdd514dd0c4edae04322c83ed1
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <bundra@.(none)>
+Date: Tue Dec 1 14:58:00 2009 +0100
+
+ MSVC warnings fixed
+
+ src/pipe.cpp | 32 ++++++++++++++++++++++++--------
+ src/pipe.hpp | 6 ++++--
+ 2 files changed, 28 insertions(+), 10 deletions(-)
+
+commit 9cff475af849897f669049fd7748f875fa1cd6c3
+Author: malosek <malosek@fastmq.com>
+Date: Mon Nov 30 18:18:13 2009 +0100
+
+ added libpgm-2.0.17rc2 into the dist package
+
+ 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 82242f6a9e06d855ff2ac5616196a97868838a6c
+Author: malosek <malosek@fastmq.com>
+Date: Mon Nov 30 17:48:16 2009 +0100
+
+ minor formatting fix in zmq_init.3 man page
+
+ man/man3/zmq_init.3 | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+commit c637bf292d0dc97be5c94c5c96a033c2d665576c
+Merge: 9ccf2b4 fa1641a
+Author: malosek <malosek@fastmq.com>
+Date: Mon Nov 30 16:45:36 2009 +0100
+
+ Merge branch 'master' of git@github.com:sustrik/zeromq2
+
+commit 9ccf2b42cf932b4c29ea20cc9c6e3d5d8e7a62b4
+Author: malosek <malosek@fastmq.com>
+Date: Mon Nov 30 16:45:18 2009 +0100
+
+ minor tweaks in pgm code
+
+ src/pgm_sender.cpp | 4 ++++
+ src/pgm_socket.cpp | 2 +-
+ 2 files changed, 5 insertions(+), 1 deletions(-)
+
+commit fa1641afc593be5926e558381861112b584e861a
+Author: malosek <malosek@fastmq.com>
+Date: Fri Nov 27 14:30:48 2009 +0100
+
+ msvc build fixed
+
+ bindings/c/zmq.h | 3 +++
+ builds/msvc/libzmq/libzmq.vcproj | 16 ++++++++++++++++
+ 2 files changed, 19 insertions(+), 0 deletions(-)
+
+commit 19ce7c0e77f703ed2ec3b54685ddf4a6f2329ffe
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Thu Nov 26 12:41:50 2009 +0100
+
+ zmq_msg_data.3 referenced twice in Makefile.am - fixed
+
+ AUTHORS | 1 +
+ man/Makefile.am | 4 ++--
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+commit 8d85638f77ec0aa886170ba6bb49763ef165393b
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Thu Nov 26 12:01:26 2009 +0100
+
+ memory leak in message encoder fixed
+
+ 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 92aa9e94e21b652839faa3dda27c67571bad315d
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Wed Nov 25 08:55:03 2009 +0100
+
+ experimental code to use futexes instead of mutexes added to simple_semapthore_t
+
+ src/simple_semaphore.hpp | 60 +++++++++++++++++++++++++++++++++++++++++++--
+ 1 files changed, 57 insertions(+), 3 deletions(-)
+
+commit c98fd6bc3f2a49d7cb0b820a07354168c98f60b7
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+Date: Sun Nov 22 12:05:11 2009 +0100
+
+ zmq_init, zmq_term & zmq_strerror man pages added
+
+ 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 ed5563f75285197aa0cdbe8a0dc6f80c5bb1f89c
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+Date: Sat Nov 21 21:30:09 2009 +0100
+
+ race condition in inproc transport shutdown fixed
+
+ 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(-)
+
+commit 64634605b3ccb90d582cfdf380535c89bf900a0e
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Sat Nov 21 21:13:29 2009 +0100
+
+ obsolete parameter removed from 'bind' command
+
+ 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 0e9ab2e8a3f5bc22f2c331c14236a2918a5512a8
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Sat Nov 21 20:59:55 2009 +0100
+
+ inproc transport - initial commit
+
+ 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(-)
+
+commit 14f2fecdcd9732fe741c211138a4ba327816a937
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Thu Nov 19 09:53:49 2009 +0100
+
+ ZMQII-24: SEGFAULT when anonymous session disconnects
+
+ src/pipe.cpp | 6 +++++-
+ 1 files changed, 5 insertions(+), 1 deletions(-)
+
+commit c2e0661b0afb2f50f47e0275fa6603947f26d240
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Thu Nov 19 08:06:52 2009 +0100
+
+ uninitialised variable in devpoll_t and kqueue_t
+
+ src/devpoll.cpp | 3 ++-
+ src/kqueue.cpp | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+commit 26ca5ed8c62f8a88a32106a5c9e003712f4ca655
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Sat Nov 14 18:57:04 2009 +0100
+
+ Fixing concurrency issue in rep.cpp resulting in broken connections with multiple requesters under heavy load.
+
+ src/rep.cpp | 9 +++++----
+ 1 files changed, 5 insertions(+), 4 deletions(-)
+
+commit 84585a9561b5e3bd39baa8d49b889455362334ea
+Author: malosek <malosek@fastmq.com>
+Date: Wed Nov 4 18:59:19 2009 +0100
+
+ pgm_transport_recvmsgv in process_upstream returns PGM_IO_STATUS_RATE_LIMITED on busy sender
+
+ src/pgm_socket.cpp | 5 +++--
+ 1 files changed, 3 insertions(+), 2 deletions(-)
+
+commit c2cd7977f7a82e978d77b2d4d8e23d78f71e809c
+Author: malosek <malosek@fastmq.com>
+Date: Tue Nov 3 19:54:43 2009 +0100
+
+ update pgm_socket to recent openpgm2
+
+ src/pgm_socket.cpp | 19 +++++++++----------
+ 1 files changed, 9 insertions(+), 10 deletions(-)
+
+commit 08b02a43ae21e833a04d274fb20ef3bbc73c0d09
+Author: malosek <malosek@fastmq.com>
+Date: Tue Nov 3 14:11:53 2009 +0100
+
+ fixed get_sender_fds and get_receiver_fds for openpgm2
+
+ src/pgm_socket.cpp | 83 +++++++++++++++++++++++++++++++--------------------
+ src/pgm_socket.hpp | 2 +-
+ 2 files changed, 51 insertions(+), 34 deletions(-)
+
+commit 7d672d3ab8c74371b58b293f807db74760b18155
+Author: malosek <malosek@fastmq.com>
+Date: Tue Nov 3 14:06:25 2009 +0100
+
+ minor fixes for MSVC++ 2005 build
+
+ src/app_thread.cpp | 3 +++
+ src/fd.hpp | 2 +-
+ src/windows.hpp | 5 +++++
+ 3 files changed, 9 insertions(+), 1 deletions(-)
+
+commit 7cbdcc954213b715ce83316538403bbce1fac99f
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Thu Oct 22 13:21:27 2009 +0200
+
+ ZMQII-21: Problem with fd_signaler_t::poll on socket close
+
+ src/fd_signaler.cpp | 31 ++++++++++++++++++++++++-------
+ 1 files changed, 24 insertions(+), 7 deletions(-)
+
+commit 55acf365ea76b908388ca9726232bde90242cdcb
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Tue Oct 20 18:44:17 2009 +0200
+
+ releasing python global lock when doing blocking operations
+
+ bindings/python/pyzmq.cpp | 5 +++++
+ 1 files changed, 5 insertions(+), 0 deletions(-)
+
+commit 8b08047cb08dd6ba7ae142007f82607183574ef6
+Author: malosek <malosek@fastmq.com>
+Date: Mon Oct 19 19:00:04 2009 +0200
+
+ added --with-pgm2-examples configure option
+
+ configure.in | 17 ++++++++
+ perf/c/Makefile.am | 104 +++++++++++++++++++++++++++++++++++++++++++++++++++-
+ src/Makefile.am | 4 +-
+ 3 files changed, 123 insertions(+), 2 deletions(-)
+
+commit 71e455bfe5dd1df1220e9280e536be56238d2178
+Author: malosek <malosek@fastmq.com>
+Date: Mon Oct 19 15:19:22 2009 +0200
+
+ ZMQII-19: add --disable-eventfd configure option
+
+ configure.in | 27 +++++++++++++++++++++++++--
+ 1 files changed, 25 insertions(+), 2 deletions(-)
+
+commit 50c7d12be6c10c294143491b479c50349a3c84a3
+Author: malosek <malosek@fastmq.com>
+Date: Mon Oct 12 22:53:11 2009 +0200
+
+ added HAVE_LIBWS2_32 into platform.hpp.in
+
+ src/platform.hpp.in | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+commit 0ce02058ebc35184b91399eee35d44ef01cd9e38
+Author: malosek <malosek@fastmq.com>
+Date: Mon Oct 12 22:51:41 2009 +0200
+
+ updated 0MQ to recent OpenPGM2 rev.562
+
+ src/Makefile.am | 1 +
+ src/pgm_socket.cpp | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletions(-)
+
+commit ea2f6558fd2a759b78364ded493c598f5ca5a2d3
+Author: malosek <malosek@fastmq.com>
+Date: Mon Oct 12 22:50:01 2009 +0200
+
+ mingw fixed winsock linking issue
+
+ configure.in | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+commit 7afc61ae7c4859fa1a6273e1964d378c00142746
+Author: malosek <malosek@fastmq.com>
+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 <malosek@fastmq.com>
+Date: Mon Oct 5 16:57:26 2009 +0200
+
+ updated to recent PGM2 changes
+
+ foreign/openpgm/create_custom_gsi_1.patch | 2 +-
+ src/pgm_socket.cpp | 26 +++++++++++++++++---------
+ 2 files changed, 18 insertions(+), 10 deletions(-)
+
+commit 3daeff2786ce1d6d8e58f0ad15e693f2c48c94f9
+Author: malosek <malosek@fastmq.com>
+Date: Mon Oct 5 15:06:40 2009 +0200
+
+ mingw port
+
+ 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(-)
+
+commit de2e439a52e93a4cb17a19e9ef9cadfd5ebf2cea
+Author: malosek <malosek@fastmq.com>
+Date: Mon Oct 5 15:06:08 2009 +0200
+
+ 1 minor change in xmlParser.cpp
+
+ foreign/xmlParser/xmlParser.cpp | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 14dc1f45cd1a328415db09ef1e06def6179dae00
+Author: malosek <malosek@fastmq.com>
+Date: Mon Oct 5 12:28:34 2009 +0200
+
+ build system tuning - fixed make dist
+
+ Makefile.am | 7 ++++---
+ configure.in | 15 +++++++++++----
+ src/Makefile.am | 11 ++++++-----
+ 3 files changed, 21 insertions(+), 12 deletions(-)
+
+commit b0c97a5f8b88fca73338c1c173b446515e2ed366
+Author: malosek <malosek@fastmq.com>
+Date: Mon Oct 5 10:37:49 2009 +0200
+
+ build system tuning
+
+ Makefile.am | 1 +
+ src/Makefile.am | 4 ++--
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+commit d57ee0984ac3f8712063a7f83d7200be25ca5513
+Merge: ff65e26 4efe236
+Author: malosek <malosek@fastmq.com>
+Date: Mon Oct 5 10:22:31 2009 +0200
+
+ Merge branch 'master' of git@github.com:sustrik/zeromq2
+
+commit ff65e26ce7567ea6a907e566f8530f4988231d68
+Author: malosek <malosek@fastmq.com>
+Date: Mon Oct 5 10:22:12 2009 +0200
+
+ create_custom_gsi.patch renamed to create_custom_gsi_1.patch
+
+ 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(-)
+
+commit e1b9fcd4b185cdcfd460a5d2ecb29d085856bb20
+Author: malosek <malosek@fastmq.com>
+Date: Mon Oct 5 10:18:24 2009 +0200
+
+ moved pgm_create_custom_gsi into PGM1 and drop ssl dependency
+
+ 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 4efe2366d7394e8969fc9aa64c50be6842d8455f
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+Date: Fri Oct 2 09:42:13 2009 +0200
+
+ ZMQII-9: Check and implement speculative reads & writes
+
+ src/ypollset.cpp | 1 -
+ src/zmq_engine.cpp | 6 ++++++
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit 49a9ef5fcb661827ee174415b4608e609bd0a65b
+Author: unknown <sustrik@.(none)>
+Date: Thu Oct 1 13:48:04 2009 +0200
+
+ windows error handling improved
+
+ 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 cc631c4c6649b0d67114db13386a949426e35dbf
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+Date: Wed Sep 30 10:08:35 2009 +0200
+
+ checking for available messages added to ypipe/pipe
+
+ src/pipe.cpp | 11 +++++++++++
+ src/pipe.hpp | 3 +++
+ src/ypipe.hpp | 24 ++++++++++++++++--------
+ 3 files changed, 30 insertions(+), 8 deletions(-)
+
+commit 84d854a088d27b642355d4e835a2d93e405452ae
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Tue Sep 29 15:40:29 2009 +0200
+
+ documentation error in zmq.h fixed
+
+ bindings/c/zmq.h | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 64e68e748607473befbcf2d96590d45dc7bc98db
+Author: malosek <malosek@fastmq.com>
+Date: Tue Sep 29 13:56:19 2009 +0200
+
+ detecting data loss for PGM2 receiver
+
+ src/pgm_receiver.cpp | 10 ++++++++++
+ src/pgm_socket.cpp | 40 ++++++++++++++++++++++++++++++++++------
+ 2 files changed, 44 insertions(+), 6 deletions(-)
+
+commit 39d915ded8ccb612ae1f9aaefcd93f349f4c8f4c
+Author: malosek <malosek@fastmq.com>
+Date: Mon Sep 28 18:06:06 2009 +0200
+
+ PGM2 sender
+
+ 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 cf6cc0128ff4d26e0059f399bbb8342ce259b996
+Author: malosek <malosek@fastmq.com>
+Date: Fri Sep 25 17:50:12 2009 +0200
+
+ pgm2 receiver working (partly)
+
+ 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(-)
+
+commit 72c5c5fff42fc0b4c9d1eaaaebe9d6e1dd8824f2
+Author: malosek <malosek@fastmq.com>
+Date: Thu Sep 24 16:23:49 2009 +0200
+
+ --with-pgm2 compilable
+
+ 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 33afdcd1adccd19ebd9f4ec9cc6d23a37975d135
+Author: malosek <malosek@fastmq.com>
+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 <malosek@fastmq.com>
+Date: Wed Sep 23 12:14:44 2009 +0200
+
+ Updated libzmq.vcproj file
+
+ builds/msvc/libzmq/libzmq.vcproj | 28 ++++++++++++++++++++++++++++
+ 1 files changed, 28 insertions(+), 0 deletions(-)
+
+commit 27d8627cb5d8c91df2f09ecc1272e84be4fe3c80
+Author: malosek <malosek@fastmq.com>
+Date: Wed Sep 23 11:31:03 2009 +0200
+
+ Updated changelog for alpha3 release
+
+ ChangeLog | 26 ++++++++++++++++----------
+ 1 files changed, 16 insertions(+), 10 deletions(-)
+
+commit b0a1a16fc2a84afa0eb2715f680297caef521b54
+Merge: 088a2db 2521130
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Wed Sep 23 10:23:53 2009 +0200
+
+ Merge branch 'master' of git@github.com:sustrik/zeromq2
+
+commit 088a2db6746488c1ce4a73c357caaece50bbdf60
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+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 <malosek@fastmq.com>
+Date: Wed Sep 23 10:22:39 2009 +0200
+
+ ZMQII-14: Change default for ZMQ_MCAST_LOOP to true
+
+ src/options.cpp | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 85cbd7f83c10c70da8fa44fe7673143703f9710d
+Author: malosek <malosek@fastmq.com>
+Date: Tue Sep 22 15:12:51 2009 +0200
+
+ added PGM bus functionality
+
+ 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 3bd8f83f6d412221e4673ceb90b8ca7fa74ff2f1
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Tue Sep 22 13:00:05 2009 +0200
+
+ language bindings use zmq_strerror instead of strerror
+
+ 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(-)
+
+commit a0db7f6b811e687eda452a7de9f5db112f715544
+Author: Martin Sustrik <sustrik@fastmq.com>
+Date: Tue Sep 22 12:08:18 2009 +0200
+
+ POSIX error codes unsupported on win platform faked
+
+ bindings/c/zmq.h | 16 +++++++++++++---
+ src/zmq.cpp | 13 +++++++++++++
+ 2 files changed, 26 insertions(+), 3 deletions(-)
+
+commit e136d923b7060ef64d44264f88e49057e6638f31
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+Date: Tue Sep 22 10:57:46 2009 +0200
+
+ documentation in zmq.h improved
+
+ bindings/c/zmq.h | 283 ++++++++++++++++++++++++++++++++++++--------------
+ bindings/cpp/zmq.hpp | 13 ---
+ src/zmq.cpp | 28 +----
+ 3 files changed, 208 insertions(+), 116 deletions(-)
+
+commit e6ca5da1815023e90306914dab101eeef4b6f199
+Author: Martin Sustrik <sustrik@fastmq.com>
+Date: Tue Sep 22 08:30:15 2009 +0200
+
+ Windows build fixed
+
+ src/fd_signaler.cpp | 31 ++++++++++++++++---------------
+ src/p2p.cpp | 3 +++
+ src/rep.cpp | 2 ++
+ 3 files changed, 21 insertions(+), 15 deletions(-)
+
+commit b15f695976d21300beabc3e0ecef87c1a0b4dc4c
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+Date: Sun Sep 20 12:03:14 2009 +0200
+
+ ZMQ_POLL option forces fd_signaler to be used in app_thread
+
+ 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(-)
+
+commit 495a2228cd08a29946f9e9ce2e0721e789203e35
+Author: Martin Sustrik <sustrik@fastmq.com>
+Date: Sun Sep 20 10:58:00 2009 +0200
+
+ MSVC warnings removed
+
+ src/fd_signaler.cpp | 11 ++++-------
+ 1 files changed, 4 insertions(+), 7 deletions(-)
+
+commit f99b8fc921bc0e6aa55276d8c55e43c9d7f4375a
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Sun Sep 20 10:47:27 2009 +0200
+
+ receiving side of signaler virtualised
+
+ 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(-)
+
+commit 50a8b9ea0c4a819073b46449dee8fc839b837ae5
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+Date: Thu Sep 17 12:29:32 2009 +0200
+
+ python binding checks ctx argument type
+
+ bindings/python/pyzmq.cpp | 22 ++++++++++++----------
+ 1 files changed, 12 insertions(+), 10 deletions(-)
+
+commit 8cdf75327d847c464415ab32554d155febcf7c5e
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Thu Sep 17 11:44:39 2009 +0200
+
+ ChangeLog updated
+
+ ChangeLog | 336 ++++++++++++++++++++++++++++++++-----------------------------
+ 1 files changed, 175 insertions(+), 161 deletions(-)
+
+commit dffbdbb60c5d5caf01d13063a3d1babab0411338
+Author: malosek <malosek@fastmq.com>
+Date: Thu Sep 17 11:31:28 2009 +0200
+
+ fixed compiler warning cast from uint64 to bool in socket_base.cpp
+
+ src/socket_base.cpp | 11 ++++++++---
+ 1 files changed, 8 insertions(+), 3 deletions(-)
+
+commit 1bd6d5e0f6a6013b2d43abb2a82f0027a92fcc96
+Author: malosek <malosek@fastmq.com>
+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 <malosek@fastmq.com>
+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 <malosek@fastmq.com>
+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 <malosek@fastmq.com>
+Date: Wed Sep 16 17:07:15 2009 +0200
+
+ Merge branch 'master' of git@github.com:sustrik/zeromq2
+
+commit 1a655045951c29edda0b616640b9dac507cda164
+Author: malosek <malosek@fastmq.com>
+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 <malosek@fastmq.com>
+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 <malosek@fastmq.com>
+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 <malosek@fastmq.com>
+Date: Wed Sep 16 16:22:23 2009 +0200
+
+ java directory moved into bindings directory II
+
+ Makefile.am | 8 ++------
+ bindings/java/Makefile.am | 2 +-
+ configure.in | 4 ++--
+ 3 files changed, 5 insertions(+), 9 deletions(-)
+
+commit 3de435a07d460e7eb2423a75e71a409b0f1143e2
+Author: malosek <malosek@fastmq.com>
+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 <sustrik@fastmq.commkdir>
+Date: Wed Sep 16 15:52:39 2009 +0200
+
+ Merge branch 'master' of git@github.com:sustrik/zeromq2
+
+commit 35c58dc7331e3c5033b16829dff40437efe97a81
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Wed Sep 16 15:37:20 2009 +0200
+
+ ZMQII-1: fix for devpoll, kqueue & poll
+
+ src/devpoll.cpp | 3 ++-
+ src/kqueue.cpp | 3 ++-
+ src/poll.cpp | 4 ++--
+ 3 files changed, 6 insertions(+), 4 deletions(-)
+
+commit 10dd8c53460a28849aacf7d2e24b63d7fae11ae0
+Merge: 03d494d fc7715b
+Author: malosek <malosek@fastmq.com>
+Date: Wed Sep 16 15:36:56 2009 +0200
+
+ Merge branch 'master' of git@github.com:sustrik/zeromq2
+
+commit 03d494d4f074a8707274e6d5fd21ac6dca917344
+Author: malosek <malosek@fastmq.com>
+Date: Wed Sep 16 15:36:38 2009 +0200
+
+ added udp:// transport prefix for PGM UDP encapsulation
+
+ 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 <sustrik@fastmq.com>
+Date: Wed Sep 16 15:27:39 2009 +0200
+
+ Merge branch 'master' of git@github.com:sustrik/zeromq2
+
+commit f1c72d693e3bd252866a1f78e575493573eb57fe
+Author: Martin Sustrik <sustrik@fastmq.com>
+Date: Wed Sep 16 15:26:49 2009 +0200
+
+ ZMQII-4: Failure in dev/poll poller
+
+ src/zmq_connecter.cpp | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+commit c6665f46be7eb701866441087c35cdb1a08fc641
+Author: malosek <malosek@fastmq.com>
+Date: Wed Sep 16 14:57:22 2009 +0200
+
+ set rc to 0 in its declaration (pyzmq.cpp)
+
+ python/pyzmq.cpp | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 3b2c3cae095abf9b61cd72cf19f053071a8c614a
+Author: malosek <malosek@fastmq.com>
+Date: Wed Sep 16 14:55:11 2009 +0200
+
+ setsockopt cleanup in rbzmq
+
+ perf/ruby/local_thr.rb | 2 +-
+ ruby/rbzmq.cpp | 106 +++++++++++++++++++-----------------------------
+ 2 files changed, 43 insertions(+), 65 deletions(-)
+
+commit 3534732c0614a764731fbea2431247068fa63330
+Merge: 17800ac a71d002
+Author: malosek <malosek@fastmq.com>
+Date: Wed Sep 16 14:26:04 2009 +0200
+
+ Merge branch 'master' of git@github.com:sustrik/zeromq2
+
+commit 17800ac85e667d18124d0e90f9387d6c90887570
+Author: malosek <malosek@fastmq.com>
+Date: Wed Sep 16 14:25:49 2009 +0200
+
+ setsockopt cleanup in pyzmq.cpp
+
+ python/pyzmq.cpp | 31 +++++++++++++++++++++++--------
+ 1 files changed, 23 insertions(+), 8 deletions(-)
+
+commit a71d00288008b7ed1dc91b6ad3d5fdf25a5e683e
+Merge: 4631fde 7a5db60
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Wed Sep 16 14:03:42 2009 +0200
+
+ Merge branch 'master' of git@github.com:sustrik/zeromq2
+
+commit 4631fde7e385ea31e85f41290614afb9bda391c9
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Wed Sep 16 14:02:43 2009 +0200
+
+ ZMQII-8: Failure during orphan pipe deallocation
+
+ src/dispatcher.cpp | 4 ++--
+ src/session.cpp | 6 +++++-
+ src/zmq_connecter_init.cpp | 6 +++++-
+ 3 files changed, 12 insertions(+), 4 deletions(-)
+
+commit 7a5db6041f4f11ed502fa7446da900509dedb00f
+Author: malosek <malosek@fastmq.com>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+Date: Wed Sep 16 10:56:55 2009 +0200
+
+ Merge branch 'master' of git@github.com:sustrik/zeromq2
+
+commit 9fbdcc7940823634d82f51d2b124ccfbca6e9b17
+Author: malosek <malosek@fastmq.com>
+Date: Wed Sep 16 10:35:23 2009 +0200
+
+ removed reset method from zmq_decoder_t
+
+ 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(-)
+
+commit 969522bbf55467b6f6e8113be28451d087060843
+Author: malosek <malosek@fastmq.com>
+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 <sustrik@fastmq.commkdir>
+Date: Wed Sep 16 09:50:39 2009 +0200
+
+ more errors from send & recv handled decently on windows
+
+ src/tcp_socket.cpp | 12 +++++++++++-
+ 1 files changed, 11 insertions(+), 1 deletions(-)
+
+commit 0381a78c0484012e760d61051f325c71136df17e
+Author: malosek <malosek@fastmq.com>
+Date: Tue Sep 15 13:47:15 2009 +0200
+
+ added reset method into zmq_decoder_t class
+
+ src/zmq_decoder.cpp | 10 ++++++++++
+ src/zmq_decoder.hpp | 2 ++
+ 2 files changed, 12 insertions(+), 0 deletions(-)
+
+commit 79d4a6debf2f4a6970c1137f15426ba0c3535ac0
+Merge: 7653f34 98b8e9b
+Author: malosek <malosek@fastmq.com>
+Date: Tue Sep 15 12:01:07 2009 +0200
+
+ Merge branch 'master' of git@github.com:sustrik/zeromq2
+
+commit 7653f34df0aae4689d0ccc563a2f111f4793e539
+Author: malosek <malosek@fastmq.com>
+Date: Tue Sep 15 12:00:48 2009 +0200
+
+ fixed pub_t class creating ZMQ_SUB socket_base_t
+
+ src/pub.cpp | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 98b8e9b54dd8c67006422106b478a3a6eab07869
+Merge: a841774 3a3bcd3
+Author: Martin Sustrik <sustrik@fastmq.com>
+Date: Tue Sep 15 10:06:42 2009 +0200
+
+ Merge branch 'master' of github.com:sustrik/zeromq2
+
+commit a841774cbd6363e6ddccc7a56e9a97d1c1481a76
+Author: Martin Sustrik <sustrik@fastmq.com>
+Date: Tue Sep 15 10:04:43 2009 +0200
+
+ forwarder renamed to zmq_forwarder (MSVC build)
+
+ msvc/forwarder/forwarder.vcproj | 174 -------------------------------
+ msvc/msvc.sln | 10 +-
+ msvc/zmq_forwarder/zmq_forwarder.vcproj | 174 +++++++++++++++++++++++++++++++
+ 3 files changed, 179 insertions(+), 179 deletions(-)
+
+commit 3a3bcd337fb8000aef6c8f5ca3dd1b10475d7ab0
+Author: malosek <malosek@fastmq.com>
+Date: Tue Sep 15 09:57:11 2009 +0200
+
+ pgm_sender code beautiication
+
+ src/pgm_sender.hpp | 11 ++---------
+ 1 files changed, 2 insertions(+), 9 deletions(-)
+
+commit f44b215a60f50e8730a50522d7b9f2d5b4381d19
+Author: malosek <malosek@fastmq.com>
+Date: Tue Sep 15 09:47:25 2009 +0200
+
+ added out_event call into pgm_sender_t revive
+
+ src/pgm_sender.cpp | 23 +----------------------
+ 1 files changed, 1 insertions(+), 22 deletions(-)
+
+commit 712c7bd8954a801526e87e652840f7087f9af706
+Merge: 3642813 35e82b4
+Author: malosek <malosek@fastmq.com>
+Date: Tue Sep 15 09:46:08 2009 +0200
+
+ Merge branch 'master' of git@github.com:sustrik/zeromq2
+
+commit 35e82b460549e227f6c3409be32d2c657955628c
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Tue Sep 15 09:45:32 2009 +0200
+
+ forwarder renamed to zmq_forwarder
+
+ 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 364281343ce0fd03b25bc6b1b451ee7ba8db436b
+Merge: bdf22e9 f7ad4a2
+Author: malosek <malosek@fastmq.com>
+Date: Tue Sep 15 09:44:44 2009 +0200
+
+ Merge branch 'master' of git@github.com:sustrik/zeromq2
+
+commit bdf22e9c2fe82366283f4edc02fd59c37fdb2c4b
+Author: malosek <malosek@fastmq.com>
+Date: Tue Sep 15 09:43:42 2009 +0200
+
+ deleted useles iostream include from socket_base.cpp
+
+ src/socket_base.cpp | 6 ++----
+ 1 files changed, 2 insertions(+), 4 deletions(-)
+
+commit f7ad4a203ad184d97002111f4ffb8bfe6a8f7c01
+Author: Martin Sustrik <sustrik@fastmq.com>
+Date: Mon Sep 14 17:04:57 2009 +0200
+
+ forwarder device compilable on windows
+
+ 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 6cfd175e31eec44d215bbc237f2f1d94bfeac06d
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Mon Sep 14 16:45:53 2009 +0200
+
+ forwarder device added
+
+ 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(-)
+
+commit e2900ce0a1b11ec212aeaf42bbefb26a54697c25
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Mon Sep 14 14:30:15 2009 +0200
+
+ xmlParser added
+
+ foreign/xmlParser/xmlParser.cpp | 2888 +++++++++++++++++++++++++++++++++++++++
+ foreign/xmlParser/xmlParser.hpp | 762 +++++++++++
+ 2 files changed, 3650 insertions(+), 0 deletions(-)
+
+commit 2bc9419ced21151fe90c530758dc85b7024fdb70
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Mon Sep 14 13:54:30 2009 +0200
+
+ ZMQII-10: Make connections interrupted during the init phase be closed silently
+
+ src/zmq_decoder.cpp | 13 +++++++++++--
+ src/zmq_listener_init.cpp | 7 +++++--
+ 2 files changed, 16 insertions(+), 4 deletions(-)
+
+commit 37cacc5700eaaaddbe2df6e3affeca4a335b023a
+Author: Martin Sustrik <sustrik@fastmq.com>
+Date: Mon Sep 14 12:28:13 2009 +0200
+
+ ZMQII-1: Win32 - failure on shutdown
+
+ 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 c806aabb2d3e6b1ba9e3f61319f23d45c7f9a007
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Mon Sep 14 11:25:57 2009 +0200
+
+ java binding sets socket options using setsockopt function
+
+ 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(-)
+
+commit 36707529a7d82b164b59d42fe0d5d8a35c3dd279
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Mon Sep 14 09:40:35 2009 +0200
+
+ minor merge problem corrected
+
+ src/pub.cpp | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 89b1f2782ca6a1db9c68b7d642b5a41cc4d56414
+Merge: 47350ad 1a4d6f9
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Fri Sep 11 18:18:25 2009 +0200
+
+ Merge branch 'master' of git@github.com:sustrik/zeromq2
+
+commit 47350adcb6ea48512d732bc323eb1835a5ac9908
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Fri Sep 11 18:16:47 2009 +0200
+
+ separate class for PUB-style socket added
+
+ 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(-)
+
+commit 1a4d6f91194c52795808baa07dcd61a20ff599be
+Author: malosek <malosek@fastmq.com>
+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 <sustrik@fastmq.com>
+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 <sustrik@fastmq.commkdir>
+Date: Fri Sep 11 16:23:16 2009 +0200
+
+ prefix-style message filtering added
+
+ src/sub.cpp | 61 +++++++++++++++++++++++++++++++++++++++++++++-------------
+ src/sub.hpp | 10 +++++++-
+ 2 files changed, 55 insertions(+), 16 deletions(-)
+
+commit 42ad2aa02d3b14eaa3c36c3f1a5a5789546ba411
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Fri Sep 11 15:51:35 2009 +0200
+
+ ZMQII-7: Pipe detach fails on shutdown
+
+ src/socket_base.cpp | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+commit 29c5930d0b9a4a1df3b90819bdfbfff6a66fedd0
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Fri Sep 11 14:17:57 2009 +0200
+
+ asserts for invalid indexes in pipe reader & writer added
+
+ src/pipe.cpp | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+commit e0d1294c4bae51a2bc83a09225e89dddc9b6dcf4
+Merge: 5daa0de a91b449
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Fri Sep 11 13:20:57 2009 +0200
+
+ Merge branch 'master' of git@github.com:sustrik/zeromq2
+
+commit 5daa0dec0f473c84aab6b12cdc5541335e74f07f
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Fri Sep 11 13:20:24 2009 +0200
+
+ ZMQII-5: Only one consumer in a process gets the message
+
+ 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(-)
+
+commit a91b44977201e4b3891c70da0472a332f60a39fc
+Author: malosek <malosek@fastmq.com>
+Date: Fri Sep 11 11:21:40 2009 +0200
+
+ 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 <malosek@fastmq.com>
+Date: Fri Sep 11 11:13:15 2009 +0200
+
+ link libzmq with glib when congifured --with-pgm
+
+ 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(-)
+
+commit f824b8a067c60b32260c56020742d6428ed3bb98
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Thu Sep 10 16:59:22 2009 +0200
+
+ classify error from async connect as network related or 0MQ bugs
+
+ src/tcp_connecter.cpp | 10 ++++++++++
+ 1 files changed, 10 insertions(+), 0 deletions(-)
+
+commit f674c9269e04546da22e45ef6fff9303441680ea
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Thu Sep 10 16:32:06 2009 +0200
+
+ ZMQII-2: SIGSEGV in zmq_connecter_init_t::read
+
+ src/zmq_decoder.cpp | 2 +-
+ src/zmq_encoder.cpp | 2 +-
+ src/zmq_engine.cpp | 2 ++
+ 3 files changed, 4 insertions(+), 2 deletions(-)
+
+commit 93e70ee583489034c9f3b92fb87b374707afd5d5
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Thu Sep 10 15:20:54 2009 +0200
+
+ throughput tests use P2P sockets consistently
+
+ 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 95944551be93665fe4dcadbe00168da553b7d82f
+Merge: 5acef9f b3f32e2
+Author: malosek <malosek@fastmq.com>
+Date: Thu Sep 10 12:04:26 2009 +0200
+
+ Merge branch 'master' of git@github.com:sustrik/zeromq2
+
+commit b3f32e219ec15a582b6fd03b155e0861443690f6
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Thu Sep 10 12:00:47 2009 +0200
+
+ ZMQII-3: cheap and nasty implementation of message filtering
+
+ 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(-)
+
+commit 5acef9fc96280df934176b02de724eb904e4bba3
+Author: malosek <malosek@fastmq.com>
+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 d81d3412520c9fed36f39462840c7d35815f4a87
+Merge: 1864832 4cc923b
+Author: Martin Sustrik <sustrik@fastmq.com>
+Date: Wed Sep 9 12:14:04 2009 +0200
+
+ Merge branch 'master' of github.com:sustrik/zeromq2
+
+commit 1864832adaa173b7c85d4321b8ff8c396ce6b9af
+Author: Martin Sustrik <sustrik@fastmq.com>
+Date: Wed Sep 9 12:13:19 2009 +0200
+
+ building zmq.jar on win32 fixed
+
+ msvc/java/java.vcproj | 8 ++++----
+ 1 files changed, 4 insertions(+), 4 deletions(-)
+
+commit 4cc923b0252a0f1f0ee52508b7a3108e8e3c0950
+Author: malosek <malosek@fastmq.com>
+Date: Wed Sep 9 11:19:05 2009 +0200
+
+ Stop configure, when could not link with libuuid
+
+ configure.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 65b8b2d2c78867ee2671f995f5f7c805abd00df2
+Merge: 305b81d d743d97
+Author: Martin Sustrik <sustrik@fastmq.com>
+Date: Wed Sep 9 11:08:39 2009 +0200
+
+ Merge branch 'master' of github.com:sustrik/zeromq2
+
+commit 305b81dbdf63ab1b66733a330b2c64a980712b8b
+Author: Martin Sustrik <sustrik@fastmq.com>
+Date: Wed Sep 9 11:07:48 2009 +0200
+
+ higher precision time measurement in python perf tests
+
+ perf/python/local_thr.py | 8 ++++----
+ perf/python/remote_lat.py | 11 ++++++-----
+ 2 files changed, 10 insertions(+), 9 deletions(-)
+
+commit d743d97e365b1d430b6c63de2782392a5f8f5305
+Author: malosek <malosek@fastmq.com>
+Date: Wed Sep 9 10:37:40 2009 +0200
+
+ Updated AUTHORS, ChangeLog, README and added COPYING.LESSER files
+
+ AUTHORS | 38 +++++++++
+ COPYING.LESSER | 166 ++++++++++++++++++++++++++++++++++++++++
+ ChangeLog | 231 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ README | 4 +
+ 4 files changed, 439 insertions(+), 0 deletions(-)
+
+commit 4d07d7cabe1a865812cf5d95a84557880e3c3096
+Author: Martin Sustrik <sustrik@fastmq.com>
+Date: Wed Sep 9 10:08:46 2009 +0200
+
+ fix of async connect on win32
+
+ src/tcp_connecter.cpp | 4 +++-
+ src/zmq_connecter.cpp | 2 +-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+commit c99f39abc669084fd3a94675ee98e235448ad5a4
+Merge: 37d8371 cb78991
+Author: Martin Sustrik <sustrik@fastmq.com>
+Date: Wed Sep 9 09:07:11 2009 +0200
+
+ Merge branch 'master' of git@github.com:sustrik/zeromq2
+
+commit 37d8371967308ab1e541cf58b91e368b3e0b526c
+Author: Martin Sustrik <sustrik@fastmq.com>
+Date: Wed Sep 9 09:03:30 2009 +0200
+
+ async connect bug fixed
+
+ src/zmq_connecter.cpp | 19 ++++++-------------
+ 1 files changed, 6 insertions(+), 13 deletions(-)
+
+commit cb78991f8e20fa35d99fa209be659c0aed59de47
+Merge: 734a62c d3fb9f9
+Author: malosek <malosek@fastmq.com>
+Date: Tue Sep 8 16:55:28 2009 +0200
+
+ Merge branch 'master' of git@github.com:sustrik/zeromq2
+
+commit 734a62c12d2e2fb009ccf97d7d188060a474cc17
+Author: malosek <malosek@fastmq.com>
+Date: Tue Sep 8 16:55:03 2009 +0200
+
+ Sparc solaris port
+
+ 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(-)
+
+commit d3fb9f90af73a46e02b7e8780a8db95a31360d56
+Author: Martin Sustrik <sustrik@fastmq.com>
+Date: Tue Sep 8 16:16:01 2009 +0200
+
+ missing java MSVC project added
+
+ msvc/java/java.vcproj | 244 +++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 244 insertions(+), 0 deletions(-)
+
+commit dadfd243649fbde768a24c677fa952f90d00589d
+Merge: ef34c94 844b590
+Author: Martin Sustrik <sustrik@fastmq.com>
+Date: Tue Sep 8 15:11:19 2009 +0200
+
+ Merge branch 'master' of github.com:sustrik/zeromq2
+
+commit ef34c94c3a9cbda87b0a4512ec56415b023aff0b
+Author: Martin Sustrik <sustrik@fastmq.com>
+Date: Tue Sep 8 15:10:10 2009 +0200
+
+ win build for python
+
+ msvc/msvc.sln | 8 ++
+ msvc/python/python.vcproj | 176 +++++++++++++++++++++++++++++++++++++++++++++
+ python/pyzmq.cpp | 9 +++
+ 3 files changed, 193 insertions(+), 0 deletions(-)
+
+commit 844b590b5e348d8513ed574f6548cc0be41574af
+Author: malosek <malosek@fastmq.com>
+Date: Tue Sep 8 15:06:08 2009 +0200
+
+ added libzmq.pc.in file
+
+ configure.in | 2 +-
+ src/Makefile.am | 2 ++
+ src/libzmq.pc.in | 10 ++++++++++
+ 3 files changed, 13 insertions(+), 1 deletions(-)
+
+commit b3fc14522574ccad233bee02ea135d8a93fb2441
+Merge: 2a4a10c 3069b6b
+Author: malosek <malosek@fastmq.com>
+Date: Tue Sep 8 14:54:52 2009 +0200
+
+ Merge branch 'master' of git@github.com:sustrik/zeromq2
+
+commit 2a4a10c8be92c5ce6314378fc4de163888075279
+Author: malosek <malosek@fastmq.com>
+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 <sustrik@fastmq.com>
+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 <sustrik@.(none)>
+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 <malosek@fastmq.com>
+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 <sustrik@.(none)>
+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 <sustrik@fastmq.commkdir>
+Date: Mon Sep 7 11:10:58 2009 +0200
+
+ Merge branch 'master' of git@github.com:sustrik/zeromq2
+
+commit d62c74232a4c1edd38004933afd0c7dc119bd98b
+Merge: 11a6cb9 63b56d7
+Author: Martin Sustrik <sustrik@jozsi.(none)>
+Date: Mon Sep 7 11:01:42 2009 +0200
+
+ Merge branch 'master' of git://github.com/sustrik/zeromq2
+
+commit 11a6cb925f7ff3d17f48edccc886839b4d49ef0b
+Author: Martin Sustrik <sustrik@jozsi.(none)>
+Date: Mon Sep 7 11:00:20 2009 +0200
+
+ Ruby binding functional
+
+ 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(-)
+
+commit 67253f3186488db93dee23bd9194419f58f0b1d3
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+Date: Fri Sep 4 16:21:39 2009 +0200
+
+ python perf tests are included into distribution package
+
+ configure.in | 3 ++-
+ perf/Makefile.am | 4 ++--
+ perf/python/Makefile.am | 5 +++++
+ 3 files changed, 9 insertions(+), 3 deletions(-)
+
+commit 4307baf7bcc71ca91da0175e79cdfbf6cc1ad770
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+Date: Fri Sep 4 11:08:13 2009 +0200
+
+ bug in python binding fixed
+
+ python/pyzmq.cpp | 25 ++++++++-----------------
+ 1 files changed, 8 insertions(+), 17 deletions(-)
+
+commit 103cbee6a509e55ff5def82eb5ec3ef7feb319a3
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Fri Sep 4 09:51:42 2009 +0200
+
+ couple of bugs fixed
+
+ 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(-)
+
+commit 4914e5c9d192ac6763e5da6fa28ea503ee769bf0
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Wed Sep 2 16:16:25 2009 +0200
+
+ 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 <sustrik@fastmq.commkdir>
+Date: Wed Sep 2 14:59:53 2009 +0200
+
+ bug during terminal shutdown fixed
+
+ 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 <sustrik@fastmq.commkdir>
+Date: Wed Sep 2 11:58:39 2009 +0200
+
+ messages that may have been received in the init phase are flushed immediately after engine is plugged in
+
+ src/zmq_engine.cpp | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+commit 75a5a8732cd5be1bb3bff608e352bf4ac624ffd4
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Wed Sep 2 10:59:31 2009 +0200
+
+ --disable-shared & C perf tests: a better way
+
+ configure.in | 1 +
+ perf/c/Makefile.am | 8 ++++----
+ src/platform.hpp.in | 3 +++
+ 3 files changed, 8 insertions(+), 4 deletions(-)
+
+commit 947b46319314dfab0e545282e9ccfc708d6f57e3
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Wed Sep 2 10:46:10 2009 +0200
+
+ 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 <sustrik@fastmq.commkdir>
+Date: Wed Sep 2 10:23:01 2009 +0200
+
+ Merge branch 'master' of git@github.com:sustrik/zeromq2
+
+commit 6a5120b1f1c48d19b777f76ac756b00fb624d110
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+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 <hurtonm@gmail.com>
+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 <hurtonm@gmail.com>
+Date: Mon Aug 31 11:31:32 2009 +0200
+
+ POSIX threads don't use errno to report errors
+
+ Fix simple_semaphore to follow POSIX threads convention for reporting
+ errors.
+
+ src/err.hpp | 9 +++++----
+ src/simple_semaphore.hpp | 12 ++++++------
+ 2 files changed, 11 insertions(+), 10 deletions(-)
+
+commit 72fdf47d16c8d3ecd9da657b4649978e414d775c
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Mon Aug 31 12:50:53 2009 +0200
+
+ python perf tests added
+
+ 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 b6d345f4a6402cf2e831a8b9d113f036b394a0bc
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Mon Aug 31 12:45:42 2009 +0200
+
+ Ruby perf tests added
+
+ 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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+Date: Sun Aug 30 15:03:16 2009 +0200
+
+ C perf tests added
+
+ 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(-)
+
+commit 4617fd9e9c50a9fa3a8cbf3b25e6061e3a8f10c8
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+Date: Sun Aug 30 09:14:15 2009 +0200
+
+ c++ perf tests added
+
+ .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 176879e5bbce6115ff5741f2426f689bda312109
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+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 <tamara@jozsi.(none)>
+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 <sustrik@fastmq.commkdir>
+Date: Sat Aug 29 10:32:21 2009 +0200
+
+ bug in identifying current thread fixed
+
+ 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 <sustrik@fastmq.commkdir>
+Date: Sat Aug 29 09:41:50 2009 +0200
+
+ improved error handling
+
+ 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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+Date: Thu Aug 27 10:55:26 2009 +0200
+
+ Merge branch 'master' of git@github.com:sustrik/zeromq2
+
+commit 99c5d9283622a0b37ee80f83ff4875c059fc5990
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+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 <hurtonm@gmail.com>
+Date: Wed Aug 26 15:50:37 2009 +0200
+
+ make configure respect --with-python option
+
+ configure.in | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+commit aacdb7a454686bfac93164d0e67e785658d48a3c
+Author: tamara <tamara@jozsi.(none)>
+Date: Mon Aug 24 12:04:15 2009 +0200
+
+ python build fix
+
+ Makefile.am | 9 +++++++--
+ 1 files changed, 7 insertions(+), 2 deletions(-)
+
+commit 77bc3790fa9e781ad26ec881175d22d807e16acf
+Author: tamara <tamara@jozsi.(none)>
+Date: Mon Aug 24 11:17:16 2009 +0200
+
+ python extension added
+
+ 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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+Date: Mon Aug 17 14:07:34 2009 +0200
+
+ subscribe API removed
+
+ 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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+Date: Sun Aug 9 11:57:21 2009 +0200
+
+ getsockopt implemented
+
+ 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 <sustrik@fastmq.commkdir>
+Date: Sun Aug 9 11:21:47 2009 +0200
+
+ fix to 3-thread synchronisation algorithm
+
+ 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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+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 <hurtonm@gmail.com>
+Date: Mon Aug 3 11:59:55 2009 +0200
+
+ C++ binding uses exceptions to signal failure
+
+ include/zmq.hpp | 83 ++++++++++++++++++++++++++++++++++++++++++++++++------
+ 1 files changed, 73 insertions(+), 10 deletions(-)
+
+commit cc3755a16f00026af882ed14d122cc8aa6d50e82
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+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 <sustrik@fastmq.commkdir>
+Date: Thu Jul 30 13:53:46 2009 +0200
+
+ git ignoring intermediary files
+
+ 0 files changed, 0 insertions(+), 0 deletions(-)
+
+commit 4ed70a930202b103e7e80b8dc925e0aaa4622595
+Author: Martin Sustrik <sustrik@fastmq.commkdir>
+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
@@ -166,10 +166,6 @@
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
- RelativePath="..\..\..\perf\helpers.cpp"
- >
- </File>
- <File
RelativePath="..\..\..\perf\local_lat.cpp"
>
</File>
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
@@ -166,10 +166,6 @@
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
- RelativePath="..\..\..\perf\helpers.cpp"
- >
- </File>
- <File
RelativePath="..\..\..\perf\local_thr.cpp"
>
</File>
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
@@ -166,10 +166,6 @@
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
- RelativePath="..\..\..\perf\helpers.cpp"
- >
- </File>
- <File
RelativePath="..\..\..\perf\remote_lat.cpp"
>
</File>
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
@@ -166,10 +166,6 @@
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
- RelativePath="..\..\..\perf\helpers.cpp"
- >
- </File>
- <File
RelativePath="..\..\..\perf\remote_thr.cpp"
>
</File>
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 @@
>
</File>
<File
- RelativePath="..\..\..\src\downstream.cpp"
+ RelativePath="..\..\..\src\push.cpp"
>
</File>
<File
@@ -226,6 +226,10 @@
>
</File>
<File
+ RelativePath="..\..\..\src\msg_store.cpp"
+ >
+ </File>
+ <File
RelativePath="..\..\..\src\object.cpp"
>
</File>
@@ -322,7 +326,7 @@
>
</File>
<File
- RelativePath="..\..\..\src\upstream.cpp"
+ RelativePath="..\..\..\src\pull.cpp"
>
</File>
<File
@@ -404,7 +408,7 @@
>
</File>
<File
- RelativePath="..\..\..\src\downstream.hpp"
+ RelativePath="..\..\..\src\push.hpp"
>
</File>
<File
@@ -472,6 +476,10 @@
>
</File>
<File
+ RelativePath="..\..\..\src\msg_store.hpp"
+ >
+ </File>
+ <File
RelativePath="..\..\..\src\mutex.hpp"
>
</File>
@@ -580,7 +588,7 @@
>
</File>
<File
- RelativePath="..\..\..\src\upstream.hpp"
+ RelativePath="..\..\..\src\pull.hpp"
>
</File>
<File
diff --git a/builds/msvc/platform.hpp b/builds/msvc/platform.hpp
index b40d161..77428a1 100644
--- a/builds/msvc/platform.hpp
+++ b/builds/msvc/platform.hpp
@@ -28,7 +28,7 @@
// 0MQ version information
#define PACKAGE_VERSION_MAJOR 2
#define PACKAGE_VERSION_MINOR 0
-#define PACKAGE_VERSION_PATCH 7
+#define PACKAGE_VERSION_PATCH 9
#define ZMQ_HAVE_WINDOWS
diff --git a/configure b/configure
index dd522a9..e86c19c 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for zeromq 2.0.7.
+# Generated by GNU Autoconf 2.61 for zeromq 2.0.9.
#
# Report bugs to <zeromq-dev@lists.zeromq.org>.
#
@@ -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
@@ -16586,6 +16586,77 @@ _ACEOF
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
+
;;
*aix*)
@@ -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 <bug-autoconf@gnu.org>."
_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/debian/changelog b/debian/changelog
index 3ef705e..bfd6fe4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,16 @@
+zeromq (2.0.9.dfsg-1) unstable; urgency=medium
+
+ * New upstream version.
+ * Move all manpages in libzmq0 to zeromq-dev package (closes: #595890)
+ * Updated to standards version 3.9.1.
+ * Add lintian-overrides for spelling-error-in-copyright due to error in
+ upstream license of xmlParser.
+ * Use Breaks: instead of Conflicts: in zeromq-bin package, fixes
+ conflicts-with-version from lintian.
+ * Various other minor fixes for warnings from lintian.
+
+ -- Martin Lucina <mato@kotelna.sk> Wed, 08 Sep 2010 15:25:45 +0200
+
zeromq (2.0.7.dfsg-1) unstable; urgency=low
* New upstream version.
diff --git a/debian/control b/debian/control
index 40e30fa..4f25577 100644
--- a/debian/control
+++ b/debian/control
@@ -3,12 +3,11 @@ Section: libs
Priority: optional
Maintainer: Martin Lucina <mato@kotelna.sk>
Build-Depends: debhelper (>= 7), libglib2.0-dev [amd64 i386], python [amd64 i386], uuid-dev
-Standards-Version: 3.8.4
+Standards-Version: 3.9.1
Homepage: http://www.zeromq.org/
Package: libzmq0
Architecture: any
-Section: libs
Depends: ${shlibs:Depends}, ${misc:Depends}
Recommends: zeromq-bin
Description: The ZeroMQ messaging library
@@ -25,7 +24,7 @@ Package: zeromq-bin
Architecture: any
Section: utils
Depends: ${shlibs:Depends}, ${misc:Depends}
-Conflicts: zeromq-utils (<= 2.0.6beta.dfsg-1)
+Breaks: zeromq-utils (<= 2.0.6beta.dfsg-1)
Replaces: zeromq-utils (<= 2.0.6beta.dfsg-1)
Description: Utilities for ZeroMQ
The 0MQ lightweight messaging kernel is a library which extends the
@@ -37,9 +36,9 @@ Description: Utilities for ZeroMQ
.
This package contains the ZeroMQ devices:
.
- * zmq_queue (Forwarder device for request-response messaging)
- * zmq_forwarder (Forwarder device for publish-subscribe messaging)
- * zmq_streamer (Streamer device for parallelized pipeline messaging)
+ * zmq_queue (Forwarder device for request-response messaging)
+ * zmq_forwarder (Forwarder device for publish-subscribe messaging)
+ * zmq_streamer (Streamer device for parallelized pipeline messaging)
.
These are building blocks intended to serve as intermediate nodes in
complex messaging topologies.
diff --git a/debian/libzmq-dbg.lintian-overrides b/debian/libzmq-dbg.lintian-overrides
new file mode 100644
index 0000000..f7e7de2
--- /dev/null
+++ b/debian/libzmq-dbg.lintian-overrides
@@ -0,0 +1,2 @@
+# Spelling error is in upstream license text (xmlParser)
+libzmq-dbg binary: spelling-error-in-copyright
diff --git a/debian/libzmq-dev.lintian-overrides b/debian/libzmq-dev.lintian-overrides
new file mode 100644
index 0000000..81c6601
--- /dev/null
+++ b/debian/libzmq-dev.lintian-overrides
@@ -0,0 +1,2 @@
+# Spelling error is in upstream license text (xmlParser)
+libzmq-dev binary: spelling-error-in-copyright
diff --git a/debian/libzmq-dev.manpages b/debian/libzmq-dev.manpages
index 63f4dae..fe4ecb4 100644
--- a/debian/libzmq-dev.manpages
+++ b/debian/libzmq-dev.manpages
@@ -1,2 +1,2 @@
debian/tmp/usr/share/man/man3/*
-debian/tmp/usr/share/man/man7/zmq_cpp.7
+debian/tmp/usr/share/man/man7/*
diff --git a/debian/libzmq0.lintian-overrides b/debian/libzmq0.lintian-overrides
new file mode 100644
index 0000000..8e8efc3
--- /dev/null
+++ b/debian/libzmq0.lintian-overrides
@@ -0,0 +1,2 @@
+# Spelling error is in upstream license text (xmlParser)
+libzmq0 binary: spelling-error-in-copyright
diff --git a/debian/libzmq0.manpages b/debian/libzmq0.manpages
deleted file mode 100644
index b846209..0000000
--- a/debian/libzmq0.manpages
+++ /dev/null
@@ -1,5 +0,0 @@
-debian/tmp/usr/share/man/man7/zmq.7
-debian/tmp/usr/share/man/man7/zmq_inproc.7
-debian/tmp/usr/share/man/man7/zmq_ipc.7
-debian/tmp/usr/share/man/man7/zmq_pgm.7
-debian/tmp/usr/share/man/man7/zmq_tcp.7
diff --git a/debian/zeromq-bin.lintian-overrides b/debian/zeromq-bin.lintian-overrides
new file mode 100644
index 0000000..f162251
--- /dev/null
+++ b/debian/zeromq-bin.lintian-overrides
@@ -0,0 +1,2 @@
+# Spelling error is in upstream license text (xmlParser)
+zeromq-bin binary: spelling-error-in-copyright
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)[\\]?(?P<name>linkzmq):(?P<target>\S*?)\[(?P<attrlist>.*?)\]=
+
+ifdef::backend-docbook[]
+[linkzmq-inlinemacro]
+{0%{target}}
+{0#<citerefentry>}
+{0#<refentrytitle>{target}</refentrytitle><manvolnum>{0}</manvolnum>}
+{0#</citerefentry>}
+endif::backend-docbook[]
+
+ifdef::backend-xhtml11[]
+[linkzmq-inlinemacro]
+<a href="{target}.html">{target}{0?({0})}</a>
+endif::backend-xhtml11[]
+
+ifdef::doctype-manpage[]
+ifdef::backend-docbook[]
+[header]
+template::[header-declarations]
+<refentry>
+<refmeta>
+<refentrytitle>{mantitle}</refentrytitle>
+<manvolnum>{manvolnum}</manvolnum>
+<refmiscinfo class="source">0MQ</refmiscinfo>
+<refmiscinfo class="version">{zmq_version}</refmiscinfo>
+<refmiscinfo class="manual">0MQ Manual</refmiscinfo>
+</refmeta>
+<refnamediv>
+ <refname>{manname}</refname>
+ <refpurpose>{manpurpose}</refpurpose>
+</refnamediv>
+endif::backend-docbook[]
+endif::doctype-manpage[]
+
+ifdef::backend-xhtml11[]
+[footer]
+</div>
+{disable-javascript%<div id="footnotes"><hr /></div>}
+<div id="footer">
+<div id="footer-text">
+ØMQ {zmq_version}<br />
+Last updated {docdate} {doctime}
+</div>
+</div>
+</body>
+</html>
+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 <http://docbook.sf.net/>
-.\" 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
</dl></div>
<h4 id="_thread_safety">Thread safety</h4>
<div class="paragraph"><p>A ØMQ <em>context</em> is thread safe and may be shared among as many application
-threads as the application has requested using the <em>app_threads</em> parameter to
-<em>zmq_init()</em>, 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 <em>context</em> may only be used
by <strong>the thread that created it</strong> using <em>zmq_socket()</em>.</p></div>
<h4 id="_multiple_contexts">Multiple contexts</h4>
@@ -859,7 +858,8 @@ included with the ØMQ distribution.</p></div>
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-06-03 14:07:32 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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 <em>address</em> specifies a nonexistent interface.
The ØMQ <em>context</em> associated with the specified <em>socket</em> was terminated.
</p>
</dd>
+<dt class="hdlist1">
+<strong>EFAULT</strong>
+</dt>
+<dd>
+<p>
+The provided <em>socket</em> was not valid (NULL).
+</p>
+</dd>
</dl></div>
</div>
<h2 id="_example">EXAMPLE</h2>
@@ -722,7 +730,8 @@ Martin Lucina &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-06-01 21:45:12 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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 <tt>-1</tt> and set <em>errno</em> to one of the values defined below.</p
</div>
<h2 id="_errors">ERRORS</h2>
<div class="sectionbody">
-<div class="paragraph"><p>No errors are defined.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>EFAULT</strong>
+</dt>
+<dd>
+<p>
+The provided <em>socket</em> was not valid (NULL).
+</p>
+</dd>
+</dl></div>
</div>
<h2 id="_see_also">SEE ALSO</h2>
<div class="sectionbody">
@@ -618,7 +627,8 @@ Martin Lucina &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-03-10 12:14:55 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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 <em>transport</em> protocol is not compatible with the socket type
The ØMQ <em>context</em> associated with the specified <em>socket</em> was terminated.
</p>
</dd>
+<dt class="hdlist1">
+<strong>EFAULT</strong>
+</dt>
+<dd>
+<p>
+The provided <em>socket</em> was not valid (NULL).
+</p>
+</dd>
</dl></div>
</div>
<h2 id="_example">EXAMPLE</h2>
@@ -708,7 +716,8 @@ Martin Lucina &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-06-01 21:45:12 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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.</p></div>
<div class="paragraph"><p>Equivalent to calling the <em>zmq_msg_close()</em> function followed by the
corresponding <em>zmq_msg_init()</em> function.</p></div>
<h3 id="_input_output_multiplexing">Input/output multiplexing</h3><div style="clear:left"></div>
+<div class="verseblock">
+<div class="verseblock-content"><strong>int poll (zmq_pollitem_t *items, int nitems, long timeout = -1)</strong></div>
+<div class="verseblock-attribution">
+</div></div>
<div class="paragraph"><p>The <em>poll()</em> function is a namespaced equivalent of the <em>zmq_poll()</em> function,
as described in <a href="zmq_poll.html">zmq_poll(3)</a>.</p></div>
<div class="admonitionblock">
@@ -751,7 +755,8 @@ Martin Lucina &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-06-03 14:36:34 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:12:01 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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 &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-03-10 23:20:13 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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 &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-06-03 14:05:13 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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 &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-03-09 18:26:17 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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 <em>option_name</em> argument for the ØMQ socket pointed to by
<em>socket</em> argument, and store it in the buffer pointed to by the <em>option_value</em>
argument. The <em>option_len</em> argument is the size in bytes of the buffer pointed
to by <em>option_value</em>; upon successful completion <em>zmq_getsockopt()</em> shall
-modify the <em>option_value</em> argument to indicate the actual size of the option
+modify the <em>option_len</em> argument to indicate the actual size of the option
value stored in the buffer.</p></div>
<div class="paragraph"><p>The following options can be retrieved with the <em>zmq_getsockopt()</em> function:</p></div>
<h3 id="_zmq_rcvmore_more_message_parts_to_follow">ZMQ_RCVMORE: More message parts to follow</h3><div style="clear:left"></div>
@@ -667,7 +667,7 @@ Option value type
</td>
<td class="hdlist2">
<p style="margin-top: 0;">
-int64_t
+uint64_t
</p>
</td>
</tr>
@@ -777,7 +777,7 @@ Option value type
</td>
<td class="hdlist2">
<p style="margin-top: 0;">
-int64_t
+uint64_t
</p>
</td>
</tr>
@@ -884,7 +884,7 @@ Option value type
</td>
<td class="hdlist2">
<p style="margin-top: 0;">
-uint64_t
+int64_t
</p>
</td>
</tr>
@@ -935,7 +935,7 @@ Option value type
</td>
<td class="hdlist2">
<p style="margin-top: 0;">
-uint64_t
+int64_t
</p>
</td>
</tr>
@@ -989,7 +989,7 @@ Option value type
</td>
<td class="hdlist2">
<p style="margin-top: 0;">
-uint64_t
+int64_t
</p>
</td>
</tr>
@@ -1157,6 +1157,14 @@ option value.
The ØMQ <em>context</em> associated with the specified <em>socket</em> was terminated.
</p>
</dd>
+<dt class="hdlist1">
+<strong>EFAULT</strong>
+</dt>
+<dd>
+<p>
+The provided <em>socket</em> was not valid (NULL).
+</p>
+</dd>
</dl></div>
</div>
<h2 id="_example">EXAMPLE</h2>
@@ -1166,7 +1174,8 @@ The ØMQ <em>context</em> associated with the specified <em>socket</em> was term
<div class="content">
<pre><tt>/* Retrieve high water mark into hwm */
int64_t hwm;
-rc = zmq_getsockopt (socket, ZMQ_HWM, &amp;hwm, sizeof hwm);
+size_t hwm_size = sizeof (hwm);
+rc = zmq_getsockopt (socket, ZMQ_HWM, &amp;hwm, &amp;hwm_size);
assert (rc == 0);</tt></pre>
</div></div>
</div>
@@ -1185,7 +1194,8 @@ Martin Lucina &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-06-03 14:13:06 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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 &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-06-01 21:45:12 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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 &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-03-09 18:17:50 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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 &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-03-09 18:18:05 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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 &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-03-10 12:15:05 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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 &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-03-10 12:15:08 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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 &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-03-09 18:19:09 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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 &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-05-10 15:24:36 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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 &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-05-10 15:24:36 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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 &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-05-10 15:24:36 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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 &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-03-10 12:15:21 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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 &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-03-09 18:22:32 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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 &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-03-10 23:20:13 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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 <em>items</em> array refers to a <em>socket</
associated ØMQ <em>context</em> was terminated.
</p>
</dd>
+<dt class="hdlist1">
+<strong>EFAULT</strong>
+</dt>
+<dd>
+<p>
+The provided <em>items</em> was not valid (NULL).
+</p>
+</dd>
</dl></div>
</div>
<h2 id="_example">EXAMPLE</h2>
@@ -748,7 +756,8 @@ Martin Lucina &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-06-02 18:35:55 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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 &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-03-09 18:25:38 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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 <em>context</em> associated with the specified <em>socket</em> was terminated.
</p>
</dd>
+<dt class="hdlist1">
+<strong>EFAULT</strong>
+</dt>
+<dd>
+<p>
+The provided <em>socket</em> was not valid (NULL).
+</p>
+</dd>
</dl></div>
</div>
<h2 id="_example">EXAMPLE</h2>
@@ -673,13 +681,15 @@ int rc = zmq_msg_init (&amp;msg);
assert (rc == 0);
/* Block until a message is available to be received from socket */
rc = zmq_recv (socket, &amp;msg, 0);
-assert (rc == 0);</tt></pre>
+assert (rc == 0);
+/* Release message */
+zmq_msg_close (&amp;msg);</tt></pre>
</div></div>
<div class="listingblock">
<div class="title">Receiving a multi-part message</div>
<div class="content">
<pre><tt>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, &amp;more, &amp;more_size);
assert (rc == 0);
+ zmq_msg_close (&amp;part);
} while (more);</tt></pre>
</div></div>
</div>
@@ -710,7 +721,8 @@ Martin Lucina &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-06-02 18:24:18 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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 <em>context</em> associated with the specified <em>socket</em> was terminated.
</p>
</dd>
+<dt class="hdlist1">
+<strong>EFAULT</strong>
+</dt>
+<dd>
+<p>
+The provided <em>context</em> was not valid (NULL).
+</p>
+</dd>
</dl></div>
</div>
<h2 id="_example">EXAMPLE</h2>
@@ -719,7 +727,8 @@ Martin Lucina &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-06-02 16:13:24 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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
</td>
<td class="hdlist2">
<p style="margin-top: 0;">
-int64_t
+uint64_t
</p>
</td>
</tr>
@@ -720,7 +720,7 @@ Option value type
</td>
<td class="hdlist2">
<p style="margin-top: 0;">
-int64_t
+uint64_t
</p>
</td>
</tr>
@@ -934,7 +934,7 @@ Option value type
</td>
<td class="hdlist2">
<p style="margin-top: 0;">
-uint64_t
+int64_t
</p>
</td>
</tr>
@@ -995,7 +995,7 @@ Option value type
</td>
<td class="hdlist2">
<p style="margin-top: 0;">
-uint64_t
+int64_t
</p>
</td>
</tr>
@@ -1049,7 +1049,7 @@ Option value type
</td>
<td class="hdlist2">
<p style="margin-top: 0;">
-uint64_t
+int64_t
</p>
</td>
</tr>
@@ -1215,6 +1215,14 @@ The requested option <em>option_name</em> is unknown, or the requested <em>optio
The ØMQ <em>context</em> associated with the specified <em>socket</em> was terminated.
</p>
</dd>
+<dt class="hdlist1">
+<strong>EFAULT</strong>
+</dt>
+<dd>
+<p>
+The provided <em>socket</em> was not valid (NULL).
+</p>
+</dd>
</dl></div>
</div>
<h2 id="_example">EXAMPLE</h2>
@@ -1261,7 +1269,8 @@ Martin Lucina &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-06-03 14:12:30 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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
</td>
</tr>
</table></div>
+<h4 id="_zmq_xreq">ZMQ_XREQ</h4>
+<div class="paragraph"><p>A socket of type <em>ZMQ_XREQ</em> 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.</p></div>
+<div class="paragraph"><p>When a <em>ZMQ_XREQ</em> 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
+<a href="zmq_send.html">zmq_send(3)</a> operations on the socket shall block until the exceptional
+state ends or at least one peer becomes available for sending; messages are not
+discarded.</p></div>
+<div class="paragraph"><p>When a <em>ZMQ_XREQ</em> socket is connected to a <em>ZMQ_REP</em> socket each message sent
+must consist of an empty message part, the <em>delimiter</em>, followed by one or more
+<em>body parts</em>.</p></div>
+<div class="hdlist"><div class="title">Summary of ZMQ_XREQ characteristics</div><table>
+<tr>
+<td class="hdlist1">
+Compatible peer sockets
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+<em>ZMQ_XREP</em>, <em>ZMQ_REP</em>
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+Direction
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Bidirectional
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+Send/receive pattern
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Unrestricted
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+Outgoing routing strategy
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Load-balanced
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+Incoming routing strategy
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Fair-queued
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+ZMQ_HWM option action
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Block
+</p>
+</td>
+</tr>
+</table></div>
+<h4 id="_zmq_xrep">ZMQ_XREP</h4>
+<div class="paragraph"><p>A socket of type <em>ZMQ_XREP</em> is an advanced pattern used for extending
+request/reply sockets. When receiving messages a <em>ZMQ_XREP</em> socket shall
+prepend a message part containing the <em>identity</em> 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 <em>ZMQ_XREP</em> socket shall
+remove the first part of the message and use it to determine the <em>identity</em> of
+the peer the message shall be routed to.</p></div>
+<div class="paragraph"><p>When a <em>ZMQ_XREP</em> 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.</p></div>
+<div class="paragraph"><p>When a <em>ZMQ_REQ</em> socket is connected to a <em>ZMQ_XREP</em> socket, in addition to the
+<em>identity</em> of the originating peer each message received shall contain an empty
+<em>delimiter</em> message part. Hence, the entire structure of each received message
+as seen by the application becomes: one or more <em>identity</em> parts, <em>delimiter</em>
+part, one or more <em>body parts</em>. When sending replies to a <em>ZMQ_REQ</em> socket the
+application must include the <em>delimiter</em> part.</p></div>
+<div class="hdlist"><div class="title">Summary of ZMQ_XREP characteristics</div><table>
+<tr>
+<td class="hdlist1">
+Compatible peer sockets
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+<em>ZMQ_XREQ</em>, <em>ZMQ_REQ</em>
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+Direction
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Bidirectional
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+Send/receive pattern
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Unrestricted
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+Outgoing routing strategy
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+See text
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+Incoming routing strategy
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Fair-queued
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+ZMQ_HWM option action
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Drop
+</p>
+</td>
+</tr>
+</table></div>
<h3 id="_publish_subscribe_pattern">Publish-subscribe pattern</h3><div style="clear:left"></div>
<div class="paragraph"><p>The publish-subscribe pattern is used for one-to-many distribution of data from
a single <em>publisher</em> to multiple <em>subscribers</em> in a fanout fashion.</p></div>
@@ -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 <em>node</em>. When a pipeline stage is connected to
multiple <em>nodes</em> data is load-balanced among all connected <em>nodes</em>.</p></div>
-<h4 id="_zmq_downstream">ZMQ_DOWNSTREAM</h4>
-<div class="paragraph"><p>A socket of type <em>ZMQ_DOWNSTREAM</em> is used by a pipeline <em>node</em> to send messages
+<h4 id="_zmq_push">ZMQ_PUSH</h4>
+<div class="paragraph"><p>A socket of type <em>ZMQ_PUSH</em> is used by a pipeline <em>node</em> to send messages
to downstream pipeline <em>nodes</em>. Messages are load-balanced to all connected
downstream <em>nodes</em>. The <em>zmq_recv()</em> function is not implemented for this
socket type.</p></div>
-<div class="paragraph"><p>When a <em>ZMQ_DOWNSTREAM</em> socket enters an exceptional state due to having
-reached the high water mark for all downstream <em>nodes</em>, or if there are no
-downstream <em>nodes</em> at all, then any <a href="zmq_send.html">zmq_send(3)</a> operations on the
-socket shall block until the exceptional state ends or at least one downstream
-<em>node</em> becomes available for sending; messages are not discarded.</p></div>
-<div class="hdlist"><div class="title">Summary of ZMQ_DOWNSTREAM characteristics</div><table>
+<div class="paragraph"><p>When a <em>ZMQ_PUSH</em> socket enters an exceptional state due to having reached the
+high water mark for all downstream <em>nodes</em>, or if there are no downstream
+<em>nodes</em> at all, then any <a href="zmq_send.html">zmq_send(3)</a> operations on the socket shall
+block until the exceptional state ends or at least one downstream <em>node</em>
+becomes available for sending; messages are not discarded.</p></div>
+<div class="paragraph"><p>Deprecated alias: <em>ZMQ_DOWNSTREAM</em>.</p></div>
+<div class="hdlist"><div class="title">Summary of ZMQ_PUSH characteristics</div><table>
<tr>
<td class="hdlist1">
Compatible peer sockets
@@ -950,7 +1118,7 @@ Compatible peer sockets
</td>
<td class="hdlist2">
<p style="margin-top: 0;">
-<em>ZMQ_UPSTREAM</em>
+<em>ZMQ_PULL</em>
</p>
</td>
</tr>
@@ -1010,12 +1178,13 @@ Block
</td>
</tr>
</table></div>
-<h4 id="_zmq_upstream">ZMQ_UPSTREAM</h4>
-<div class="paragraph"><p>A socket of type <em>ZMQ_UPSTREAM</em> is used by a pipeline <em>node</em> to receive
-messages from upstream pipeline <em>nodes</em>. Messages are fair-queued from among
-all connected upstream <em>nodes</em>. The <em>zmq_send()</em> function is not implemented
-for this socket type.</p></div>
-<div class="hdlist"><div class="title">Summary of ZMQ_UPSTREAM characteristics</div><table>
+<h4 id="_zmq_pull">ZMQ_PULL</h4>
+<div class="paragraph"><p>A socket of type <em>ZMQ_PULL</em> is used by a pipeline <em>node</em> to receive messages
+from upstream pipeline <em>nodes</em>. Messages are fair-queued from among all
+connected upstream <em>nodes</em>. The <em>zmq_send()</em> function is not implemented for
+this socket type.</p></div>
+<div class="paragraph"><p>Deprecated alias: <em>ZMQ_UPSTREAM</em>.</p></div>
+<div class="hdlist"><div class="title">Summary of ZMQ_PULL characteristics</div><table>
<tr>
<td class="hdlist1">
Compatible peer sockets
@@ -1023,7 +1192,7 @@ Compatible peer sockets
</td>
<td class="hdlist2">
<p style="margin-top: 0;">
-<em>ZMQ_DOWNSTREAM</em>
+<em>ZMQ_PUSH</em>
</p>
</td>
</tr>
@@ -1197,6 +1366,14 @@ The requested socket <em>type</em> is invalid.
The maximum number of sockets within this <em>context</em> has been exceeded.
</p>
</dd>
+<dt class="hdlist1">
+<strong>EFAULT</strong>
+</dt>
+<dd>
+<p>
+The provided <em>context</em> was not valid (NULL).
+</p>
+</dd>
</dl></div>
</div>
<h2 id="_see_also">SEE ALSO</h2>
@@ -1218,7 +1395,8 @@ Martin Lucina &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-06-02 18:30:09 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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 &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-03-09 18:28:28 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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 &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-03-09 18:28:58 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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.</p></div>
<div class="ulist"><ul>
<li>
<p>
-The interface name as defined by the operating system.
+The wildcard <tt>*</tt>, meaning all available interfaces.
</p>
</li>
<li>
<p>
-The primary IPv4 address assigned to the interface, in it&#8217;s numeric representation.
+The primary IPv4 address assigned to the interface, in its numeric
+ representation.
</p>
</li>
<li>
<p>
-The wildcard <tt>*</tt>, meaning that the interface address is unspecified.
+The interface name as defined by the operating system.
</p>
</li>
</ul></div>
@@ -707,14 +708,14 @@ exceeding 254 octets:</p></div>
<div class="listingblock">
<div class="title">Assigning a local address to a socket</div>
<div class="content">
-<pre><tt>/* TCP port 5555 on the local loopback interface on all platforms */
+<pre><tt>/* 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);</tt></pre>
</div></div>
<div class="listingblock">
@@ -746,7 +747,8 @@ Martin Lucina &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-06-04 13:49:16 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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 <tt>-1</tt> and set <em>errno</em> to one of the values defined below.</p
</div>
<h2 id="_errors">ERRORS</h2>
<div class="sectionbody">
-<div class="paragraph"><p>No errors are defined.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>EFAULT</strong>
+</dt>
+<dd>
+<p>
+The provided <em>context</em> was not valid (NULL).
+</p>
+</dd>
+</dl></div>
</div>
<h2 id="_see_also">SEE ALSO</h2>
<div class="sectionbody">
@@ -641,7 +650,8 @@ Martin Lucina &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-06-01 22:19:51 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
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 <http://docbook.sf.net/>
-.\" 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 &lt;<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>&gt;.</p><
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-03-09 18:33:11 CEST
+ØMQ 2.0.9<br />
+Last updated 2010-09-06 07:11:47 CEST
</div>
</div>
</body>
diff --git a/foreign/openpgm/libpgm-2.1.26.tar.gz b/foreign/openpgm/libpgm-2.1.26.tar.gz
index 2e09df8..03887e4 100644
--- a/foreign/openpgm/libpgm-2.1.26.tar.gz
+++ b/foreign/openpgm/libpgm-2.1.26.tar.gz
Binary files 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/perf/helpers.h b/include/zmq_utils.h
index b790f59..5b78e10 100644
--- a/perf/helpers.h
+++ b/include/zmq_utils.h
@@ -17,24 +17,41 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef __HELPERS_H_INCLUDED__
-#define __HELPERS_H_INCLUDED__
+#ifndef __ZMQ_UTILS_H_INCLUDED__
+#define __ZMQ_UTILS_H_INCLUDED__
-/******************************************************************************/
-/* Helper functions. */
-/******************************************************************************/
+#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. */
-void *stopwatch_start ();
+ZMQ_EXPORT void *zmq_stopwatch_start ();
/* Stops the stopwatch. Returns the number of microseconds elapsed since */
/* the stopwatch was started. */
-unsigned long stopwatch_stop (void *watch_);
+ZMQ_EXPORT unsigned long zmq_stopwatch_stop (void *watch_);
/* Sleeps for specified number of seconds. */
-void perf_sleep (int 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 <http://www.gnu.org/licenses/>.
-*/
-
-#include <assert.h>
-#include <stdlib.h>
-#ifdef _WIN32
-# include "../src/windows.hpp"
-#else
-# include <sys/time.h>
-# include <unistd.h>
-#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/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 <stdio.h>
#include <stdlib.h>
-#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 <stdio.h>
#include <stdlib.h>
-#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 <stdio.h>
#include <stdlib.h>
#include <string.h>
-#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 <stdio.h>
#include <stdlib.h>
-#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/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 <http://www.gnu.org/licenses/>.
+*/
+
+#include "platform.hpp"
+
+#ifdef ZMQ_HAVE_WINDOWS
+#include "windows.hpp"
+#include <io.h>
+#else
+#include <unistd.h>
+#endif
+
+#include "../include/zmq.h"
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <string.h>
+#include <sstream>
+#include <algorithm>
+
+#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 <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef __ZMQ_MSG_STORE_HPP_INCLUDED__
+#define __ZMQ_MSG_STORE_HPP_INCLUDED__
+
+#include "../include/zmq.h"
+
+#include <string>
+#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 <inttypes.h> 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/upstream.cpp b/src/pull.cpp
index 1498c31..b2413ee 100644
--- a/src/upstream.cpp
+++ b/src/pull.cpp
@@ -19,55 +19,55 @@
#include "../include/zmq.h"
-#include "upstream.hpp"
+#include "pull.hpp"
#include "err.hpp"
-zmq::upstream_t::upstream_t (class app_thread_t *parent_) :
+zmq::pull_t::pull_t (class app_thread_t *parent_) :
socket_base_t (parent_)
{
options.requires_in = true;
options.requires_out = false;
}
-zmq::upstream_t::~upstream_t ()
+zmq::pull_t::~pull_t ()
{
}
-void zmq::upstream_t::xattach_pipes (class reader_t *inpipe_,
+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::upstream_t::xdetach_inpipe (class reader_t *pipe_)
+void zmq::pull_t::xdetach_inpipe (class reader_t *pipe_)
{
zmq_assert (pipe_);
fq.detach (pipe_);
}
-void zmq::upstream_t::xdetach_outpipe (class writer_t *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::upstream_t::xkill (class reader_t *pipe_)
+void zmq::pull_t::xkill (class reader_t *pipe_)
{
fq.kill (pipe_);
}
-void zmq::upstream_t::xrevive (class reader_t *pipe_)
+void zmq::pull_t::xrevive (class reader_t *pipe_)
{
fq.revive (pipe_);
}
-void zmq::upstream_t::xrevive (class writer_t *pipe_)
+void zmq::pull_t::xrevive (class writer_t *pipe_)
{
zmq_assert (false);
}
-int zmq::upstream_t::xsetsockopt (int option_, const void *optval_,
+int zmq::pull_t::xsetsockopt (int option_, const void *optval_,
size_t optvallen_)
{
// No special options for this socket type.
@@ -75,23 +75,23 @@ int zmq::upstream_t::xsetsockopt (int option_, const void *optval_,
return -1;
}
-int zmq::upstream_t::xsend (zmq_msg_t *msg_, int flags_)
+int zmq::pull_t::xsend (zmq_msg_t *msg_, int flags_)
{
errno = ENOTSUP;
return -1;
}
-int zmq::upstream_t::xrecv (zmq_msg_t *msg_, int flags_)
+int zmq::pull_t::xrecv (zmq_msg_t *msg_, int flags_)
{
return fq.recv (msg_, flags_);
}
-bool zmq::upstream_t::xhas_in ()
+bool zmq::pull_t::xhas_in ()
{
return fq.has_in ();
}
-bool zmq::upstream_t::xhas_out ()
+bool zmq::pull_t::xhas_out ()
{
return false;
}
diff --git a/src/upstream.hpp b/src/pull.hpp
index 5fe42ae..7f249e9 100644
--- a/src/upstream.hpp
+++ b/src/pull.hpp
@@ -17,8 +17,8 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef __ZMQ_UPSTREAM_HPP_INCLUDED__
-#define __ZMQ_UPSTREAM_HPP_INCLUDED__
+#ifndef __ZMQ_PULL_HPP_INCLUDED__
+#define __ZMQ_PULL_HPP_INCLUDED__
#include "socket_base.hpp"
#include "fq.hpp"
@@ -26,12 +26,12 @@
namespace zmq
{
- class upstream_t : public socket_base_t
+ class pull_t : public socket_base_t
{
public:
- upstream_t (class app_thread_t *parent_);
- ~upstream_t ();
+ 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_,
@@ -52,8 +52,8 @@ namespace zmq
// Fair queueing object for inbound pipes.
fq_t fq;
- upstream_t (const upstream_t&);
- void operator = (const upstream_t&);
+ pull_t (const pull_t&);
+ void operator = (const pull_t&);
};
diff --git a/src/downstream.cpp b/src/push.cpp
index 4074a9e..522101f 100644
--- a/src/downstream.cpp
+++ b/src/push.cpp
@@ -19,58 +19,58 @@
#include "../include/zmq.h"
-#include "downstream.hpp"
+#include "push.hpp"
#include "err.hpp"
#include "pipe.hpp"
-zmq::downstream_t::downstream_t (class app_thread_t *parent_) :
+zmq::push_t::push_t (class app_thread_t *parent_) :
socket_base_t (parent_)
{
options.requires_in = false;
options.requires_out = true;
}
-zmq::downstream_t::~downstream_t ()
+zmq::push_t::~push_t ()
{
}
-void zmq::downstream_t::xattach_pipes (class reader_t *inpipe_,
+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::downstream_t::xdetach_inpipe (class reader_t *pipe_)
+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::downstream_t::xdetach_outpipe (class writer_t *pipe_)
+void zmq::push_t::xdetach_outpipe (class writer_t *pipe_)
{
zmq_assert (pipe_);
lb.detach (pipe_);
}
-void zmq::downstream_t::xkill (class reader_t *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::downstream_t::xrevive (class reader_t *pipe_)
+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::downstream_t::xrevive (class writer_t *pipe_)
+void zmq::push_t::xrevive (class writer_t *pipe_)
{
lb.revive (pipe_);
}
-int zmq::downstream_t::xsetsockopt (int option_, const void *optval_,
+int zmq::push_t::xsetsockopt (int option_, const void *optval_,
size_t optvallen_)
{
// No special option for this socket type.
@@ -78,23 +78,23 @@ int zmq::downstream_t::xsetsockopt (int option_, const void *optval_,
return -1;
}
-int zmq::downstream_t::xsend (zmq_msg_t *msg_, int flags_)
+int zmq::push_t::xsend (zmq_msg_t *msg_, int flags_)
{
return lb.send (msg_, flags_);
}
-int zmq::downstream_t::xrecv (zmq_msg_t *msg_, int flags_)
+int zmq::push_t::xrecv (zmq_msg_t *msg_, int flags_)
{
errno = ENOTSUP;
return -1;
}
-bool zmq::downstream_t::xhas_in ()
+bool zmq::push_t::xhas_in ()
{
return false;
}
-bool zmq::downstream_t::xhas_out ()
+bool zmq::push_t::xhas_out ()
{
return lb.has_out ();
}
diff --git a/src/downstream.hpp b/src/push.hpp
index 1306743..b3c8d87 100644
--- a/src/downstream.hpp
+++ b/src/push.hpp
@@ -17,8 +17,8 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef __ZMQ_DOWNSTREAM_HPP_INCLUDED__
-#define __ZMQ_DOWNSTREAM_HPP_INCLUDED__
+#ifndef __ZMQ_PUSH_HPP_INCLUDED__
+#define __ZMQ_PUSH_HPP_INCLUDED__
#include "socket_base.hpp"
#include "lb.hpp"
@@ -26,12 +26,12 @@
namespace zmq
{
- class downstream_t : public socket_base_t
+ class push_t : public socket_base_t
{
public:
- downstream_t (class app_thread_t *parent_);
- ~downstream_t ();
+ 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_,
@@ -52,8 +52,8 @@ namespace zmq
// Load balancer managing the outbound pipes.
lb_t lb;
- downstream_t (const downstream_t&);
- void operator = (const downstream_t&);
+ push_t (const push_t&);
+ void operator = (const push_t&);
};
}
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/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 <string.h>
#include <errno.h>
@@ -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