libzmq 0.0.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/libzmq/Makefile +2 -2
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/AUTHORS +3 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/COPYING +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/COPYING.LESSER +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/ChangeLog +663 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/INSTALL +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/MAINTAINERS +7 -7
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/Makefile.am +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/Makefile.in +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/NEWS +68 -21
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/README +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/acinclude.m4 +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/aclocal.m4 +2 -2
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/autogen.sh +4 -4
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/builds/msvc/Makefile.am +3 -1
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/builds/msvc/Makefile.in +3 -1
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/builds/msvc/c_local_lat/c_local_lat.vcproj +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/builds/msvc/c_local_thr/c_local_thr.vcproj +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/builds/msvc/c_remote_lat/c_remote_lat.vcproj +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/builds/msvc/c_remote_thr/c_remote_thr.vcproj +0 -0
- data/libzmq/zeromq-2.1.9/builds/msvc/inproc_lat/inproc_lat.vcproj +174 -0
- data/libzmq/zeromq-2.1.9/builds/msvc/inproc_thr/inproc_thr.vcproj +174 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/builds/msvc/libzmq/libzmq.vcproj +4 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/builds/msvc/msvc.sln +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/builds/msvc/platform.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/builds/redhat/zeromq.spec.in +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/config/compile +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/config/config.guess +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/config/config.sub +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/config/depcomp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/config/install-sh +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/config/libtool.m4 +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/config/ltmain.sh +2 -2
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/config/ltoptions.m4 +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/config/ltsugar.m4 +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/config/ltversion.m4 +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/config/lt~obsolete.m4 +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/config/missing +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/configure +18 -10
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/configure.in +6 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/Makefile.am +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/Makefile.in +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/asciidoc.conf +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq.7 +3 -3
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq.html +86 -72
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq.txt +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_bind.3 +8 -3
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_bind.html +67 -65
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_bind.txt +2 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_close.3 +3 -3
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_close.html +57 -65
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_close.txt +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_connect.3 +8 -3
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_connect.html +67 -65
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_connect.txt +2 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_cpp.7 +3 -3
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_cpp.html +127 -109
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_cpp.txt +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_device.3 +3 -3
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_device.html +67 -65
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_device.txt +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_epgm.7 +5 -5
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_epgm.html +67 -69
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_epgm.txt +2 -2
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_errno.3 +3 -3
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_errno.html +57 -65
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_errno.txt +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_getsockopt.3 +4 -4
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_getsockopt.html +114 -84
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_getsockopt.txt +1 -1
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_init.3 +3 -3
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_init.html +57 -65
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_init.txt +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_inproc.7 +3 -3
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_inproc.html +63 -67
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_inproc.txt +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_ipc.7 +3 -3
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_ipc.html +63 -67
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_ipc.txt +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_msg_close.3 +3 -3
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_msg_close.html +56 -64
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_msg_close.txt +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_msg_copy.3 +3 -3
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_msg_copy.html +56 -64
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_msg_copy.txt +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_msg_data.3 +3 -3
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_msg_data.html +57 -65
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_msg_data.txt +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_msg_init.3 +3 -3
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_msg_init.html +59 -65
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_msg_init.txt +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_msg_init_data.3 +3 -3
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_msg_init_data.html +59 -65
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_msg_init_data.txt +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_msg_init_size.3 +3 -3
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_msg_init_size.html +57 -65
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_msg_init_size.txt +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_msg_move.3 +3 -3
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_msg_move.html +56 -64
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_msg_move.txt +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_msg_size.3 +4 -4
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_msg_size.html +58 -66
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_msg_size.txt +1 -1
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_pgm.7 +5 -5
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_pgm.html +67 -69
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_pgm.txt +2 -2
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_poll.3 +3 -3
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_poll.html +59 -65
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_poll.txt +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_recv.3 +3 -3
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_recv.html +62 -66
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_recv.txt +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_send.3 +3 -3
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_send.html +62 -66
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_send.txt +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_setsockopt.3 +4 -4
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_setsockopt.html +108 -82
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_setsockopt.txt +1 -1
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_socket.3 +5 -5
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_socket.html +89 -71
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_socket.txt +2 -2
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_strerror.3 +3 -3
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_strerror.html +59 -65
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_strerror.txt +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_tcp.7 +4 -4
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_tcp.html +64 -68
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_tcp.txt +1 -1
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_term.3 +3 -3
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_term.html +57 -65
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_term.txt +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_version.3 +3 -3
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_version.html +59 -65
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/doc/zmq_version.txt +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/foreign/openpgm/Makefile.am +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/foreign/openpgm/Makefile.in +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/foreign/openpgm/libpgm-5.1.115~dfsg.tar.gz +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/foreign/xmlParser/xmlParser.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/foreign/xmlParser/xmlParser.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/include/zmq.h +2 -2
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/include/zmq.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/include/zmq_utils.h +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/perf/Makefile.am +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/perf/Makefile.in +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/perf/inproc_lat.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/perf/inproc_thr.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/perf/local_lat.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/perf/local_thr.cpp +1 -1
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/perf/remote_lat.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/perf/remote_thr.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/Makefile.am +2 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/Makefile.in +20 -8
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/array.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/atomic_counter.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/atomic_ptr.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/blob.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/clock.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/clock.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/command.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/command.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/config.hpp +7 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/connect_session.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/connect_session.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/ctx.cpp +8 -6
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/ctx.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/decoder.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/decoder.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/device.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/device.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/devpoll.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/devpoll.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/dist.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/dist.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/encoder.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/encoder.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/epoll.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/epoll.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/err.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/err.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/fd.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/fq.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/fq.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/i_engine.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/i_inout.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/i_poll_events.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/io_object.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/io_object.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/io_thread.cpp +1 -1
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/io_thread.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/ip.cpp +10 -10
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/ip.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/kqueue.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/kqueue.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/lb.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/lb.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/libzmq.pc.in +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/likely.hpp +0 -0
- data/libzmq/zeromq-2.1.9/src/mailbox.cpp +82 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/mailbox.hpp +19 -7
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/msg_content.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/mutex.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/named_session.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/named_session.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/object.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/object.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/options.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/options.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/own.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/own.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/pair.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/pair.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/pgm_receiver.cpp +2 -2
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/pgm_receiver.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/pgm_sender.cpp +4 -4
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/pgm_sender.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/pgm_socket.cpp +4 -4
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/pgm_socket.hpp +4 -3
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/pipe.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/pipe.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/platform.hpp.in +3 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/poll.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/poll.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/poller.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/poller_base.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/poller_base.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/pub.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/pub.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/pull.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/pull.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/push.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/push.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/reaper.cpp +1 -1
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/reaper.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/rep.cpp +1 -1
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/rep.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/req.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/req.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/select.cpp +5 -4
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/select.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/semaphore.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/session.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/session.hpp +0 -0
- data/libzmq/{zeromq-2.1.7/src/mailbox.cpp → zeromq-2.1.9/src/signaler.cpp} +135 -173
- data/libzmq/zeromq-2.1.9/src/signaler.hpp +63 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/socket_base.cpp +58 -21
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/socket_base.hpp +3 -3
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/stdint.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/sub.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/sub.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/swap.cpp +3 -5
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/swap.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/tcp_connecter.cpp +2 -1
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/tcp_connecter.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/tcp_listener.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/tcp_listener.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/tcp_socket.cpp +5 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/tcp_socket.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/thread.cpp +9 -7
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/thread.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/transient_session.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/transient_session.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/trie.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/trie.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/uuid.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/uuid.hpp +0 -0
- data/libzmq/zeromq-2.1.9/src/windows.hpp +177 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/wire.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/xpub.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/xpub.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/xrep.cpp +0 -4
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/xrep.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/xreq.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/xreq.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/xsub.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/xsub.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/ypipe.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/yqueue.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/zmq.cpp +17 -7
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/zmq_connecter.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/zmq_connecter.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/zmq_engine.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/zmq_engine.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/zmq_init.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/zmq_init.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/zmq_listener.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/src/zmq_listener.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/tests/Makefile.am +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/tests/Makefile.in +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/tests/test_hwm.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/tests/test_pair_inproc.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/tests/test_pair_ipc.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/tests/test_pair_tcp.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/tests/test_reqrep_inproc.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/tests/test_reqrep_ipc.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/tests/test_reqrep_tcp.cpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/tests/test_shutdown_stress.cpp +1 -1
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/tests/testutil.hpp +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/version.sh +0 -0
- data/libzmq/{zeromq-2.1.7 → zeromq-2.1.9}/zeromq.spec +1 -1
- metadata +299 -295
- data/libzmq/zeromq-2.1.7/src/windows.hpp +0 -79
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -28,7 +28,7 @@ extern "C" {
|
|
|
28
28
|
#include <errno.h>
|
|
29
29
|
#include <stddef.h>
|
|
30
30
|
#if defined _WIN32
|
|
31
|
-
#include
|
|
31
|
+
#include <winsock2.h>
|
|
32
32
|
#endif
|
|
33
33
|
|
|
34
34
|
/* Handle DSO symbol visibility */
|
|
@@ -55,7 +55,7 @@ extern "C" {
|
|
|
55
55
|
/* Version macros for compile-time API version detection */
|
|
56
56
|
#define ZMQ_VERSION_MAJOR 2
|
|
57
57
|
#define ZMQ_VERSION_MINOR 1
|
|
58
|
-
#define ZMQ_VERSION_PATCH
|
|
58
|
+
#define ZMQ_VERSION_PATCH 9
|
|
59
59
|
|
|
60
60
|
#define ZMQ_MAKE_VERSION(major, minor, patch) \
|
|
61
61
|
((major) * 10000 + (minor) * 100 + (patch))
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -115,7 +115,7 @@ int main (int argc, char *argv [])
|
|
|
115
115
|
|
|
116
116
|
throughput = (unsigned long)
|
|
117
117
|
((double) message_count / (double) elapsed * 1000000);
|
|
118
|
-
megabits = (double) (throughput * message_size * 8) / 1000000;
|
|
118
|
+
megabits = (double) ((double) throughput * message_size * 8) / 1000000;
|
|
119
119
|
|
|
120
120
|
printf ("message size: %d [B]\n", (int) message_size);
|
|
121
121
|
printf ("message count: %d\n", (int) message_count);
|
|
File without changes
|
|
File without changes
|
|
@@ -58,6 +58,7 @@ libzmq_la_SOURCES = \
|
|
|
58
58
|
select.hpp \
|
|
59
59
|
semaphore.hpp \
|
|
60
60
|
session.hpp \
|
|
61
|
+
signaler.hpp \
|
|
61
62
|
socket_base.hpp \
|
|
62
63
|
stdint.hpp \
|
|
63
64
|
sub.hpp \
|
|
@@ -118,6 +119,7 @@ libzmq_la_SOURCES = \
|
|
|
118
119
|
req.cpp \
|
|
119
120
|
select.cpp \
|
|
120
121
|
session.cpp \
|
|
122
|
+
signaler.cpp \
|
|
121
123
|
socket_base.cpp \
|
|
122
124
|
sub.cpp \
|
|
123
125
|
swap.cpp \
|
|
@@ -93,14 +93,15 @@ am_libzmq_la_OBJECTS = libzmq_la-clock.lo libzmq_la-command.lo \
|
|
|
93
93
|
libzmq_la-poller_base.lo libzmq_la-pull.lo libzmq_la-push.lo \
|
|
94
94
|
libzmq_la-reaper.lo libzmq_la-pub.lo libzmq_la-rep.lo \
|
|
95
95
|
libzmq_la-req.lo libzmq_la-select.lo libzmq_la-session.lo \
|
|
96
|
-
libzmq_la-
|
|
97
|
-
libzmq_la-
|
|
98
|
-
libzmq_la-
|
|
99
|
-
libzmq_la-
|
|
100
|
-
libzmq_la-
|
|
101
|
-
libzmq_la-
|
|
102
|
-
libzmq_la-
|
|
103
|
-
libzmq_la-
|
|
96
|
+
libzmq_la-signaler.lo libzmq_la-socket_base.lo \
|
|
97
|
+
libzmq_la-sub.lo libzmq_la-swap.lo libzmq_la-tcp_connecter.lo \
|
|
98
|
+
libzmq_la-tcp_listener.lo libzmq_la-tcp_socket.lo \
|
|
99
|
+
libzmq_la-thread.lo libzmq_la-transient_session.lo \
|
|
100
|
+
libzmq_la-trie.lo libzmq_la-uuid.lo libzmq_la-xpub.lo \
|
|
101
|
+
libzmq_la-xrep.lo libzmq_la-xreq.lo libzmq_la-xsub.lo \
|
|
102
|
+
libzmq_la-zmq.lo libzmq_la-zmq_connecter.lo \
|
|
103
|
+
libzmq_la-zmq_engine.lo libzmq_la-zmq_init.lo \
|
|
104
|
+
libzmq_la-zmq_listener.lo
|
|
104
105
|
libzmq_la_OBJECTS = $(am_libzmq_la_OBJECTS)
|
|
105
106
|
AM_V_lt = $(am__v_lt_$(V))
|
|
106
107
|
am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
|
|
@@ -350,6 +351,7 @@ libzmq_la_SOURCES = \
|
|
|
350
351
|
select.hpp \
|
|
351
352
|
semaphore.hpp \
|
|
352
353
|
session.hpp \
|
|
354
|
+
signaler.hpp \
|
|
353
355
|
socket_base.hpp \
|
|
354
356
|
stdint.hpp \
|
|
355
357
|
sub.hpp \
|
|
@@ -410,6 +412,7 @@ libzmq_la_SOURCES = \
|
|
|
410
412
|
req.cpp \
|
|
411
413
|
select.cpp \
|
|
412
414
|
session.cpp \
|
|
415
|
+
signaler.cpp \
|
|
413
416
|
socket_base.cpp \
|
|
414
417
|
sub.cpp \
|
|
415
418
|
swap.cpp \
|
|
@@ -566,6 +569,7 @@ distclean-compile:
|
|
|
566
569
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-req.Plo@am__quote@
|
|
567
570
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-select.Plo@am__quote@
|
|
568
571
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-session.Plo@am__quote@
|
|
572
|
+
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-signaler.Plo@am__quote@
|
|
569
573
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-socket_base.Plo@am__quote@
|
|
570
574
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-sub.Plo@am__quote@
|
|
571
575
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libzmq_la-swap.Plo@am__quote@
|
|
@@ -906,6 +910,14 @@ libzmq_la-session.lo: session.cpp
|
|
|
906
910
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
907
911
|
@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libzmq_la_CPPFLAGS) $(CPPFLAGS) $(libzmq_la_CXXFLAGS) $(CXXFLAGS) -c -o libzmq_la-session.lo `test -f 'session.cpp' || echo '$(srcdir)/'`session.cpp
|
|
908
912
|
|
|
913
|
+
libzmq_la-signaler.lo: signaler.cpp
|
|
914
|
+
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libzmq_la_CPPFLAGS) $(CPPFLAGS) $(libzmq_la_CXXFLAGS) $(CXXFLAGS) -MT libzmq_la-signaler.lo -MD -MP -MF $(DEPDIR)/libzmq_la-signaler.Tpo -c -o libzmq_la-signaler.lo `test -f 'signaler.cpp' || echo '$(srcdir)/'`signaler.cpp
|
|
915
|
+
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libzmq_la-signaler.Tpo $(DEPDIR)/libzmq_la-signaler.Plo
|
|
916
|
+
@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
|
|
917
|
+
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='signaler.cpp' object='libzmq_la-signaler.lo' libtool=yes @AMDEPBACKSLASH@
|
|
918
|
+
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
919
|
+
@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libzmq_la_CPPFLAGS) $(CPPFLAGS) $(libzmq_la_CXXFLAGS) $(CXXFLAGS) -c -o libzmq_la-signaler.lo `test -f 'signaler.cpp' || echo '$(srcdir)/'`signaler.cpp
|
|
920
|
+
|
|
909
921
|
libzmq_la-socket_base.lo: socket_base.cpp
|
|
910
922
|
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libzmq_la_CPPFLAGS) $(CPPFLAGS) $(libzmq_la_CXXFLAGS) $(CXXFLAGS) -MT libzmq_la-socket_base.lo -MD -MP -MF $(DEPDIR)/libzmq_la-socket_base.Tpo -c -o libzmq_la-socket_base.lo `test -f 'socket_base.cpp' || echo '$(srcdir)/'`socket_base.cpp
|
|
911
923
|
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libzmq_la-socket_base.Tpo $(DEPDIR)/libzmq_la-socket_base.Plo
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -36,6 +36,13 @@ namespace zmq
|
|
|
36
36
|
// memory allocation by approximately 99.6%
|
|
37
37
|
message_pipe_granularity = 256,
|
|
38
38
|
|
|
39
|
+
// Commands in pipe per allocation event.
|
|
40
|
+
command_pipe_granularity = 16,
|
|
41
|
+
|
|
42
|
+
// Size in bytes of the largest message that is still copied around
|
|
43
|
+
// rather than being reference-counted.
|
|
44
|
+
max_vsm_size = 29,
|
|
45
|
+
|
|
39
46
|
// Determines how often does socket poll for new commands when it
|
|
40
47
|
// still has unprocessed messages to handle. Thus, if it is set to 100,
|
|
41
48
|
// socket will process 100 inbound messages before doing the poll.
|
|
File without changes
|
|
File without changes
|
|
@@ -18,21 +18,23 @@
|
|
|
18
18
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
|
+
#include "platform.hpp"
|
|
22
|
+
#if defined ZMQ_HAVE_WINDOWS
|
|
23
|
+
#include "windows.hpp"
|
|
24
|
+
#endif
|
|
25
|
+
|
|
21
26
|
#include <new>
|
|
22
27
|
#include <string.h>
|
|
23
28
|
|
|
24
29
|
#include "ctx.hpp"
|
|
25
30
|
#include "socket_base.hpp"
|
|
26
31
|
#include "io_thread.hpp"
|
|
27
|
-
#include "platform.hpp"
|
|
28
32
|
#include "reaper.hpp"
|
|
29
33
|
#include "err.hpp"
|
|
30
34
|
#include "pipe.hpp"
|
|
31
35
|
|
|
32
|
-
#if defined ZMQ_HAVE_WINDOWS
|
|
33
|
-
#include
|
|
34
|
-
#else
|
|
35
|
-
#include "unistd.h"
|
|
36
|
+
#if !defined ZMQ_HAVE_WINDOWS
|
|
37
|
+
#include <unistd.h>
|
|
36
38
|
#endif
|
|
37
39
|
|
|
38
40
|
zmq::ctx_t::ctx_t (uint32_t io_threads_) :
|
|
@@ -141,7 +143,7 @@ int zmq::ctx_t::terminate ()
|
|
|
141
143
|
|
|
142
144
|
// Wait till reaper thread closes all the sockets.
|
|
143
145
|
command_t cmd;
|
|
144
|
-
int rc = term_mailbox.recv (&cmd,
|
|
146
|
+
int rc = term_mailbox.recv (&cmd, -1);
|
|
145
147
|
if (rc == -1 && errno == EINTR)
|
|
146
148
|
return -1;
|
|
147
149
|
zmq_assert (rc == 0);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -72,7 +72,7 @@ void zmq::io_thread_t::in_event ()
|
|
|
72
72
|
|
|
73
73
|
// Get the next command. If there is none, exit.
|
|
74
74
|
command_t cmd;
|
|
75
|
-
int rc = mailbox.recv (&cmd,
|
|
75
|
+
int rc = mailbox.recv (&cmd, 0);
|
|
76
76
|
if (rc != 0 && errno == EINTR)
|
|
77
77
|
continue;
|
|
78
78
|
if (rc != 0 && errno == EAGAIN)
|
|
File without changes
|
|
@@ -54,7 +54,7 @@ static int resolve_nic_name (in_addr* addr_, char const *interface_)
|
|
|
54
54
|
size_t ifr_size = sizeof (struct lifreq) * ifn.lifn_count;
|
|
55
55
|
char *ifr = (char*) malloc (ifr_size);
|
|
56
56
|
alloc_assert (ifr);
|
|
57
|
-
|
|
57
|
+
|
|
58
58
|
// Retrieve interface names.
|
|
59
59
|
lifconf ifc;
|
|
60
60
|
ifc.lifc_family = AF_UNSPEC;
|
|
@@ -92,7 +92,7 @@ static int resolve_nic_name (in_addr* addr_, char const *interface_)
|
|
|
92
92
|
return 0;
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
#elif defined ZMQ_HAVE_AIX || ZMQ_HAVE_HPUX
|
|
95
|
+
#elif defined ZMQ_HAVE_AIX || ZMQ_HAVE_HPUX || ZMQ_HAVE_ANDROID
|
|
96
96
|
|
|
97
97
|
#include <sys/types.h>
|
|
98
98
|
#include <unistd.h>
|
|
@@ -105,7 +105,7 @@ static int resolve_nic_name (in_addr* addr_, char const *interface_)
|
|
|
105
105
|
int sd = socket (AF_INET, SOCK_DGRAM, 0);
|
|
106
106
|
zmq_assert (sd != -1);
|
|
107
107
|
|
|
108
|
-
struct ifreq ifr;
|
|
108
|
+
struct ifreq ifr;
|
|
109
109
|
|
|
110
110
|
// Copy interface name for ioctl get.
|
|
111
111
|
strncpy (ifr.ifr_name, interface_, sizeof (ifr.ifr_name));
|
|
@@ -123,7 +123,7 @@ static int resolve_nic_name (in_addr* addr_, char const *interface_)
|
|
|
123
123
|
|
|
124
124
|
struct sockaddr *sa = (struct sockaddr *) &ifr.ifr_addr;
|
|
125
125
|
*addr_ = ((sockaddr_in*)sa)->sin_addr;
|
|
126
|
-
return 0;
|
|
126
|
+
return 0;
|
|
127
127
|
}
|
|
128
128
|
|
|
129
129
|
#elif ((defined ZMQ_HAVE_LINUX || defined ZMQ_HAVE_FREEBSD ||\
|
|
@@ -140,14 +140,14 @@ static int resolve_nic_name (in_addr* addr_, char const *interface_)
|
|
|
140
140
|
// Get the addresses.
|
|
141
141
|
ifaddrs* ifa = NULL;
|
|
142
142
|
int rc = getifaddrs (&ifa);
|
|
143
|
-
zmq_assert (rc == 0);
|
|
143
|
+
zmq_assert (rc == 0);
|
|
144
144
|
zmq_assert (ifa != NULL);
|
|
145
145
|
|
|
146
146
|
// Find the corresponding network interface.
|
|
147
147
|
bool found = false;
|
|
148
148
|
for (ifaddrs *ifp = ifa; ifp != NULL ;ifp = ifp->ifa_next)
|
|
149
|
-
if (ifp->ifa_addr && ifp->ifa_addr->sa_family == AF_INET
|
|
150
|
-
&& !strcmp (interface_, ifp->ifa_name))
|
|
149
|
+
if (ifp->ifa_addr && ifp->ifa_addr->sa_family == AF_INET
|
|
150
|
+
&& !strcmp (interface_, ifp->ifa_name))
|
|
151
151
|
{
|
|
152
152
|
*addr_ = ((sockaddr_in*) ifp->ifa_addr)->sin_addr;
|
|
153
153
|
found = true;
|
|
@@ -294,7 +294,7 @@ int zmq::resolve_ip_hostname (sockaddr_storage *addr_, socklen_t *addr_len_,
|
|
|
294
294
|
// Need to choose one to avoid duplicate results from getaddrinfo() - this
|
|
295
295
|
// doesn't really matter, since it's not included in the addr-output.
|
|
296
296
|
req.ai_socktype = SOCK_STREAM;
|
|
297
|
-
|
|
297
|
+
|
|
298
298
|
// Avoid named services due to unclear socktype.
|
|
299
299
|
req.ai_flags = AI_NUMERICSERV;
|
|
300
300
|
|
|
@@ -311,9 +311,9 @@ int zmq::resolve_ip_hostname (sockaddr_storage *addr_, socklen_t *addr_len_,
|
|
|
311
311
|
zmq_assert ((size_t) (res->ai_addrlen) <= sizeof (*addr_));
|
|
312
312
|
memcpy (addr_, res->ai_addr, res->ai_addrlen);
|
|
313
313
|
*addr_len_ = res->ai_addrlen;
|
|
314
|
-
|
|
314
|
+
|
|
315
315
|
freeaddrinfo (res);
|
|
316
|
-
|
|
316
|
+
|
|
317
317
|
return 0;
|
|
318
318
|
}
|
|
319
319
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright (c) 2007-2011 iMatix Corporation
|
|
3
|
+
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
|
4
|
+
|
|
5
|
+
This file is part of 0MQ.
|
|
6
|
+
|
|
7
|
+
0MQ is free software; you can redistribute it and/or modify it under
|
|
8
|
+
the terms of the GNU Lesser General Public License as published by
|
|
9
|
+
the Free Software Foundation; either version 3 of the License, or
|
|
10
|
+
(at your option) any later version.
|
|
11
|
+
|
|
12
|
+
0MQ is distributed in the hope that it will be useful,
|
|
13
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
15
|
+
GNU Lesser General Public License for more details.
|
|
16
|
+
|
|
17
|
+
You should have received a copy of the GNU Lesser General Public License
|
|
18
|
+
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
#include "mailbox.hpp"
|
|
22
|
+
#include "platform.hpp"
|
|
23
|
+
#include "err.hpp"
|
|
24
|
+
|
|
25
|
+
zmq::mailbox_t::mailbox_t ()
|
|
26
|
+
{
|
|
27
|
+
// Get the pipe into passive state. That way, if the users starts by
|
|
28
|
+
// polling on the associated file descriptor it will get woken up when
|
|
29
|
+
// new command is posted.
|
|
30
|
+
bool ok = cpipe.read (NULL);
|
|
31
|
+
zmq_assert (!ok);
|
|
32
|
+
active = false;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
zmq::mailbox_t::~mailbox_t ()
|
|
36
|
+
{
|
|
37
|
+
// TODO: Retrieve and deallocate commands inside the cpipe.
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
zmq::fd_t zmq::mailbox_t::get_fd ()
|
|
41
|
+
{
|
|
42
|
+
return signaler.get_fd ();
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
void zmq::mailbox_t::send (const command_t &cmd_)
|
|
46
|
+
{
|
|
47
|
+
sync.lock ();
|
|
48
|
+
cpipe.write (cmd_, false);
|
|
49
|
+
bool ok = cpipe.flush ();
|
|
50
|
+
sync.unlock ();
|
|
51
|
+
if (!ok)
|
|
52
|
+
signaler.send ();
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
int zmq::mailbox_t::recv (command_t *cmd_, int timeout_)
|
|
56
|
+
{
|
|
57
|
+
// Try to get the command straight away.
|
|
58
|
+
if (active) {
|
|
59
|
+
bool ok = cpipe.read (cmd_);
|
|
60
|
+
if (ok)
|
|
61
|
+
return 0;
|
|
62
|
+
|
|
63
|
+
// If there are no more commands available, switch into passive state.
|
|
64
|
+
active = false;
|
|
65
|
+
signaler.recv ();
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// Wait for signal from the command sender.
|
|
69
|
+
int rc = signaler.wait (timeout_);
|
|
70
|
+
if (rc != 0 && (errno == EAGAIN || errno == EINTR))
|
|
71
|
+
return -1;
|
|
72
|
+
|
|
73
|
+
// We've got the signal. Now we can switch into active state.
|
|
74
|
+
active = true;
|
|
75
|
+
|
|
76
|
+
// Get a command.
|
|
77
|
+
errno_assert (rc == 0);
|
|
78
|
+
bool ok = cpipe.read (cmd_);
|
|
79
|
+
zmq_assert (ok);
|
|
80
|
+
return 0;
|
|
81
|
+
}
|
|
82
|
+
|
|
@@ -24,10 +24,12 @@
|
|
|
24
24
|
#include <stddef.h>
|
|
25
25
|
|
|
26
26
|
#include "platform.hpp"
|
|
27
|
+
#include "signaler.hpp"
|
|
27
28
|
#include "fd.hpp"
|
|
28
|
-
#include "stdint.hpp"
|
|
29
29
|
#include "config.hpp"
|
|
30
30
|
#include "command.hpp"
|
|
31
|
+
#include "ypipe.hpp"
|
|
32
|
+
#include "mutex.hpp"
|
|
31
33
|
|
|
32
34
|
namespace zmq
|
|
33
35
|
{
|
|
@@ -41,16 +43,26 @@ namespace zmq
|
|
|
41
43
|
|
|
42
44
|
fd_t get_fd ();
|
|
43
45
|
void send (const command_t &cmd_);
|
|
44
|
-
int recv (command_t *cmd_,
|
|
46
|
+
int recv (command_t *cmd_, int timeout_);
|
|
45
47
|
|
|
46
48
|
private:
|
|
47
49
|
|
|
48
|
-
//
|
|
49
|
-
|
|
50
|
-
|
|
50
|
+
// The pipe to store actual commands.
|
|
51
|
+
typedef ypipe_t <command_t, command_pipe_granularity> cpipe_t;
|
|
52
|
+
cpipe_t cpipe;
|
|
51
53
|
|
|
52
|
-
//
|
|
53
|
-
|
|
54
|
+
// Signaler to pass signals from writer thread to reader thread.
|
|
55
|
+
signaler_t signaler;
|
|
56
|
+
|
|
57
|
+
// There's only one thread receiving from the mailbox, but there
|
|
58
|
+
// is arbitrary number of threads sending. Given that ypipe requires
|
|
59
|
+
// synchronised access on both of its endpoints, we have to synchronise
|
|
60
|
+
// the sending side.
|
|
61
|
+
mutex_t sync;
|
|
62
|
+
|
|
63
|
+
// True if the underlying pipe is active, ie. when we are allowed to
|
|
64
|
+
// read commands from it.
|
|
65
|
+
bool active;
|
|
54
66
|
|
|
55
67
|
// Disable copying of mailbox_t object.
|
|
56
68
|
mailbox_t (const mailbox_t&);
|