1. 19 Aug, 2017 1 commit
  2. 18 Aug, 2017 1 commit
  3. 17 Aug, 2017 1 commit
    • Min RK's avatar
      specify that groups shall be UTF8 · 3130b913
      Min RK authored
      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
      3130b913
  4. 04 Aug, 2017 2 commits
  5. 31 Jul, 2017 1 commit
    • Brian Russell's avatar
      Add socket option BINDTODEVICE · b963542e
      Brian Russell authored
      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.
      b963542e
  6. 14 Jul, 2017 1 commit
    • Marc Sune's avatar
      Problem: adapt, clarify docs ZMQ_ROUTER_MANDATORY · 609c1312
      Marc Sune authored
      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`
      609c1312
  7. 23 Jun, 2017 1 commit
  8. 24 Apr, 2017 1 commit
  9. 21 Apr, 2017 2 commits
  10. 20 Apr, 2017 1 commit
    • Jim Garlick's avatar
      gssapi: document ZMQ_GSSAPI_PRINCIPAL as optional · c371824b
      Jim Garlick authored
      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.
      c371824b
  11. 23 Feb, 2017 1 commit
  12. 19 Jan, 2017 2 commits
  13. 03 Jan, 2017 2 commits
  14. 30 Dec, 2016 2 commits
  15. 29 Dec, 2016 1 commit
  16. 26 Dec, 2016 2 commits
  17. 21 Nov, 2016 1 commit
  18. 20 Nov, 2016 1 commit
  19. 16 Nov, 2016 1 commit
  20. 07 Oct, 2016 1 commit
  21. 03 Oct, 2016 1 commit
  22. 25 Sep, 2016 1 commit
  23. 21 Sep, 2016 1 commit
  24. 13 Aug, 2016 1 commit
    • KIU Shueng Chuan's avatar
      Problem: zmq_stream doc is confusing regarding ZMQ_SNDMORE flag · 53402156
      KIU Shueng Chuan authored
      Solution: fix it.
      
      The documentation first states that the ZMQ_SNDMORE flag is ignored on
      data frames. Then it states that omitting the ZMQ_SNDMORE flag has
      consequences. The example HTTP server code further muddies the situation
      with a similar comment.
      
      The implementation of ZMQ_STREAM only accepts two-part messages.
      The first part is an identity frame while the second and last part is
      the data frame.
      
      As with any multipart message, all parts except the last need the
      ZMQ_SNDMORE flag. The second and last part would normally omit the
      ZMQ_SNDMORE flag to mark the end of the multipart message.
      
      However, the ZMQ_STREAM implementation ignores the ZMQ_SNDMORE flag on
      the data frame rather than requiring that it be omitted. The latter
      behaviour would have been more consistent with the other ZeroMQ
      sockets.
      53402156
  25. 03 Jun, 2016 1 commit
  26. 01 May, 2016 1 commit
    • hitstergtd's avatar
      Problem: zmq_setsockopt(3) man page formatting · 4809926c
      hitstergtd authored
      Solution:
      - Update formatting and remove redundant parts from ZMQ_PROBE_ROUTER,
      ZMQ_USE_FD, ZMQ_TCP_MAXRT, ZMQ_TCP_TOS
      - Only cosmetic changes to the content
      - These changes already merged on api.zeromq.org by me
      4809926c
  27. 29 Apr, 2016 1 commit
  28. 04 Apr, 2016 1 commit
  29. 20 Mar, 2016 1 commit
    • Frederic Tregon's avatar
      Fixed issue #1695 (ZMQ_REQ_CORRELATE) · e45dfe3b
      Frederic Tregon authored
      Problem: when using ZMQ_REQ_RELAXED + ZMQ_REQ_CORRELATE and two 'send' are
      executed in a row and no server is available at the time of the sends,
      then the internal request_id used to identify messages gets corrupted and
      the two messages end up with the same request_id. The correlation no
      longer works in that case and you may end up with the wrong message.
      
      Solution: make a copy of the request_id instance member before sending it
      down the pipe.
      e45dfe3b
  30. 06 Mar, 2016 1 commit
    • Luca Boccassi's avatar
      Problem: doc/Makefile.am ignores --without-docs · 4366d7ed
      Luca Boccassi authored
      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.
      4366d7ed
  31. 09 Feb, 2016 4 commits
    • Pieter Hintjens's avatar
      Problem: test_large_msg kills my system temporarily · 62c66ae7
      Pieter Hintjens authored
      And I'm on a reasonably sized laptop. I think allocating INT_MAX
      memory is dangerous in a test case.
      
      Solution: expose this as a context option. I've used ZMQ_MAX_MSGSZ
      and documented it and implemented the API. However I don't know how
      to get the parent context for a socket, so the code in zmq.cpp is
      still unfinished.
      62c66ae7
    • Pieter Hintjens's avatar
      Problem: ZMQ_TCP_RECV_BUFFER/SEND_BUFFER are redundant · 7470c00d
      Pieter Hintjens authored
      These options are confusing and redundant. Their names suggest
      they apply to the tcp:// transport, yet they are used for all
      stream protocols. The methods zmq::set_tcp_receive_buffer and
      zmq::set_tcp_send_buffer don't use these values at all, they use
      ZMQ_SNDBUF and ZMQ_RCVBUF.
      
      Solution: merge these new options into ZMQ_SNDBUF and ZMQ_RCVBUF.
      
      This means defaulting these two options to 8192, and removing the
      new options. We now have ZMQ_SNDBUF and ZMQ_RCVBUF being used both
      for TCP socket control, and for input/output buffering.
      
      Note: the default for SNDBUF and RCVBUF are otherwise 4096.
      7470c00d
    • Pieter Hintjens's avatar
      Problem: zmq_getsockopt wrongly referred to ZMQ_THREADSAFE · 884c7f78
      Pieter Hintjens authored
      The proper name is ZMQ_THREAD_SAFE
      
      Solution: fix in the documentation.
      884c7f78
    • Pieter Hintjens's avatar
      Problem: ZMQ_XPUB_VERBOSE_UNSUBSCRIBE is clumsy · 7f6ed167
      Pieter Hintjens authored
      This option has a few issues. The name is long and clumsy. The
      functonality is not smooth: one must set both this and
      ZMQ_XPUB_VERBOSE at the same time, or things will break mysteriously.
      
      Solution: rename to ZMQ_XPUB_VERBOSER and make an atomic option.
      
      That is, implicitly does ZMQ_XPUB_VERBOSE.
      7f6ed167