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

604 Commits

Author SHA1 Message Date
jean-airoldie
cfcab66c71 Problem: {in,out}_batch_size must be configured at compiled time
Solution: Added a socket option to configure them at runtime.
2019-06-27 02:31:11 -04:00
jean-airoldie
4d933c28be Problem: disconnect & unbind doc is misleading
Make it explicit that the two functions are identical.
Also document the expected disconnect behavior extensively
and illustrate the difference between disconnecting a
connected vs. bound endpoint.
2019-06-17 02:04:52 -04:00
Christophe Guillon
58c30dc7d1 Add support for SOCKS5 basic authentication 2019-06-10 16:40:06 +02:00
Andreas Rottmann
fae26774f5 Problem: Unclear zmq_msg_send failure semantics
Solution: Explicitly explain message ownership semantics when the call
fails.

Fixes #3526.
2019-05-31 17:36:06 +02:00
jackpimbert
940f54e7ce Problem: PGM doc missing info on high data rates
Solution: Include a new section on configuring both ZMQ and the host
OS tx/rx buffers to facilitate sending large messages at a high data
rate with the PGM protocol.
2019-05-24 09:55:29 +02:00
Luca Boccassi
19ff4d0b6a Problem: zmq_socket_monitor_versioned_typed duplicates zmq_socket_monitor_versioned
Solution: unify the two APIs, as they are both still in DRAFT state and
thus can be changed.
2019-05-18 16:44:07 +01:00
Luca Boccassi
797439c8e2 Problem: typos in manpage entry for ZMQ_XPUB_MANUAL_LAST_VALUE
Solution: fix them
2019-05-18 16:44:07 +01:00
imkcy9
2f98f7034b Support XPub socket send last value caching to last subscription pipe with ZMQ_XPUB_MANUAL_LAST_VALUE. (#3511)
* Add ZMQ_XPUB_MANUAL_LAST_VALUE

* Surpport xpub send last value caching to one pipe with ZMQ_XPUB_MANUAL_LAST_VALUE

* Add test_xpubub_manual_last_value

* Add relicense and doc
2019-05-17 22:12:32 +01:00
jean-airoldie
606a8f7967 Problem: Socket monitoring only allows ZMQ_PAIR
Solution: Allow ZMQ_PUB and ZMQ_PUSH sockets types for the monitoring.
This way someone could create a ZMQ_PULL socket connected to multiple
monitoring sockets at the same time.
2019-05-15 01:48:46 -04:00
Simon Giesecke
d46c580977 Problem: signature of zmq_poller_fd does is incompatible with regular error handling
Solution: change return type to int (again) and return fd via an output parameter
2019-05-09 11:09:35 -04:00
jean-airoldie
cdbe120738 Problem: No invalid pointer handling for zmq_poller_fd
Solution: Add some and document it.
2019-05-02 17:10:20 -04:00
jean-airoldie
19dd8195be Problem: Missing doc & unit tests for zmq_poller_fd
Solution: Add doc & unit tests
2019-05-02 06:31:14 -04:00
normano
9780011846 Fixed zmq_socket_monitor example 2019-05-01 19:32:53 -07:00
Luca Boccassi
f4b0f327de Problem: markup error in zmq_socket.txt
Solution: fix it
2019-04-12 12:57:54 +01:00
Luca Boccassi
8f77150c80 Problem: man errors, can't break lines
Solution: add space between OR'ed values

zmq_getsockopt.3 2472: warning [p 17, 9.5i, div '3tbd1,1', 0.5i]: can't break line
zmq_setsockopt.3 3471: warning [p 24, 1.8i, div '3tbd1,1', 0.5i]: can't break line
2019-04-12 12:17:12 +01:00
Constantin Rack
831ac95fd9
Merge pull request #3428 from Eelis/mallocfail
Don't crash if memory allocation in socket_poller_t::rebuild fails.
2019-02-23 10:52:22 +01:00
Eelis van der Weegen
8259c519b3 Problem: Program crashes if memory allocation in socket_poller_t::rebuild fails.
Solution: Report memory allocation failure as ENOMEM so applications can handle it gracefully.

Fixes #3427.
2019-02-23 09:55:04 +01:00
Eelis van der Weegen
f1d6811dd7 Problem: The documentation for zmq_poller_new incorrectly states that it cannot fail.
Solution: Revise the offending wording, adding a remark that zmq_poller_new will return NULL in case of failure.

Fixes #3425.
2019-02-22 20:11:26 +01:00
Doron Somech
3d55131eba
Merge pull request #3422 from sigiesec/fix-zmq-proxy-docs
Problem: zmq_proxy signature in documentation does not match actual s…
2019-02-20 16:58:57 +02:00
Simon Giesecke
c05d010c01
Problem: zmq_proxy signature in documentation does not match actual signature
Solution: remove extra const
2019-02-20 15:38:52 +01:00
Luca Boccassi
feadf6d40f Problem: cannot monitor state of queues at runtime
Solution: add API and ZMQ_EVENT_PIPES_STATS event which generates 2
values, one for the egress and one for the ingress pipes respectively.
Refactor the events code to be able to send multiple values.
2019-02-10 16:33:26 +00:00
Luca Boccassi
c1b374fa6a Problem: manpage for zmq_socket_monitor_versioned has old example
Solution: update it
2019-02-07 16:24:41 +00: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
2edba1259e Problem: zmq_socket_monitor_versioned manpage doesn't build
Solution: fix formatting
2019-02-07 16:24:41 +00:00
Luca Boccassi
86697347fc Problem: symlinking manpages in automake does not work
Solution: remove them for now
2019-02-07 16:24:41 +00:00
Simon Giesecke
478e42442b Problem: no documentation on zmq_socket_monitor_versioned
Solution: add initial version of documentation
2019-02-02 15:33:27 +01:00
Luca Boccassi
9fae3d1f10 Problem: one more test fails on GNU/Hurd
Solution: mark test_rebind_ipc as XFAIL on Hurd as it does not
implement getsockname on IPC and thus it's impossible to use
wildcard IPC binds.
Document that ZMQ_LAST_ENDPOINT does not work on Hurd with IPC.
2019-01-27 14:04:18 +00:00
Luca Boccassi
93b3689376 Problem: ZMQ_SOCKET_LIMIT and ZMQ_THREAD_PRIORITY have the same value
Solution: remove documents and tests for ZMQ_THREAD_PRIORITY getter. It
never worked and can never work as it has the same value as a get-only
option ZMQ_SOCKET_LIMIT. It cannot be changed without breaking ABI.
Note that the setter works fine as ZMQ_SOCKET_LIMIT is get-only.
2019-01-15 19:58:42 +00:00
Erick Tryzelaar
a92585586b
Fix a typo - lenght to length
Noticed there was a small typo in the documentation.
2018-12-13 20:32:29 -08:00
Luca Boccassi
d61c47ef6f Problem: no example for STATISTICS in proxy manpage
Solution: add it
2018-11-18 13:23:38 +00:00
Luca Boccassi
22c3ecc458 Problem: some context options have no getter
Solution: add one so that class-based bindings can easily use them
2018-11-18 13:23:38 +00:00
Luca Boccassi
c347aef794 Problem: new DRAFT monitoring events are eligible for STABLE
Solution: do it
2018-11-18 13:23:38 +00:00
Anton Dimitrov
860c905e5a Removes unneeded trailing spaces in doc. 2018-10-01 17:10:47 +03:00
Anton Dimitrov
082457b6d0 Problem: zmq_msg_send doc incomplete return value description (issue #2488)
Solution: Add more information to the doc specifying that MAX_INT is the maximum
possible return value.
2018-10-01 17:00:21 +03:00
Francesco Montorsi
eb3e63e22f Hwm tests and docs (#3242)
Add new HWM tests and more detailed documentation
2018-09-13 22:14:06 +01:00
Szekely Gyorgy
2cdad3d0ce Add ZMQ_ROUTER_NOTIFY draft socket option (#3213)
* Add ZMQ_ROUTER_NOTIFY draft socket option
2018-08-15 08:54:08 +01: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
jamesdillonharvey
83e1712d67 Update conflate docs to cover issue #3171 (#3175)
* More info on conflate queue
2018-06-26 10:49:36 +01:00
jamesdillonharvey
edec2244d1 update pair doc (#3170)
* update pair doc
2018-06-21 16:55:18 +01:00
Simon Giesecke
d90e70c1cf Problem: maximum allowed value for ZMQ_HEARTBEAT_TTL is wrong
Solution: use UINT16_MAX
2018-05-25 15:06:11 +02:00
Bill Torpey
8ad0d5896e prevent duplicate connections from PUB sockets also (see https://gith… (#3117)
* Update zmq_connect documentation to mention issue of multiple connects to the same endpoint
2018-05-22 16:05:32 +01:00
Simon Giesecke
4fea7184dc Problem: man zmq_poller_* not working
Solution: add symlinks to zmq_poller.txt
2018-05-14 11:29:24 +02:00
Simon Giesecke
f4b1cae082 Problem: no documentation for zmq_poller_*
Solution: add initial documentation
2018-05-14 11:29:24 +02:00
Lionel Flandrin
4b635c3d06 Problem: documentation for zmq_udp is outdated
Solution: update to document new binding options and IPv6 support
2018-05-10 19:24:48 +02:00
Lionel Flandrin
99412c810d Problem: ZMQ doesn't expose the MULTICAST_LOOP socket option
Solution: add a new ZMQ_MULTICAST_LOOP option for UDP sockets.
2018-05-10 19:24:46 +02:00
Luca Boccassi
cdf5566108 Problem: default ZMQ_HEARTBEAT_TIMEOUT when enabled not documented
Solution: mention in manpage that if the timeout is not set and the
interval is, the timeout will be equal to the interval
2018-04-28 11:47:21 +01:00
Luca Boccassi
c027255329 Problem: Server-client not marked as DRAFT in manpage
Solution: add note like for radio-dish
Fixes: #3050
2018-04-23 18:13:16 +01:00
Luca Boccassi
6f26a33359 Problem: 4.2.5 is out, we need to restore API changes and 4.3.x
Solution: revert the revert!

Revert "Problem: regression in 4.2.3 went unnoticed, want to release 4.2.5"

This reverts commit 5f17e26fa4c60c3de0282d1b6ad1e8b7037ed57a.
2018-03-23 19:31:42 +00:00
Luca Boccassi
5f17e26fa4 Problem: regression in 4.2.3 went unnoticed, want to release 4.2.5
Solution: revert DRAFT -> STABLE API transition so that we can do a
bugfix-only 4.2.5 release.
Will be re-reverted once tagged.

Revert "Problem: ZMQ_BINDTODEVICE has met STABLE conditions"

This reverts commit 3cb79f5042cf32cdb7b1b58d4acf17eba85ec9f7.

Revert "Problem: ZMQ_MSG_GSSAPI_* have met STABLE conditions"

This reverts commit 374da4207b8034b0fcd67a2cc2165d50e09b9387.

Revert "Problem: ZMQ_MSG_T_SIZE has met STABLE conditions"

This reverts commit 6411c4a247c08ead50919d16b30eb030eaf44a7e.

Revert "Problem: docs say STABLE API still in DRAFT"

This reverts commit 9f2f30b7ffa09acc51d3b87251a47e83b435d5d4.
2018-03-23 11:22:10 +00:00
Luca Boccassi
1b733e75a2 Problem: zmq_connect doc says inproc has to be bound first
Solution: fix it, as since 4.2.0 there is no ordering constraint
anymore
Fixes: #2854
2018-03-21 19:57:54 +00:00
Luca Boccassi
dba4ef28cc Problem: zmq_close manpage does not say it's asynchronous
Solution: clarify it since it's a common source of confusion
2018-03-21 19:55:55 +00:00
Luca Boccassi
9f2f30b7ff Problem: docs say STABLE API still in DRAFT
Solution: update them
2018-03-21 19:54:31 +00:00
Luca Boccassi
a4b74a7b05 Problem: ZMQ_ZERO_COPY_RCV not marked as DRAFT in docs
Solution: update manpages
2018-03-21 16:45:41 +00:00
Luca Boccassi
6411c4a247 Problem: ZMQ_MSG_T_SIZE has met STABLE conditions
Solution: move it from DRAFT to STABLE since it's been in a public
release, committed for 6+ months and has not changed.
Given a new STABLE symbol has been added, bump minor version number.
2018-03-21 16:45:41 +00:00
Pontus Sköldström
57422c7df1 Problem: Documentation missing for ZMQ_METADATA socket option 2018-03-15 17:24:54 +01:00
Stefan Kaes
fcbd2a5710 Problem: enormous memory increase due to zero copy decoding
The zero copy decoding strategy implemented for 4.2.0 can lead to a large
increase of main memory usage in some cases (I have seen one program go up to
40G from 10G after upgrading from 4.1.4). This commit adds a new option to
contexts, called ZMQ_ZERO_COPY_RECV, which allows one to switch to the old
decoding strategy.
2018-03-05 18:13:28 +01:00
Luca Boccassi
d57422819a Problem: documentation for ZMQ_XPUB_VERBOSE(R) is unclear
Solultion: clarify that notifications for unique subs/unsubs are always
passed, and these option only affect the behaviour for duplicated ones.
2018-03-02 13:42:45 +01:00
fnaime
da9bc91053
Wrong ZMQ_LINGER default value
Problem: Wrong linger default value

Solution: correct documentation
2017-11-23 14:15:09 -02:00
Luca Boccassi
e523adf3da Problem: new monitor events missing from docs
Solution: add them
2017-11-16 22:00:14 +00:00
ebyrob
d7926d6d5a
Change zmq_recv to zmg_msg_recv since zmq_msg_t is only used with the zmg_msg_recv style functions. 2017-11-10 09:06:16 -05:00
f18m
2aa0e6fd4d Change ZMQ_THREAD_AFFINITY to ZMQ_THREAD_AFFINITY_CPU_ADD/ZMQ_THREAD_AFFINITY_CPU_REMOVE. Avoid prefix thread names when no prefix was set. 2017-10-25 09:55:47 +02:00
Simon Giesecke
439e49bca1 Problem: description of return value is cloned from zmq_atomic_counter_new
Solution: provide correct description

Fixes #2789
2017-10-21 17:21:00 +02:00
Simon Giesecke
cfef04035c Clarify usage of zmq_close (#2792)
* Clarify usage of zmq_close
2017-10-18 15:27:00 +01:00
Luca Boccassi
55a347c7da Problem: zmq_proxy_steerable manpage does not mention multipart
Solution: mention that the STATISTICS command returns a message with 8
frames
2017-10-17 13:20:34 +01:00
Luca Boccassi
cc8d3586cd Problem: formatting error in zmq_ctx_set
Solution: fix it
2017-10-17 13:18:46 +01:00
Luca Boccassi
fa5443e92f Merge pull request #2786 from f18m/affinity-scheduling-docs
Increase details in docs
2017-10-17 13:16:37 +01:00
f18m
b95ef430be Add docs for ZMQ_THREAD_NAME_PREFIX 2017-10-17 14:11:42 +02:00
f18m
e12f3e68c0 Increase details in docs 2017-10-17 14:03:53 +02:00
f18m
e2678b8b11 Add documentation for new steerable proxy command 2017-10-17 11:08:09 +02:00
Luca Boccassi
e5e83c53e5 Problem: ZMQ_THREAD_AFFINITY is not documented
Solution: add a section in zmq_ctx_set's manpage
2017-10-16 12:43:34 +01:00
Luca Boccassi
1478517e1a Problem: use of nice() for ZMQ_THREAD_PRIORITY not documented
Solution: mention that it is used on Linux when SCHED_OTHER is selected
2017-10-16 12:42:59 +01:00
Luca Boccassi
b6aee51691 Problem: strict ZAP protocol adherence is backward incompatible
Solution: add ZMQ_ZAP_ENFORCE_DOMAIN to hide backward incompatible
change and make it disabled by default.
In a future release that breaks API compatibility we can then switch
the default to enabled in order to achieve full RFC compatibility.

Fixes #2762
2017-10-09 17:48:33 +01:00
sigiesec
1414bf938c Problem: use of unqualified "id" in code example
Solution: use "routing_id" instead
2017-09-19 17:54:52 +02:00
sigiesec
d6694e7d47 Problem: Use of "rid" in the docs
Solution: Replaced by "routing id"
2017-09-19 17:53:54 +02:00
sigiesec
12f62c74c1 Problem: docs refer to "Identity"
Solution: change docs to refer to "Routing id"
2017-09-19 17:53:54 +02:00
sigiesec
7297df6278 Problem: documentation of ZMQ_ZAP_DOMAIN is wrong
Solution: fix documentation
2017-09-19 09:13:57 +02:00
Doron Somech
af03241dcb Revert "Problem: term "identity" is confusing" 2017-09-07 15:47:43 +03:00
sigiesec
cd55c62499 Problem: use of unqualified "id" in code example
Solution: use "routing_id" instead
2017-09-07 11:21:13 +02:00
sigiesec
0874eec803 Problem: Use of "rid" in the docs
Solution: Replaced by "routing id"
2017-09-07 11:18:50 +02:00
sigiesec
f174003740 Problem: docs refer to "Identity"
Solution: change docs to refer to "Routing id"
2017-09-07 11:09:18 +02:00
Simon Giesecke
00c6962516 Problem: test failing due to too few messages sent relative to SNDHWM
Solution: relaxed assertion to accept 10% of the SNDHWM, and updated documentation accordingly
2017-08-20 11:51:09 +02:00
Luca Boccassi
9387897674 Problem: multi-part able sockets deprecated in favour of non-multi-part
Solution: as discussed, remove the deprecation notices, as many users
expressed the need for multi-part support.
Fixes #2699
2017-08-19 11:23:18 +01:00
sigiesec
bdd0f3b18b Problem: documentation on zmq_socket_monitor out-of-sync with current
state of ZMQ_EVENT_HANDSHAKE_FAILED_* events

Solution: update documentation
2017-08-18 09:35:13 +02:00
Min RK
3130b913fc specify that groups shall be UTF8
group being a `char *` is logically a text type, which needs an encoding.

Declare in the API that groups shall be UTF8-encoded,
matching the `zmq_msg_gets` API, which is the other user-facing `char *` API,
which has the same definition.

This allows bindings to provide text-type APIs,
which they cannot do if arbitrary bytes are allowed
2017-08-17 16:12:53 +02:00
Simon Giesecke
63779094d3 Problem: new ZMQ_MSG_PROPERTY_* defines were not mentioned in the documentation
Solution: add documentation
2017-08-04 12:46:41 +02:00
Simon Giesecke
7a16c292b7 Problem: Documentation mentions a message property "Resource", which does not exist
Solution: Remove from documentation
2017-08-04 10:34:48 +02:00
Brian Russell
b963542e8f Add socket option BINDTODEVICE
Linux now supports Virtual Routing and Forwarding (VRF) as per:

https://www.kernel.org/doc/Documentation/networking/vrf.txt

In order for an application to bind or connect to a socket with an
address in a VRF, they need to first bind the socket to the VRF device:

    setsockopt(sd, SOL_SOCKET, SO_BINDTODEVICE, dev, strlen(dev)+1);

Note "dev" is the VRF device, eg. VRF "blue", rather than an interface
enslaved to the VRF.

Add a new socket option, ZMQ_BINDTODEVICE, to bind a socket to a device.
In general, if a socket is bound to a device, eg. an interface, only
packets received from that particular device are processed by the socket.

If device is a VRF device, then subsequent binds/connects to that socket
use addresses in the VRF routing table.
2017-07-31 15:31:47 +01:00
Marc Sune
609c131249 Problem: adapt, clarify docs ZMQ_ROUTER_MANDATORY
Solution:

* Document the new behaviour when generating 'ZMQ_POLLOUT' events
  for ZMQ_ROUTER sockets with 'ZMQ_ROUTER_MANDATORY' set to `1`
* Add clarifications for 'ZMQ_ROUTER' socket when
  'ZMQ_ROUTER_MANDATORY' is set to `1`
2017-07-14 18:49:14 +02:00
Emanuel Koczwara
cb54a6b24a Update zmq.txt
Fixed minor typo.
2017-06-23 18:57:33 +02:00
Jim Garlick
568feb1c7f gssapi: document NAMETYPE options in get/setsockopt(3)
Problem: GSSAPI NAMETYPE options were not documented in man
pages for zmq_getsockopt() and zmq_setsockopt().

Solution: add new options to these manual pages.
2017-04-24 16:13:10 -07: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
Jim Garlick
8bd3f03cd4 gssapi: add NAMETYPE socket opts to zmq_gssapi.7
Problem: new GSSAPI socket options are not documented.

Solution: add PRINCIPAL NAMES section to zmq_gssapi.7
2017-04-21 13:08:48 -07:00
Jim Garlick
c371824b5b gssapi: document ZMQ_GSSAPI_PRINCIPAL as optional
Problem: the ZMQ_GSSAPI_PRINCIPAL socket option is described
as mandatory in the zmq_gssapi(7) manual page.  In fact it
is optional.

Solution: Describe ZMQ_GSSAPI_PRINCIPAL as optional.
If unspecified, default credentials are used.
2017-04-20 09:42:06 -07:00
Takeshi Abe
c7ce4a1cea Problem: typo in the zmq_socket doc
Solution: fix it
2017-02-23 10:29:25 +09:00
Luca Boccassi
5f8d87bf32 Problem: typo in the zmq_has doc
Solution: fix it
2017-01-19 21:00:15 +00:00
Asmod4n
b7cd6e8a85
add test and documentation for "draft" capability 2017-01-19 20:50:18 +01:00
Constantin Rack
d532f2e4d8 Merge pull request #2290 from bluca/doc_proxy_eintr
Problem: zmq_proxy* may return EINTR other than ETERM
2017-01-03 21:21:11 +01:00
Luca Boccassi
28c7abf821 Problem: zmq_proxy* may return EINTR other than ETERM
Solution: mention this in the documentation
2017-01-03 15:34:08 +01:00
Patrik Wenger
1b3df75b87 fix typos 2017-01-03 12:45:33 +01:00