Skip to content

Instantly share code, notes, and snippets.

@pjazdzewski1990
Created May 13, 2015 18:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pjazdzewski1990/e6c4f58094b4a780c4fe to your computer and use it in GitHub Desktop.
Save pjazdzewski1990/e6c4f58094b4a780c4fe to your computer and use it in GitHub Desktop.
def behavior(food : Set[Food], shopActor: ActorRef[ShopCommand]): Behavior[FoodOrdered] = //[1]
ContextAware[FridgeCommand] { ctx ⇒
Total {
case FoodOrdered(replyTo, order) ⇒
val f = food.find(_ == order)
replyTo ! f.map(food => Eat(food)).getOrElse(Wait(ctx.self))
val wrapper = ctx.spawnAdapter { //[2]
n: NewFoodDelivered => StoreFood(n.food)
}
shopActor ! NewFoodOrder(wrapper, order) //[3]
behavior(food, shopActor) //[4]
}
}.narrow //[5]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment