Dotsero
Dotsero copied to clipboard
Akka-like .NET Actor Model Toolkit
Dotsero
This is a MVP .NET Actor Model toolkit that follows the Akka API as closely as possible, but as idomatic C#. It is licensed under Apache 2.0.
What's In a Name?
Dotsero, Colorado: http://en.wikipedia.org/wiki/Dotsero
Currently supported:
- ActorSystem
- /user
- /sys
- /sys/deadLetters
- Actor, Props, ActorContext, and ActorRef
- Any number of typed OnReceive() methods
- Stack-based Become/Unbecome
- ActorPath (very lightweight)
- ActorSelection (currently no wildcards)
- SupervisorStrategy
- OneForOneStrategy
- AllForOneStrategy (not fully implemented)
- System Scheduler (timers)
- Requires Retlang: https://code.google.com/p/retlang/
- Currently seeing approximately 0.5 million messages per second, with only two threads, on a Intel i7 Quad Core 4700HQ 2.4 GHz.
- See unit tests for usage.
Currently unsupported (big items missing):
- Configuration
- EventBus/EventStream
- Remoting and Clustering (LocalActorRef/RemoteActorRef)
- Creating and stopping actors is currently not asyncrhonous, and the ActorKilledException/Stop messages are currently not supported. Further, if a message is delivered to a suspended actor (e.g. due to a restart) the delivery currently blocks rather than stashing messages. This is because stashing would require another incoming message to cause the stashed messages to be delivered. A scheduler would be the thing to cause the stash to be emptied. The good news is that the block is a sleep and will likely last only one 1 ms interval.
- Death Watch
- Whatever else is not listed above as supported.