#actor #future #promise #async #thread

sealrs

Set of classic asynchronous primitives (Actors, Executors, Futures / Promises)

27 releases (9 breaking)

0.13.2 Jul 29, 2019
0.12.2 Jul 4, 2019

#8 in #promise

Download history 29/week @ 2021-04-01 27/week @ 2021-04-08 112/week @ 2021-04-15 2/week @ 2021-04-22 28/week @ 2021-04-29 27/week @ 2021-05-13 2/week @ 2021-05-20 27/week @ 2021-06-10 7/week @ 2021-06-24 30/week @ 2021-07-15

139 downloads per month

MIT license

385KB
6.5K SLoC

About

Sealrs is set of various modules for highly concurrent applications, developing under strongly impact from the titans of the asynchronous programming world, such us Erlang, Scala and Akka.

Library includes next submodules:

  • actors - Actor-based concurrent runtime, based on the untyped actors and paradigms which actively used in Akka framework and Erlang language.
  • futures - Future-based runtime based on the classic computer-science definition of 'Future/Promise' paradigm. ( under developing )
  • executors - Set of various concurrent executors, actively used by other modules of the library, and which may be used by the user.
  • testkit - Test framework for deep and seamless testing of code developed based on this library.

This library have a very reach documentation with big count of examples and explanations of internal library architecture. Read on the docs.rs.

New in release

  • Changed data mutability in FSM
  • Fixed bug with deadlock of dispatcher thread if message was unhandled
  • Added stop method to TestProbe which allows to stop internal actor
  • Added get_last_sender method to TestProbe
  • Realized basic remoting (actor_select, message passing)

See changelog for info about new releases.

In the next release

  • Additional remoting feature

Developing stage info

At the moment, I have implemented almost all the necessary functionality for using this library as a framework for building web applications. In the short term, I do not plan strategic extensions of the functionality of this library with the exception of the expansion of existing functions and bug fixes.

Dependencies

~2MB
~32K SLoC