- 22 Apr, 2016 9 commits
-
-
Matthias Vallentin authored
It previously only checked for serialization, not deserialization.
-
Dominik Charousset authored
Also move virtual function calls out of destructors. Relates #454.
-
Dominik Charousset authored
-
Dominik Charousset authored
-
Dominik Charousset authored
-
Dominik Charousset authored
-
Matthias Vallentin authored
Previously, we enforced that the stream buffer must inherit from std::streambuf, which restricts the character type of stream buffers to char only. With uint8_t buffers being as common, this restriction turns out to be too tight. This change relaxes it.
-
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.
-
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.
-
- 21 Apr, 2016 4 commits
-
-
Dominik Charousset authored
-
Dominik Charousset authored
-
Dominik Charousset authored
-
Dominik Charousset authored
-
- 19 Apr, 2016 13 commits
-
-
Dominik Charousset authored
-
Dominik Charousset authored
-
Dominik Charousset authored
-
Dominik Charousset authored
-
Dominik Charousset authored
-
Dominik Charousset authored
-
Dominik Charousset authored
Make (de)serializer more flexible
-
Dominik Charousset authored
-
Joseph Noir authored
-
Dominik Charousset authored
-
Dominik Charousset authored
Fix compilation errors when enabling trace log level
-
ufownl authored
-
Matthias Vallentin authored
This change adds the necessary operator overloads to make optional<T> totally ordered, per the current draft of the standard. As reference serves the implementation of libstdc++ version 5.3. As CAF doesn't have nullopt_t, we use none_t.
-
- 18 Apr, 2016 7 commits
-
-
Matthias Vallentin authored
First, this change moves the context to the parameter to the end in order to make it optional. The context is only necessary when serializing messages. Since CAF's serialization framework also serves also other application's need, this CAF-specific detail now no longer constitutes a mandatory part of the API. Second, this change switches the binary (de)serializer to a streambuffer based API. This enables much more flexible forms of interfacing, e.g., by serializing into/from a file, socket, and more.
-
Matthias Vallentin authored
-
Dominik Charousset authored
-
Dominik Charousset authored
-
Dominik Charousset authored
-
Dominik Charousset authored
-
Dominik Charousset authored
-
- 15 Apr, 2016 1 commit
-
-
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.
-
- 14 Apr, 2016 3 commits
-
-
Dominik Charousset authored
-
Dominik Charousset authored
-
Dominik Charousset authored
-
- 13 Apr, 2016 2 commits
-
-
Dominik Charousset authored
-
Dominik Charousset authored
-
- 12 Apr, 2016 1 commit
-
-
Dominik Charousset authored
-