1. 22 Apr, 2016 2 commits
    • Matthias Vallentin's avatar
      Optimize for large contiguous byte sequences · e82c9590
      Matthias Vallentin authored
      When processing large amounts of data, it is common to store it as
      std::vector<char> or std::vector<uint8_t>. Previously, such types put
      heavy stress on the serialization framework, because each character was
      processed separatedly. This patch changes this behavior such that the
      entire sequence is processed at once.
      e82c9590
    • Matthias Vallentin's avatar
      Write out sequences in variable byte encoding · a2418241
      Matthias Vallentin authored
      This optimization pays is a common one in binary serialization
      protocols. We lifted the implementation directly from VAST's
      serialization framework. The optimization pays off when a sequence has
      less than 2^21 elements, which is the common case.
      
      Moreover, with this change we treat strings as orindary sequences.
      Consequently, strings are now binary-compatible with byte vectors, in
      case that ever turns out to be important.
      a2418241
  2. 21 Apr, 2016 4 commits
  3. 19 Apr, 2016 13 commits
  4. 18 Apr, 2016 7 commits
  5. 15 Apr, 2016 1 commit
    • Dominik Charousset's avatar
      Simplify pattern matching, remove `others` · a441111d
      Dominik Charousset authored
      Add new unexpected message handler to actors that centralizes how actors deal
      with messages that are not handled in their current behavior. This obsoletes
      the previous approach of cluttering the code base with `others >>` handlers.
      Relates #444. Also relates #446, since the new interface uses
      `type_erased_tuple` and is a first step towards removing `message` from the
      interface of actors entirely.
      
      Removing `others` as well as the "advanced pattern matching syntax" from CAF
      opens up design space, allows for several optimizations, and improves
      compatibility to MSVC.
      a441111d
  6. 14 Apr, 2016 3 commits
  7. 13 Apr, 2016 2 commits
  8. 12 Apr, 2016 1 commit
  9. 11 Apr, 2016 3 commits
  10. 10 Apr, 2016 1 commit
  11. 09 Apr, 2016 2 commits
  12. 06 Apr, 2016 1 commit