-
Book Overview & Buying
-
Table Of Contents
Scala for Data Science
By :
The behavior of the fetcher manager depends on whether it has work to give out to the fetchers:
If it has work to give, it needs to respond to GiveMeWork messages with a Fetcher.Fetch message
If it does not have work, it must ignore the GiveMeWork messages and, if work gets added, it must send a WorkAvailable message to the fetchers
Encoding the notion of state is straightforward in Akka. We specify different receive methods and switch from one to the other depending on the state. We will define the following receive methods for our fetcher manager, corresponding to each of the states:
// receive method when the queue is empty
def receiveWhileEmpty: Receive = {
...
}
// receive method when the queue is not empty
def receiveWhileNotEmpty: Receive = {
...
}Note that we must define the return type of the receive methods as Receive. To switch the actor from one method to the other, we can use context.become(methodName). Thus, for instance, when the last login name is popped...
Change the font size
Change margin width
Change background colour