- channel field was always set to NullChannel and not used
- receiver field is better put into the Mailbox, because there it takes
space only once per actor
- leaves only the bare SystemMessage to be queued
- add Logging trait for nicer interface
- add EventHandlerLogging class for offering the nice interface from
app.log
- add eventHandler instance to app and use that for all internal logging
(this means that some places (dispatchers, remoting) were infiltrated
by app just to do logging, but I think we'll need app in there soon
enough for other reasons)
- remove global Config
- pull everything which depended on it into new AkkaApplication
- leave EventHandler alone for the moment: that evil sucker gets his
very own AkkaApplication("akka-reference.conf") until we have settled
on an acceptable logging API without globals
- make akka-actor and akka-testkit compile
- TestKit uses implicit AkkaApplication passing for maximum convenience
- Actor object nearly completely removed, actor creation possible via
ActorRefFactory interface which is implemented by AkkaApplication and
ActorContext
- serialization of ActorRef is probably broken, and so is the reflective
RemoteSupport (now needs AkkaApplication constructor arg)
- everything else is still broken, including akka-actor-tests, so this
is of course all not runtime-tested
- rename MessageInvocation to Envelope (same for System...)
- rename MessageQueue to Mailbox and include ExecutableMailbox code
- make MailboxType act as factory, so users can provide their own
- properly type mailbox field as Mailbox everywhere
- adapt CallingThreadDispatcher and some tests
- create DeadletterMailbox and use it to replace actor’s mailbox on
terminate()
- removed SelfActorRef
- added an ActorContext interface that provides a view into ActorInstance
- the ActorInstance (as ActorContext) gets injected into the Actor
- moved self methods like sender and reply directly to the Actor
- avoid initialising the cluster in TransactionLog
- allow TransactionLog to be started and shutdown multiple times
- correct the startup and shutdown in the transaction log tests
- make no-@Inline variant of DefaultPromise.timeLeft()
- remove type parameters from matches where not needed
- switch DinigHackersOnFsm to self.channel
- filter out expected debug messages
- rename EventFilter.apply(f: Event => Boolean) to EventFilter.custom to
allow type inference on provided function literal (does not work with
overloading)
- add filterException[T] { ... }