1. 19 Sep, 2017 1 commit
  2. 07 Sep, 2017 1 commit
  3. 06 Sep, 2017 1 commit
  4. 30 Mar, 2017 1 commit
  5. 26 Mar, 2017 1 commit
  6. 14 May, 2016 1 commit
  7. 04 May, 2016 1 commit
  8. 18 Feb, 2016 1 commit
  9. 29 Jan, 2016 4 commits
  10. 28 Jan, 2016 2 commits
  11. 19 Jan, 2016 1 commit
  12. 11 Sep, 2015 2 commits
  13. 21 Aug, 2015 1 commit
  14. 17 Aug, 2015 1 commit
  15. 16 Aug, 2015 1 commit
  16. 25 Jul, 2015 1 commit
  17. 07 Jul, 2015 1 commit
  18. 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
  19. 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
  20. 02 Jun, 2015 1 commit
  21. 01 Feb, 2015 1 commit
  22. 22 Jan, 2015 1 commit
  23. 13 Aug, 2014 1 commit
  24. 03 May, 2014 1 commit
  25. 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
  26. 29 Apr, 2014 1 commit
  27. 12 Jan, 2014 1 commit
  28. 08 Jan, 2014 2 commits
  29. 07 Jan, 2014 1 commit
  30. 06 Jan, 2014 1 commit
  31. 02 Jan, 2014 1 commit
  32. 19 Aug, 2013 2 commits
  33. 18 Aug, 2013 1 commit