- 13 Apr, 2020 6 commits
-
-
Dominik Charousset authored
-
Dominik Charousset authored
-
Dominik Charousset authored
-
Dominik Charousset authored
-
Dominik Charousset authored
-
Dominik Charousset authored
-
- 12 Apr, 2020 2 commits
-
-
Dominik Charousset authored
-
Dominik Charousset authored
-
- 10 Apr, 2020 2 commits
-
-
Dominik Charousset authored
-
Dominik Charousset authored
-
- 08 Apr, 2020 1 commit
-
-
Dominik Charousset authored
-
- 07 Apr, 2020 8 commits
-
-
Dominik Charousset authored
Make getter/setter of thread-local variable static
-
Dominik Charousset authored
-
Dominik Charousset authored
The function `logger::thread_local_aid` accesses a thread-local variable. Hence, dispatching this through to the logger object makes little sense.
-
Joseph Noir authored
Make FNV hash available as inspector
-
Dominik Charousset authored
-
Dominik Charousset authored
-
Dominik Charousset authored
-
Dominik Charousset authored
-
- 05 Apr, 2020 2 commits
-
-
Dominik Charousset authored
This weird actor types originally was meant to simplify writing system-level actors. However, CAF used it once in a single unit test. It's safe to say that maintaining this actor type is not worth the effort.
-
Dominik Charousset authored
-
- 04 Apr, 2020 8 commits
-
-
Dominik Charousset authored
The implementation of `replies_to<...>::with<...>` introduced unnecessary complexity and metaprogramming utilities. Using plain old function signatures instead makes working with actor interfaces a bit easier internally and confronts users with less `detail` types should they face compiler errors related to `typed_actor`.
-
Dominik Charousset authored
-
Dominik Charousset authored
-
Joseph Noir authored
-
Dominik Charousset authored
Closes #1076.
-
Dominik Charousset authored
-
Dominik Charousset authored
(cherry picked from commit 538ee173)
-
Dominik Charousset authored
(cherry picked from commit 0f458aca)
-
- 03 Apr, 2020 4 commits
-
-
Dominik Charousset authored
Closes #1006.
-
Dominik Charousset authored
-
Dominik Charousset authored
-
Dominik Charousset authored
-
- 02 Apr, 2020 3 commits
-
-
Dominik Charousset authored
Closes #1048 and fixes #1041
-
Dominik Charousset authored
-
Dominik Charousset authored
-
- 31 Mar, 2020 2 commits
-
-
Dominik Charousset authored
The `result` class predates the sum type API in CAF and used a flag for selecting one of several members. Re-implementing the class with a `variant` instead is both cleaner and more idiomatic. Furthermore, the implementation for `result` now uses a base type that wraps state as well common constructors. The class `result` is merely a thin wrapper around the base with additional constructors. For example, results with a single template parameter allow conversion from `expected`. This fixes #989 by avoiding catch-all constructors and unreliable `enable_if` magic.
-
Dominik Charousset authored
The composable behavior was intended to make actor states re-usable. However, they turned out to not deliver on that promise. One major flaw in this approach comes from the way inheritance works in C++. In a scenario with multiple base types providing the same virtual function, overrides in one base type may not override all functions for that signature. Consider the following example: ```c++ struct foo { virtual void hello() = 0; }; struct bar { virtual void hello() = 0; }; struct a : foo { void hello() override { // nop } }; struct b : bar, a { }; int main(int, char **) { b obj; // ... oops: compiler error! } ``` This rarely becomes an issue in most C++ code. However, it's very easy to run into this compiler error using the composable behaviors by implementing overlapping typed actor handles. Aside from this subtle issue, compiler errors produced by the composable actor API turned out to be very hard to parse. Getting a handler signature wrong or missing an override quickly turns into guess games. Last but not least, the `caf::param` API became a necessary evil to support actors that may or may not require mutable access to a tuple. But it adds another layer of complexity as well as runtime overhead. The idea of implementing actors with re-usable pieces is still worth pursuing, but this experiment did not pay out.
-
- 29 Mar, 2020 2 commits
-
-
Dominik Charousset authored
Re-implement message with new flat design
-
Dominik Charousset authored
-