1. 12 Aug, 2014 1 commit
  2. 11 Aug, 2014 2 commits
  3. 06 Aug, 2014 1 commit
    • Steven Murray's avatar
      Added inheritance between ZmqSocket , ZmqSocketST and ZmqSocketMT · b6edd0c0
      Steven Murray authored
      In a previous commit I removed the inheritance relationship between
      ZmqSocket and ZmqSocketMT.  I used templated functions in order to
      be able to handle instances of ZmqSocket and ZmqSocketMT with thei
      same code.  I now believe that decision was wrong in the long run.
      Future code maintainers will not know that a ZmqSocketMT object is
      a type of ZmqSocket.  Eclipse and doxygen are very good at
      providing class hierarchies.  One should benefit from this when one
      can as it is a form of free documentation.
      My previous commit not only removed inheritance, it also allowed
      the multi-threaded version of ZMQSocket to contain the single
      threaded version as opposed to inherit from it.  Using composition
      over inheritance prevented future mistakes where somebody adds a
      new thread-unsafe method to the super class and forgets or doesn’t
      know that they should implement a thread-safe overriding version in
      the sub-class.  This commit preserves composition over inheritance.
      There are now three “ZmqSocket” classes: ZmqSocket, ZmqSocketST and
      ZmqSocketMT.  ZmqSocket itself is now abstract and simply defines
      the methods such a socket should implement.  ZmqSocketST is ai
      concrete class for single-threaded use (hence ST) and
      ZmqSocketMT is for multithreaded use (hence MT).
      ZmqSocketST inherits from ZmqSocket and  ZmqSocketMT also inherits
      from ZmqSocket.  ZmqSocketMT does not inherit from ZmqSocketST.
      ZmqSocketMT contains an instance of ZmqSocketST therefore preserving
      the composition over inheritance solution of the previous commit.
  4. 04 Aug, 2014 1 commit
  5. 31 Jul, 2014 1 commit
  6. 30 Jul, 2014 1 commit
  7. 16 Jul, 2014 1 commit
  8. 08 Jul, 2014 1 commit
  9. 04 Jul, 2014 2 commits
  10. 28 Jun, 2014 1 commit
  11. 26 Jun, 2014 1 commit
  12. 25 Jun, 2014 1 commit
  13. 23 Jun, 2014 2 commits
  14. 19 Jun, 2014 1 commit