1. 04 May, 2016 1 commit
  2. 29 Jan, 2016 4 commits
  3. 28 Jan, 2016 2 commits
  4. 19 Jan, 2016 1 commit
  5. 11 Sep, 2015 1 commit
  6. 23 Jun, 2015 1 commit
  7. 14 Jun, 2015 1 commit
    • Jens Auer's avatar
      Fixed wrong handling of shared messages · 51cb57e2
      Jens Auer authored
      The shared reference count was not shared but copied. msg_t cannot
      store the refcnt itsef but has to store a pointer to an externally
      allocated (shared) refcnter. The changes to lmsg are reverted to
      use content_t again. Howver, this introduces an allocation in v2_decoder
      when creating the message which can be avoided. When allocating the reception
      buffer, space is allocated for the maximum number of reference counts
      (8192 / max_vsm_size = 8192/64 = 128 zmq:atomic_counter objects). This
      increases the buffer by 128*sizeof(atomic_counter) = 128*4 = 512 bytes only.
      When creating a message, the refcnt member is set to the address of one of the
      pre-allocated atomic_counter_t objects. To do so, a new msg_t type zcmsg
      is introduced because msg::copy must discriminate between the message types
      when releasing memory.
      51cb57e2
  8. 03 Jun, 2015 1 commit
    • Jens Auer's avatar
      Allocation-free msg::init_data · 611e96c7
      Jens Auer authored
      With a msg_t size of 64 bytes, it becomes possible to embedd the content_t's members
      struct for large messages directly in the msg_t. This saves the dynamic allocation
      of content_t obejcts when using msg_t::init_data.
      
      content_t contains a zmq::atomic_counter_t object which is not a POD in C++98
      and thus it cannot be used as a member of the union u. To bypass this, C++11
      is used which has relaxed rules for POD and atomic_counter is a C++11-POD. An
      alternative would have been to make atomic_counter a classical POD by removing
      constructors and all private member functions, i.e. have a struct and free functions
      to manipulate it.
      
      A new msg_t::init function is added which decides to either to copy the data for size<64 bytes
      or use msg_t::init_data to do zero-copy initialization.
      611e96c7
  9. 02 Jun, 2015 1 commit
  10. 01 Feb, 2015 1 commit
  11. 22 Jan, 2015 1 commit
  12. 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
  13. 13 Aug, 2014 1 commit
  14. 03 May, 2014 1 commit
  15. 30 Apr, 2014 1 commit
    • Martin Hurton's avatar
      Define i_properties interface · 19c62b93
      Martin Hurton authored
      - copy and move message operations are updated to maintain proper
        reference count of properties object
      - zmq_msg_gets updated to use i_properties interface to fetch property
        value
      - setter/getter added to msg_t class
      19c62b93
  16. 29 Apr, 2014 1 commit
  17. 12 Jan, 2014 1 commit
  18. 08 Jan, 2014 1 commit
  19. 07 Jan, 2014 1 commit
  20. 06 Jan, 2014 1 commit
  21. 02 Jan, 2014 1 commit
  22. 04 Sep, 2013 1 commit
    • Pieter Hintjens's avatar
      Updated libzmq to match RFC 23, 24, 25, 26 · 28b0a5fa
      Pieter Hintjens authored
      * Command names changed from null terminated to length-specified
      * Command frames use the correct flag (bit 2)
      * test_stream acts as test case for command frames
      * Some code cleanups
      28b0a5fa
  23. 19 Aug, 2013 2 commits
  24. 18 Aug, 2013 1 commit
  25. 12 Mar, 2013 1 commit
    • Pieter Hintjens's avatar
      Removed corporate advertisements from source file headers · f0f16505
      Pieter Hintjens authored
      Copyrights had become ads for Sustrik's corporate sponsors, going against the original
      agreement to share copyrights with the community (that agreement was: one line stating
      iMatix copyright + one reference to AUTHORS file). The proliferation of corporate ads
      is also unfair to the many individual authors. I've removed ALL corporate title from
      the source files so the copyright statements can now be centralized in AUTHORS and
      source files can be properly updated on an annual basis.
      f0f16505
  26. 31 Jul, 2012 1 commit
    • Martin Hurton's avatar
      Fix issue #406 · 9fab9937
      Martin Hurton authored
      When a peer reconnects, the router socket receives an identity
      message containing this peer id. When this happens, the current
      implementation crashes.
      
      This patch makes a router socket to silently ignore all identity
      messages coming from reconnected peers.
      9fab9937
  27. 17 Feb, 2012 1 commit
  28. 16 Feb, 2012 1 commit
    • Pieter Hintjens's avatar
      Minor cleanups · ccdb7a63
      Pieter Hintjens authored
      * Fixed use of ssize_t in zmq_msg_t class
      * Corrected error after merge, old reference to inner_fctname (broke build)
      ccdb7a63
  29. 04 Nov, 2011 1 commit
  30. 01 Nov, 2011 2 commits
  31. 31 Oct, 2011 1 commit
  32. 27 Oct, 2011 1 commit
  33. 02 Sep, 2011 1 commit
  34. 17 Jul, 2011 1 commit
    • Martin Sustrik's avatar
      GENERIC socket type and COMMAND flag added · bf78e230
      Martin Sustrik authored
      GENERIC allows to use 0MQ as a dumb networking framework.
      It provides user with connect/disconnect notifications.
      Also, each inbound message is labeled by ID of the connection
      it originated from. Outbound messages should be labeled by
      the ID of the connection to send them to.
      
      To distinguish connect/disconnect notifications from common
      messages, COMMAND flag was introduced.
      Signed-off-by: 's avatarMartin Sustrik <sustrik@250bpm.com>
      bf78e230