cooper | A simple and novel approach to the Actor pattern in C
kandi X-RAY | cooper Summary
kandi X-RAY | cooper Summary
cooper is a C++ library. cooper has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.
A simple and novel approach to the Actor pattern in C++. The actor pattern is a means of concurrent programming in which active "actor" objects run concurrently although each runs in its own single thread of control. The actors keep their internal data hidden from the others and only communicate through messages to each other. Languages that support the actor pattern natively, such as Elixir and Erlang, usually do so by pattern matching data messages that are passed between the actors. C++ does not support the powerful pattern matching paradims of these other languages, and therefore some efforts to bring the Actor pattern to C++ have turned rather unwieldy. The classical C++ object-oriented means of passing messages within a single process uses functon calls to the public interface of a C++ class, with overloading to match different parameter sets. The 'cooper' library attempts to bring that simplicity to the Actor pattern in C++, by also mixing in the Actor client/server model of the Elixir/Erlang OTP behaviour of the "GenServer". In this model, a C++ actor class creates a public "client" interface of standard class methods that can be called by any thread or other actor in the application. The public methods then schedule the operations to run, in sequential order, on the actor thread by queueing matched methods from the private "server" API. Like the Elixir GenServer, the C++ clients send messages to the sever thread by using the "call()" and "cast()" operations of the actor base class. The call() performs a synchronous operation in which the caller thread/actor is blocked until the operation completes in the internal actor thread. A cast() sends an asynchronous request to the server thread.
A simple and novel approach to the Actor pattern in C++. The actor pattern is a means of concurrent programming in which active "actor" objects run concurrently although each runs in its own single thread of control. The actors keep their internal data hidden from the others and only communicate through messages to each other. Languages that support the actor pattern natively, such as Elixir and Erlang, usually do so by pattern matching data messages that are passed between the actors. C++ does not support the powerful pattern matching paradims of these other languages, and therefore some efforts to bring the Actor pattern to C++ have turned rather unwieldy. The classical C++ object-oriented means of passing messages within a single process uses functon calls to the public interface of a C++ class, with overloading to match different parameter sets. The 'cooper' library attempts to bring that simplicity to the Actor pattern in C++, by also mixing in the Actor client/server model of the Elixir/Erlang OTP behaviour of the "GenServer". In this model, a C++ actor class creates a public "client" interface of standard class methods that can be called by any thread or other actor in the application. The public methods then schedule the operations to run, in sequential order, on the actor thread by queueing matched methods from the private "server" API. Like the Elixir GenServer, the C++ clients send messages to the sever thread by using the "call()" and "cast()" operations of the actor base class. The call() performs a synchronous operation in which the caller thread/actor is blocked until the operation completes in the internal actor thread. A cast() sends an asynchronous request to the server thread.
Support
Quality
Security
License
Reuse
Support
cooper has a low active ecosystem.
It has 4 star(s) with 0 fork(s). There are 1 watchers for this library.
It had no major release in the last 6 months.
cooper has no issues reported. There are no pull requests.
It has a neutral sentiment in the developer community.
The latest version of cooper is current.
Quality
cooper has 0 bugs and 0 code smells.
Security
cooper has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
cooper code analysis shows 0 unresolved vulnerabilities.
There are 0 security hotspots that need review.
License
cooper is licensed under the BSD-3-Clause License. This license is Permissive.
Permissive licenses have the least restrictions, and you can use them in most projects.
Reuse
cooper releases are not available. You will need to build from source code and install.
Installation instructions are not available. Examples and code snippets are available.
Top functions reviewed by kandi - BETA
kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of cooper
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of cooper
cooper Key Features
No Key Features are available at this moment for cooper.
cooper Examples and Code Snippets
No Code Snippets are available at this moment for cooper.
Community Discussions
No Community Discussions are available at this moment for cooper.Refer to stack overflow page for discussions.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install cooper
You can download it from GitHub.
Support
For any new features, suggestions and bugs create an issue on GitHub.
If you have any questions check and ask questions on community page Stack Overflow .
Find more information at:
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page