Skip to content

waqashaneef/ARnActorModel

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ARnActorModel

A C# Actor Model library.

I was looking for an actor model thing with some requirements :

  • no dependancy from another library
  • coding in plain C#, with such things like 'SendMessage', 'new Actor()', 'Become(behavior)'
  • actor can change their own behaviors
  • actor can send messages
  • actor can create other actors
  • behaviors are dynamic
  • actor can send messages across servers

With ARnActor, now you can :

var sender = new BaseActor() ;
var receiver = new BaseActor() ;

and in sender code ..

receiver.SendMessage("something") ;

The library holds some useful features :

  • behavior can be attached or removed from actor, (an actor can change it's own behavior ...)
  • actor can send messages across servers, you just need to hold a reference (an IActor interface) to another actor on a server ...
  • some actors can behave as public services, or be supervised
  • ARnActorModel could also be used as a basis for active object, defining an object and casting an async interface around it as a facility.

GitHub version

Build status

Unit tests are included as well as some sample applications. I used the excellent OpenCover to give some tests coverage. Coverage Status

For a common usage, you can download ARnActorModel here in Nuget. Nuget

Current works

  • more coverage
  • moving to PCL/Universal/Shared model
  • focus on future vs actor

Packages

No packages published

Languages

  • HTML 52.6%
  • C# 42.5%
  • Smalltalk 3.6%
  • XSLT 1.2%
  • Other 0.1%