created on May 29, 2013, 2:04 p.m. by Hevok & updated on May 29, 2013, 2:04 p.m. by Hevok
Gene-actors project is one of the core parts of Genes App. It includes actor system that is intended to serves all async communication between users (collaborative editing, chatting, webrtc routing etc.) of Genes App. Is also includes business logic that deals with messages, tasks, video routing, search lookups etc.
It is very early build. It contains Master and member akka actors.
Make sure that you have latest versions of Scala and sbt ( http://www.scala-sbt.org/release/docs/Getting-Started/Setup.html ) installed. Be aware that Debian (Ubuntu/Mint) repositories usually contain old versions, so it is recommended to install Scala and sbt from official websites
Type the following sbt commands::
$ sbt test #to run tests and make sure that everything is working
This steps may take a while because sbt will download all lacking dependencies
play
and play idea
commands at all:: $ sbt gen-idea #to generate Intellij IDEA project files
As it follows from the name Gene-actors are based on Akka actors that run in an async mode. If you do not know anything about Akka and actors I advice you to look at http://akka.io/ and read about basic concepts. Gene-actors currently consist of four main packages: org.denigma.actors, org.denigma.genes, org.denigma.quests, org.denigma.video org.denigma.actors is the basic one from which all others inherit. The structures of those packaged are very similar, it contains: main actor member actors workers models and messages * managers
Main actor is the actor that supervises (in akka terminology) and contains all other actors inside.
It does:
It contains:
For each user the member actor is created. Member actor is responsible for getting user input, processing it, and sending the results back to the user. Each member actor contain a channel to push messages to the user and parse methods to parse JSON that he receives. Member actors usually are just an assembly from traits (that I call managers) they inherit from. Usually they simply concatinate receive and parse partial functions of their traits. Most of the time you work with that traits, "Member" classes is just a way to compose several traits together.
Workers are actors that serve specific purposes. For instance Genes actor works with suggestions and graphs
Comment on This Data Unit