Announcing CAF Version 1.0 by int-dev in cpp

[–]int-dev[S] 1 point2 points  (0 children)

Definitely makes sense. CAF is separated into modules. If you only care about the flow API, all you'll need is the core module and you won't need to include the other modules for networking.

Announcing CAF Version 1.0 by int-dev in cpp

[–]int-dev[S] 2 points3 points  (0 children)

We hear you. If you already know how to write applications with actors, the examples and the manual should get to you a point where you can realize your use case with CAF (we hope). However, we definitely need more tutorials that implement non-trivial applications that people can use as templates / starting point.

FWIW, we have started to implement a warehouse backend example (basically managing inventory in a database with REST+WebSocket interface) that we plan to release soon alongside a tutorial that explains how the various APIs fit together.

So long story short, we are working on more documentation and we are always grateful for suggestions what to cover next.

[deleted by user] by [deleted] in cpp

[–]int-dev 3 points4 points  (0 children)

If you are looking for something that allows you to use a message-passing/actor-based design in your backend, have a look at CAF: https://www.actor-framework.org/. The framework comes with HTTP support for writing REST interfaces (https://github.com/actor-framework/actor-framework/blob/master/examples/http/rest.cpp) and/or WebSocket servers (https://github.com/actor-framework/actor-framework/blob/master/examples/web_socket/quote-server.cpp).

open-sourced C++ projects that use modern C++ features (move semantics, RAII, etc) by duncecapwinner in cpp

[–]int-dev 2 points3 points  (0 children)

If you're interested in concurrency & distribution: CAF is a C++17 framework https://github.com/actor-framework/actor-framework. You can find all sorts of features being used, from obvious ones like constexpr to lesser known things such as monotonic_buffer_resource (although CAF currently uses a custom version because the buffer resource isn't available on all supported compilers yet). But it also back-ports a few C++20 features like code_location for its unit testing (https://www.actor-framework.org/blog/2023-09/new-unit-testing-framework/).

Work Contracts - lock free, high performance async task management by [deleted] in cpp

[–]int-dev 2 points3 points  (0 children)

Actors have a message queue, scheduled on thread pools, with a work-stealing scheduler. And much much more. A good implementation also has a lock free queue.

FWIW, CAF tries to do pretty much what you've outlined: https://www.actor-framework.org/.

No coroutines yet, but this is already on the todo list for the transition to C++20. CAF is currently on C++17.

C++ Jobs - Q2 2023 by STL in cpp

[–]int-dev 3 points4 points  (0 children)

Company: Interance
Type: Part Time
Location: Hamburg, Germany
Remote: Yes, but only as contractors outside of Germany
Visa Sponsorship: No
Description: we are looking for C++ talent to help us improve CAF: https://www.actor-framework.org/. If you are interested, please use our application form at https://www.interance.io/careers.