Removing receiver from Envelope and switch to use the Mailbox.actor instead, this should speed up the BalancingDispatcher by some since it doesn't entail any allocations in adopting a message
This commit is contained in:
parent
bde3969f65
commit
0dc3c5ad3d
9 changed files with 21 additions and 38 deletions
|
|
@ -17,13 +17,7 @@ import scala.annotation.tailrec
|
|||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
final case class Envelope(val receiver: ActorCell, val message: Any, val channel: UntypedChannel) {
|
||||
if (receiver eq null) throw new IllegalArgumentException("Receiver can't be null")
|
||||
|
||||
final def invoke() {
|
||||
receiver invoke this
|
||||
}
|
||||
}
|
||||
final case class Envelope(val message: Any, val channel: UntypedChannel)
|
||||
|
||||
object SystemMessage {
|
||||
@tailrec
|
||||
|
|
@ -295,7 +289,7 @@ abstract class MessageDispatcher(val app: AkkaApplication) extends Serializable
|
|||
/**
|
||||
* Will be called when the dispatcher is to queue an invocation for execution
|
||||
*/
|
||||
protected[akka] def dispatch(invocation: Envelope)
|
||||
protected[akka] def dispatch(receiver: ActorCell, invocation: Envelope)
|
||||
|
||||
/**
|
||||
* Suggest to register the provided mailbox for execution
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue