1. 27 Sep, 2016 3 commits
    • Min RK's avatar
      pass through poller events · ec750732
      Min RK authored
      instead of allocating a new, identical array and copying the data.
      
      This is only safe while zmq_poller_event_t and zmq::socket_poller_t::event_t are the same struct,
      which they presumably will remain.
      ec750732
    • Min RK's avatar
      add n_events argument to zmq_poller_wait_all · de7fc1fc
      Min RK authored
      avoids unnecessary heap allocations, races on the number of items
      de7fc1fc
    • Min RK's avatar
      Problem: zmq_poller only signals one event · 2bc97966
      Min RK authored
      Solution: zmq_poller_wait_all signals all events
      
      allows signaling multiple events with one call to zmq_poller_wait_all
      rather than emitting only one event.
      
      this prepares for zmq_poll being based on zmq_poller,
      which requires events for all sockets rather than just one.
      2bc97966
  2. 11 Jun, 2016 1 commit
    • Michael Lutz's avatar
      Problem: Windows performance is not optimal due to select(). · 7a6ff07a
      Michael Lutz authored
      Solution: Provide poll() for Windows as well. This is a build option that
      defaults to off as the resulting binary will only run on Windows Vista or
      newer.
      
      This is not tested with alternative Winsock service providers like VMCI,
      but the documentation for WSAPoll does not mention limitations.
      
      On my local machine, throughput improves by ~10 % (20 simultaneous
      remote_thr workes to one local_thr, 10 byte messages), while latency
      improves by ~30 % (measured with remote/local_lat).
      7a6ff07a
  3. 14 May, 2016 1 commit
  4. 12 May, 2016 1 commit
    • hitstergtd's avatar
      Problem: zmq_poller_destroy parameter checking · 477cc1cb
      hitstergtd authored
      Solution:
      - Add checks for **poller_p_ to ensure that we do not segfault when either it
        or the value within it are NULL
      - Add tests for the above and increase error state coverage
      477cc1cb
  5. 04 May, 2016 2 commits
  6. 01 May, 2016 1 commit
    • hitstergtd's avatar
      Problem: multiple issues with sendiov/recviov · e4539778
      hitstergtd authored
      Solution:
      - Add check for the [count] parameter in zmq_sendiov() and zmq_recviov()
      - Use and add test for zmq_sendiov() in tests/test_iov.cpp
      - Add error state tests for zmq_sendiov() in tests/test_iov.cpp
      - Add error state tests for zmq_recviov() in tests/test_iov.cpp
      - Cleanup tests/test_iov.cpp for style, consistency and clarity
      - Generally improve test coverage for both API methods
      
      Hat-tip:
      @somdoron, @bluca
      e4539778
  7. 26 Apr, 2016 1 commit
  8. 12 Apr, 2016 1 commit
  9. 21 Feb, 2016 2 commits
  10. 18 Feb, 2016 1 commit
  11. 11 Feb, 2016 1 commit
    • Pieter Hintjens's avatar
      Problem: use of libsodium vs. tweetnacl is confused · b49a6041
      Pieter Hintjens authored
      It's unclear which we need and in the source code, conditional code
      treats tweetnacl as a subclass of libsodium, which is inaccurate.
      
      Solution: redesign the configure/cmake API for this:
      
      * tweetnacl is present by default and cannot be enabled
      * libsodium can be enabled using --with-libsodium, which replaces
        the built-in tweetnacl
      * CURVE encryption can be disabled entirely using --enable-curve=no
      
      The macros we define in platform.hpp are:
      
          ZMQ_HAVE_CURVE    1        //  When CURVE is enabled
          HAVE_LIBSODIUM    1        //  When we are using libsodium
          HAVE_TWEETNACL    1        //  When we're using tweetnacl (default)
      
      As of this patch, the default build of libzmq always has CURVE
      security, and always uses tweetnacl.
      b49a6041
  12. 09 Feb, 2016 1 commit
    • 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
  13. 06 Feb, 2016 1 commit
  14. 05 Feb, 2016 1 commit
  15. 29 Jan, 2016 1 commit
  16. 28 Jan, 2016 1 commit
  17. 27 Jan, 2016 1 commit
  18. 20 Jan, 2016 2 commits
  19. 29 Dec, 2015 1 commit
  20. 21 Dec, 2015 3 commits
  21. 18 Dec, 2015 1 commit
  22. 08 Dec, 2015 1 commit
    • Ilya Kulakov's avatar
      Add the VMCI transport. · 68b13fbd
      Ilya Kulakov authored
      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.
      68b13fbd
  23. 22 Oct, 2015 1 commit
  24. 21 Oct, 2015 2 commits
  25. 18 Oct, 2015 1 commit
  26. 27 Sep, 2015 1 commit
  27. 11 Sep, 2015 1 commit
  28. 06 Sep, 2015 1 commit
  29. 21 Aug, 2015 1 commit
  30. 20 Aug, 2015 1 commit
  31. 17 Aug, 2015 2 commits