Last minute awesomization of the priority based mailbox API docs
This commit is contained in:
parent
2b4c8b2508
commit
98b74a974c
2 changed files with 21 additions and 31 deletions
|
|
@ -123,9 +123,9 @@ public class DispatcherDocTestBase {
|
|||
}
|
||||
|
||||
//#prio-mailbox
|
||||
public static class PrioMailbox implements MailboxType {
|
||||
|
||||
static final PriorityGenerator generator = new PriorityGenerator() { // Create a new PriorityGenerator, lower prio means more important
|
||||
public static class PrioMailbox extends UnboundedPriorityMailbox {
|
||||
public PrioMailbox(Config config) { // needed for reflective instantiation
|
||||
super(new PriorityGenerator() { // Create a new PriorityGenerator, lower prio means more important
|
||||
@Override
|
||||
public int gen(Object message) {
|
||||
if (message.equals("highpriority"))
|
||||
|
|
@ -137,16 +137,7 @@ public class DispatcherDocTestBase {
|
|||
else
|
||||
return 50; // We default to 50
|
||||
}
|
||||
};
|
||||
|
||||
private UnboundedPriorityMailbox priorityMailbox;
|
||||
|
||||
public PrioMailbox(Config config) { // needed for reflective instantiation
|
||||
priorityMailbox = new UnboundedPriorityMailbox(generator);
|
||||
}
|
||||
|
||||
public MessageQueue create(Option<ActorContext> owner) {
|
||||
return priorityMailbox.create(owner);
|
||||
});
|
||||
}
|
||||
}
|
||||
//#prio-mailbox
|
||||
|
|
|
|||
|
|
@ -112,15 +112,14 @@ object DispatcherDocSpec {
|
|||
import akka.actor.ActorContext
|
||||
import com.typesafe.config.Config
|
||||
|
||||
val generator = PriorityGenerator { // Create a new PriorityGenerator, lower prio means more important
|
||||
// We create a new Priority dispatcher and seed it with the priority generator
|
||||
class PrioMailbox(config: Config) extends UnboundedPriorityMailbox(
|
||||
PriorityGenerator { // Create a new PriorityGenerator, lower prio means more important
|
||||
case 'highpriority ⇒ 0 // 'highpriority messages should be treated first if possible
|
||||
case 'lowpriority ⇒ 100 // 'lowpriority messages should be treated last if possible
|
||||
case PoisonPill ⇒ 1000 // PoisonPill when no other left
|
||||
case otherwise ⇒ 50 // We default to 50
|
||||
}
|
||||
|
||||
// We create a new Priority dispatcher and seed it with the priority generator
|
||||
class PrioMailbox(config: Config) extends UnboundedPriorityMailbox(generator)
|
||||
})
|
||||
//#prio-mailbox
|
||||
|
||||
class MyActor extends Actor {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue