0
0
mirror of https://github.com/zeromq/libzmq.git synced 2024-12-29 16:45:51 +08:00

63 Commits

Author SHA1 Message Date
E. G. Patrick Bos
36e4c9b474
add zmq_ppoll
zmq_ppoll mostly mimics zmq_poll behavior, except for the added feature of being able to specify a signal mask. Signals in this mask will be blocked during execution of zmq_ppoll. Switching of the process' active signal mask happens atomically with the actual poll call, so that no race conditions can occur. This behavior is useful when one wants to gracefully handle POSIX signals without race conditions. See e.g. the discussion below https://250bpm.com/blog:12/ for an explanation.

Also includes two new tests:
1. test_zmq_ppoll_fd does the same thing as test_zmq_poll_fd, demonstrating backwards compatibility with zmq_poll when used with a default signal mask.
2. test_zmq_ppoll_signals demonstrates the use of zmq_ppoll with a signal mask, blocking out SIGTERM everywhere except in zmq_ppoll, allowing to handle the signal in one place without having to worry about race conditions.
2021-09-24 11:04:20 +02:00
Gudmundur Adalsteinsson
7b1fef28f9
Problem: boilerplate when init msg from data copy (#3860)
* Problem: boilerplate when init msg from data copy

Solution: Add zmq_msg_init_buffer to construct
a message by copying memory from buffer.
2020-04-09 23:59:43 +01:00
Doron Somech
70bc7dd925 problem: zeromq doesn't has a thread-safe peer to peer socket
Solution: a new socket type, called PEER. Very similar to SERVER, but can only connect to other PEERs. Also a new zmq_connect_peer method, that connect and return a routing-id in thread-safe and atomic operation
2020-02-09 23:20:14 +02:00
Luca Boccassi
b20cb122d9 Problem: zmq_socket_monitor_versioned manpage not generated
Solution: add it to doc/Makefile.am
2019-02-07 16:24:41 +00:00
Luca Boccassi
efbec8e67f Problem: zmq_poller manpage is not build
Solution: add it to the makefile
2018-07-27 23:05:01 +01:00
Luca Boccassi
06176fde4d Problem: no documentation for zmq_timers_*
Solution: add a manpage
Fixes #3005
2018-07-27 23:04:05 +01:00
Jim Garlick
48f72844ad gssapi: add zmq_gssapi.7 to MAN7 in Makefile.am
Problem: zmq_gssapi.7 was not mentioned in doc/Makefile.am

Solution: add man page to MAN7 in doc/Makefile.am
2017-04-21 13:08:48 -07:00
Luca Boccassi
baf32a1985 Problem: no documentation for zmq_curve_public
Solution: add manpage
2016-12-26 14:54:58 +01:00
somdoron
fee84134e7 UDP and Radio-dish documentation 2016-04-29 12:17:17 +03:00
Luca Boccassi
4366d7edf9 Problem: doc/Makefile.am ignores --without-docs
Solution: add the document files to the MAN_DOC and MAN_HTML targets
in doc/Makefile.am only if BUILD_DOC and INSTALL_MAN are set,
otherwise leave the targets empty to avoid errors in make distcheck.
2016-03-06 18:34:25 +00:00
Ilya Kulakov
68b13fbddb Add the VMCI transport.
VMCI transport allows fast communication between the Host
and a virtual machine, between virtual machines on the same host,
and within a virtual machine (like IPC).

It requires VMware to be installed on the host and Guest Additions
to be installed on a guest.
2015-12-08 13:16:09 +06:00
Pieter Hintjens
e7da0ea07b Problem: client/server pattern is not documented
Solution: add man pages/sections for:

 * ZMQ_SERVER
 * ZMQ_CLIENT
 * ZMQ_THREADSAFE
 * zmq_msg_routing_id
 * zmq_msg_set_routing_id
2015-09-11 17:12:58 -04:00
Jason Unovitch
45610c354d Enable install of man pages when BUILD_DOC is not set by shifting INSTALL_MAN outside of BUILD_DOC's if/endif 2015-06-05 21:43:39 -04:00
Pieter Hintjens
2de940b422 Problem: need atomic reference counting in several projects
Solution: as libzmq already provides this across all platforms,
expose an atomic counter API. I've not wrapped atomic pointers,
though someone who needs this may want to do so.
2014-12-23 01:14:38 +01:00
Pieter Hintjens
f5f4d27354 Problem: zmq_epgm is duplicate of zmq_pgm
There is zero benefit to this, and some confusion due to the special
case nature of this man page.

Solution: delete the zmq_epgm man page.
2014-12-07 17:04:52 +01:00
Phillip Mienk
00b3bfab10 Remove local pgm configuration option, cleanup configure.ac, remove unused Makefile.am instances. 2014-10-13 19:10:36 -07:00
Pieter Hintjens
cdbe557727 Problem: does not install man pages correctly when out of tree
Solution: fix Makefile.am

As per Richard Sharpe on zeromq-dev.
2014-07-25 21:39:51 +02:00
Pieter Hintjens
f11d673ba9 Problem: need way to probe library capabilities
As libzmq is compiled with optional transports and security mechanisms,
there is no clean way for applications to determine what capabilities
are actually available in a given libzmq instance.

Solution: provide an API specifically for capability reporting. The
zmq_has () method is meant to be open ended. It accepts a string so
that we can add arbitrary capabilities without breaking existing
applications.

zmq.h also defines ZMQ_HAS_CAPABILITIES when this method is provided.
2014-06-18 15:19:07 +02:00
Pieter Hintjens
c6f8093bfb Added zmq_ctx_shutdown to Makefile
- also removed deprecated man pages from Makefile
- they remain in repository for reference
2014-04-29 12:06:57 +02:00
Pieter Hintjens
305a1442ae Added scaffolding for zmq_msg_gets 2014-03-03 13:19:40 +01:00
Laurent Alebarde
3fb800c100 fix revert 2014-02-13 18:52:15 +01:00
Pieter Hintjens
fa318400dc Fixed man page for zmq_proxy_hook
- spaces instead of tabs for indentation
- fixed levels under EXAMPLE USAGE
- added to Makefile.am
2014-01-29 15:15:29 +01:00
Erik Hugne
bbbccebbe7 zmq: add TIPC manpage
Signed-off-by: Erik Hugne <erik.hugne@ericsson.com>
2013-11-05 13:02:41 +01:00
Laurent Alebarde
99b13638eb add doc to zmq_proxy_steerable 2013-10-18 16:35:54 +02:00
Pieter Hintjens
fd4d125d8e Packaging for zmq_curve_keypair function
* Added new man page for this
* Added test case, in tests/test_security_curve.cpp
* Noted in zmq_utils.h that these methods are documented
2013-09-30 15:14:02 +02:00
Pieter Hintjens
71c9ae8b18 Built zmq_send_const man page properly 2013-09-20 14:28:06 +02:00
Pieter Hintjens
576e3ca5e0 Added z85 codec to ZMQ API
* Removed redundant Z85 code and include files from project
* Simplified use of headers in test cases (now they all just use testutil.hpp)
* Export zmq_z85_encode() and zmq_z85_decode() in API
* Added man pages for these two functions
2013-09-15 20:13:44 +02:00
Pieter Hintjens
e1f797b048 Added configuration for PLAIN security
* ZMQ_PLAIN_SERVER, ZMQ_PLAIN_USERNAME, ZMQ_PLAIN_PASSWORD options
* Man page changes to zmq_setsockopt and zmq_getsockopt
* Man pages for ZMQ_NULL, ZMQ_PLAIN, and ZMQ_CURVE
* Test program test_security
2013-05-15 17:55:21 +02:00
MinRK
edd43e1ca4 deprecate zmq_ctx_destroy in favor of zmq_ctx_term
in order to avoid logical collisions with pre-existing notions of context destruction in bindings (czmq, pyzmq).
2013-01-17 15:48:18 -08:00
Pieter Hintjens
066606322c Added unbind/disconnect man pages, notes to deprecated methods 2012-10-19 16:23:21 +09:00
Lourens Naudé
759d453368 Significantly reworked the monitoring infrastructure with a more granular per socket API and to play well with monitoring endpoints in application threads 2012-09-21 12:53:31 +01:00
Pieter Hintjens
5db28752f3 Removed 'device' concept and introduced proxies
* zmq_device is now a wrapper that calls zmq_proxy
* zmq_proxy adds capture socket
2012-09-07 18:38:50 +09:00
Lourens Naudé
991b7fcc04 Rename zmq_monitor to zmq_ctx_set_monitor for compat with existing context specific APIs 2012-05-22 20:15:18 +01:00
Lourens Naudé
04f0e7f26e Documentation for zmq_monitor 2012-05-22 20:08:02 +01:00
Pieter Hintjens
6e71a54b1e Fixed issues #337, #341, and #340
* Implemented new ctx API (_new, _destroy, _get, _set)
* Removed 'typesafe' macros from zmq.h
* Added support for MAX_SOCKETS (was tied into change for #337)
* Created new man pages
2012-03-19 19:41:20 -05:00
Pieter Hintjens
9ac40c47d7 Fixed issue LIBZMQ-333
- reverted commit 941be8d2175332cb720f390f93d07a0870db8824.
 - fixed zmq_device implementation for latest socket_base class
 - added back zmq_device.3 man page
2012-03-16 16:39:11 -05:00
Mikko Koppanen
2f44faa7ce Merge pull request #247 from pieterh/sendrecv
Added zmq_msg_send/recv functions
2012-02-16 08:58:03 -08:00
Pieter Hintjens
d092f2615c Renamed peek/poke to get/set 2012-02-15 19:28:29 -06:00
Pieter Hintjens
dcc1725a90 Renamed zmq_getmsgopt to zmq_msg_peek
* Added zmq_msg_poke for orthogonality
* Added zmq_msg_more for simplicity
* Fixed up man pages and test program
2012-02-15 18:44:28 -06:00
Pieter Hintjens
fb4748f257 Added zmq_msg_send/recv functions 2012-02-15 15:37:35 -06:00
Philip Kovacs
bf9062902c Fix broken VPATH/parallel builds
Signed-off-by: Philip Kovacs <phil@philkovacs.com>
2011-11-21 08:10:03 +01:00
Chuck Remes
93529d8c5d Add zmq_getmsgopt to the API
The new function allows to retrieve options (flags)
from zmq_msg_t.

Signed-off-by: Chuck Remes <cremes@mac.com>
Renamed from zmq_msg_flags to zmq_getmsgopt
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-06 14:03:51 +01:00
Martin Sustrik
a154ef69da Man pages for send & recv function brought up to date
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-11 08:34:20 +02:00
Martin Sustrik
d4e83d2601 C++ binding removed from the core
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-03-24 10:18:06 +01:00
Martin Sustrik
d4d184a750 Pre-compiled devices removed
Along with the devices, xmlParser which is no longer needed
is removed.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-03-23 17:33:07 +01:00
Martin Lucina
8800ac7de5 Revert "Added clean target that deletes generated man pages"
This reverts commit 6cd90304476c1c6873d67068009def63e520b848.
2010-09-04 15:55:19 +02:00
Martin Lucina
4cb6dbd52f Revert "Reverting 'clean' change to Makefile"
This reverts commit c51de31f2fd31f782e419bfac2fb8d40d689f3e3.
2010-09-04 15:55:03 +02:00
Martin Lucina
83d253d72d Revert "Removed wip zmq_deviced from master"
This reverts commit de0173754cc82f6c08875a892892f043a804554c.
2010-09-04 15:51:09 +02:00
Pieter Hintjens
de0173754c Removed wip zmq_deviced from master 2010-08-11 21:12:10 +02:00
Pieter Hintjens
c51de31f2f Reverting 'clean' change to Makefile 2010-08-04 14:56:58 +02:00