1. 23 Jul, 2015 1 commit
    • Ricardo Catalinas Jiménez's avatar
      Fix 1478: receive unsubscriptions in XPUB when verbose · ec5592db
      Ricardo Catalinas Jiménez authored
      Fixes not receiving unsubscription messages in XPUB socket with
      ZMQ_XPUB_VERBOSE and using a XSUB-XPUB proxy in front.
      
      This adds two modifications:
      
      - It adds a new flag, ZMQ_XPUB_VERBOSE_UNSUBSCRIBE, to enable verbose
        unsubscription messages, necessary when using a XSUB/XPUB proxy.
      
      - It adds a boolean switch to zmq::mtrie_t::rm () to control if the
        callback is invoked every time or only in the last removal. Necessary
        when a pipe is terminated and the verbose mode for unsubscriptions is
        enabled.
      ec5592db
  2. 24 Jun, 2015 1 commit
  3. 02 Jun, 2015 1 commit
  4. 02 Feb, 2015 1 commit
  5. 01 Feb, 2015 1 commit
  6. 27 Jan, 2015 1 commit
  7. 26 Jan, 2015 1 commit
    • Julien Ruffin's avatar
      Added socket option ZMQ_INVERT_MATCHING. · cf2238f8
      Julien Ruffin authored
      ZMQ_INVERT_MATCHING reverses the PUB/SUB prefix matching. The subscription
      list becomes a rejection list. The PUB socket sends messages to all
      connected (X)SUB sockets that do not have any matching subscription.
      
      Whenever the option is used on a PUB/XPUB socket, any connecting SUB
      sockets must also set it or they will reject everything the publisher
      sends them. XSUB sockets are unaffected because they do not filter out
      incoming messages.
      cf2238f8
  8. 23 Jan, 2015 1 commit
    • Pieter Hintjens's avatar
      Problem: commit afb24b53 broke ZMQ_STREAM contract · 6ced7027
      Pieter Hintjens authored
      Symptom is that ZMQ_STREAM sockets in 4.1.0 and 4.1.1 generate zero
      sized messages on each new connection, unlike 4.0.x which did not do
      this.
      
      Person who made this commit also changed test cases so that contract
      breakage did not show. Same person was later banned for persistently
      poor form in CZMQ contributions.
      
      Solution: enable connect notifications on ZMQ_STREAM sockets using a
      new ZMQ_STREAM_NOTIFY setting. By default, socket does not deliver
      notifications, and behaves as in 4.0.x.
      
      Fixes #1316
      6ced7027
  9. 22 Jan, 2015 1 commit
  10. 10 Jan, 2015 1 commit
    • Thomas Rodgers's avatar
      Increase size of zmq_msg_t to 64 bytes · 90194036
      Thomas Rodgers authored
      Increasing it would have at least two benefits -
      
      * More messages would be 'VSM' messages, so it would reduce allocation
      overhead a bit.
      * Remove any chance of false sharing of things that are, by design,
      pushed by value onto a ypipe_t<msg_t> which is shared between two threads.
      
      The only downside I see is slightly increased memory consumption on memory
      constrained applications.
      
      - Full discussion of this rationale is part of issue #1295
      90194036
  11. 09 Jan, 2015 1 commit
  12. 05 Jan, 2015 1 commit
  13. 31 Dec, 2014 1 commit
    • Pieter Hintjens's avatar
      Problem: incomplete definition of integer types · 89a20417
      Pieter Hintjens authored
      Firstly, only a few types are defined, leaving it hard for higher layers
      to complete the set. Secondly, the code incorrectly tries to use ifndef
      to avoid re-defining typedefs, which does not work in C.
      
      Solution: define all types, unconditionally for all MSVC compilers.
      Additionally, define ZMQ_DEFINED_STDINT that tells higher layers that we
      already defined these integer types.
      89a20417
  14. 23 Dec, 2014 2 commits
  15. 26 Nov, 2014 2 commits
  16. 17 Nov, 2014 1 commit
  17. 20 Oct, 2014 1 commit
  18. 17 Oct, 2014 1 commit
    • Kapp Arnaud's avatar
      Add support for POLLPRI flag. · 779c37ab
      Kapp Arnaud authored
      This commit adds a ZMQ_POLLPRI flag that maps to poll()'s POLLPRI
      flag.
      This flags does nothing for OMQ sockets. It's only useful for raw
      file descriptor (be it socket or file).
      This flag does nothing if poll() is not the underlying polling
      function. So it is Linux only.
      779c37ab
  19. 14 Oct, 2014 2 commits
  20. 17 Sep, 2014 1 commit
  21. 13 Aug, 2014 1 commit
  22. 08 Aug, 2014 2 commits
  23. 12 Jul, 2014 1 commit
  24. 02 Jul, 2014 1 commit
  25. 27 Jun, 2014 1 commit
    • Pieter Hintjens's avatar
      Problem: two header files for a single library · a087ce55
      Pieter Hintjens authored
      Users who need e.g. zmq_curve_keypair() have to remember to include
      zmq_utils.h, which is counter-intuitive. The whole library should be
      represented by a single include file.
      
      Solution: merge all contents of zmq_utils.h into zmq.h, and deprecate
      zmq_utils.h. Existing apps can continue unchanged. New apps can ignore
      zmq_utils.h completely.
      a087ce55
  26. 22 Jun, 2014 1 commit
    • Martin Hurton's avatar
      Add support for SOCKS proxies · f06ca69a
      Martin Hurton authored
      This is still raw and experimental.
      To connect through a SOCKS proxy, set ZMQ_SOCKS_PROXY socket option on
      socket before issuing a connect call, e.g.:
      
          zmq_setsockopt (s, ZMQ_SOCKS_PROXY,
              "127.0.0.1:22222", strlen ("127.0.0.1:22222"));
          zmq_connect (s, "tcp://127.0.0.1:5555");
      
      Known limitations:
      - only SOCKS version 5 supported
      - authentication not supported
      - new option is still undocumented
      f06ca69a
  27. 18 Jun, 2014 1 commit
    • Pieter Hintjens's avatar
      Problem: need way to probe library capabilities · f11d673b
      Pieter Hintjens authored
      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.
      f11d673b
  28. 09 May, 2014 1 commit
  29. 02 May, 2014 2 commits
  30. 30 Apr, 2014 2 commits
  31. 29 Apr, 2014 1 commit
  32. 28 Apr, 2014 1 commit
    • Pieter Hintjens's avatar
      Problem: zmq_socket_monitor code is dirty · 9753de85
      Pieter Hintjens authored
      Specifically:
      
      * zmq_event_t should not be used internally in libzmq, it was
        meant to be an outward facing structure.
      
      * In 4.x, zmq_event_t does not correspond to monitor events, so
        I removed the structure entirely.
      
      * man page for zmq_socket_monitor is incomplete and the example
        code was particularly nasty.
      
      * test_monitor.cpp needed rewriting, it was not clean.
      9753de85
  33. 24 Apr, 2014 2 commits