1. 14 Oct, 2014 1 commit
  2. 12 Aug, 2014 2 commits
  3. 07 Aug, 2014 1 commit
  4. 20 Jun, 2014 1 commit
  5. 16 May, 2014 1 commit
    • Pieter Hintjens's avatar
      Problem: artificial restriction on binary identities · a178097f
      Pieter Hintjens authored
      Applications that use ZMQ_IDENTITY can be trapped by the artificial
      restriction on not using a binary zero as first byte. It's specially
      nasty on random generated identities, e.g. UUIDs, as the chance of a
      binary zero is low, so it will pass 255 out of 256 times.
      
      Solution: remove the restriction.
      a178097f
  6. 09 May, 2014 1 commit
  7. 22 Jan, 2014 1 commit
  8. 21 Jan, 2014 1 commit
  9. 20 Jan, 2014 1 commit
  10. 01 Jan, 2014 4 commits
  11. 23 Dec, 2013 1 commit
  12. 06 Dec, 2013 2 commits
  13. 04 Dec, 2013 2 commits
  14. 25 Nov, 2013 1 commit
  15. 07 Nov, 2013 1 commit
  16. 23 Oct, 2013 2 commits
  17. 09 Oct, 2013 1 commit
  18. 20 Sep, 2013 1 commit
    • Pieter Hintjens's avatar
      Renamed new socket options to be clearer · 5e609be3
      Pieter Hintjens authored
      * ZMQ_REQ_STRICT was negative option (default 1) which goes against
        the standard, where defaults are zero. I renamed this to
        ZMQ_REQ_RELAXED.
      
      * ZMQ_REQ_REQUEST_IDS felt clumsy and describes the technical solution
        rather than the problem/requirement. I changed to ZMQ_REQ_CORRELATE
        which seems more explicit.
      5e609be3
  19. 17 Sep, 2013 1 commit
  20. 09 Sep, 2013 1 commit
    • Pieter Hintjens's avatar
      Added ZMQ_ZAP_DOMAIN socket option · 6725c464
      Pieter Hintjens authored
      * This is passed to the ZAP handler in the 'domain' field
      
      * If not set, or empty, then NULL security does not call the ZAP handler
      
      * This resolves the phantom ZAP request syndrome seen with sockets where
        security was never intended (e.g. in test cases)
      
      * This means if you install a ZAP handler, it will not get any requests
        for new connections until you take some explicit action, which can be
        setting a username/password for PLAIN, a key for CURVE, or the domain
        for NULL.
      6725c464
  21. 29 Aug, 2013 1 commit
  22. 17 Aug, 2013 1 commit
  23. 03 Aug, 2013 1 commit
  24. 28 Jul, 2013 1 commit
    • Christian Kamm's avatar
      Add ZMQ_REQ_SEND_RESETS option. · a0cc87a9
      Christian Kamm authored
      This allows making a new request on a REQ socket by sending a new
      message. Without the option set, calling send() after the first message
      is done will continue to return an EFSM error.
      
      It's useful for when a REQ is not getting a response. Previously that
      meant creating a new socket or switching to DEALER.
      a0cc87a9
  25. 26 Jul, 2013 1 commit
    • Christian Kamm's avatar
      Add ZMQ_REQ_REQUEST_IDS option. · b9646f2a
      Christian Kamm authored
      * Documentation:
      The default behavior of REQ sockets is to rely on the ordering of messages
      to match requests and responses and that is usually sufficient. When this option
      is set to 1, the REQ socket will prefix outgoing messages with an extra frame
      containing a request id. That means the full message is (request id, 0,
      user frames...). The REQ socket will discard all incoming messages that don't
      begin with these two frames.
      
      * Behavior change: When a REQ socket gets an invalid reply, it used to
        discard the message and return EAGAIN. REQ sockets still discard
        invalid messages, but keep looking at the next one automatically
        until a good one is found or there are no more messages.
      * Add test_req_request_ids.
      b9646f2a
  26. 28 Jun, 2013 2 commits
    • Pieter Hintjens's avatar
      Added Z85 support · 70417701
      Pieter Hintjens authored
      The use of binary for CURVE keys is painful; you cannot easily copy
      these in e.g. email, or use them directly in source code. There are
      various encoding possibilities. Base16 and Base64 are not optimal.
      Ascii85 is not safe for source (it generates quotes and escapes).
      
      So, I've designed a new Base85 encoding, Z85, which is safe to use
      in code and elsewhere, and I've modified libzmq to use this where
      it also uses binary keys (in get/setsockopt).
      
      Very simply, if you use a 32-byte value, it's Base256 (binary),
      and if you use a 40-byte value, it's Base85 (Z85).
      
      I've put the Z85 codec into z85_codec.hpp, it's not elegant C++
      but it is minimal and it works. Feel free to rewrap as a real class
      if this annoys you.
      70417701
    • Pieter Hintjens's avatar
      Minor whitespace fixes in man page · dd14d4e0
      Pieter Hintjens authored
      dd14d4e0
  27. 27 Jun, 2013 1 commit
    • Pieter Hintjens's avatar
      Added ZMQ_STREAM socket type · ad779379
      Pieter Hintjens authored
      - designed for TCP clients and servers
      - added HTTP client / server example in tests/test_stream.cpp
      - same as ZMQ_ROUTER + ZMQ_ROUTER_RAW + ZMQ_ROUTER_MANDATORY
      - includes b893ce set ZMQ_IDENTITY on outgoing connect
      - deprecates ZMQ_ROUTER_RAW
      ad779379
  28. 22 Jun, 2013 1 commit
  29. 20 Jun, 2013 2 commits
  30. 05 Jun, 2013 2 commits