#actor-model #component-model #actor-system #messages #message #serialization #networking

kompact

Kompact is a Rust implementation of the Kompics component model combined with the Actor model

12 releases (7 breaking)

0.11.2 May 28, 2023
0.11.0 Dec 27, 2021
0.10.1 Nov 9, 2020
0.9.0 Apr 27, 2020
0.4.0 Aug 8, 2018

#185 in Asynchronous

34 downloads per month
Used in 4 crates (2 directly)

MIT license

1MB
20K SLoC

Kompact

License Cargo Documentation codecov Build Status

Kompact is an in-development message-passing component system like Kompics in the Rust language, with performance and static typing in mind. It merges both Kompics' component model and the actor model as found in Erlang or Akka.

Kompact has shown itself to vastly outperform many of its peers on a wide range of message-passing tasks, providing the capability of handling up to 400mio messages per second on 36 cores.

Kompact comes with its own network library built-in, providing easy connection maintenance and efficient serialisation for distributed deployments.

Documentation

For reference and short examples check the API Docs.

A thorough introduction with many longer examples can be found in the tutorial. The examples themselves can be found in the docs/examples folder.

Rust Version

Kompact before v0.9.0 requires Rust nightly.

Since v0.9.0 Kompact can be built on stable Rust, with a slightly different API.

License

Licensed under the terms of MIT license.

See LICENSE for details.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Kompact by you shall be licensed as MIT, without any additional terms or conditions.

Dependencies

~17–30MB
~442K SLoC