- move all creation of ActorRefs into the ActorRefProvider (deadLetters,
locker)
- rootPath does not contain remote transport address any longer in order
to start the LocalActorRefProvider before the RemoteTransport; the
transport address is inserted during serialization only, which enables
us later to have more than one transport available for one actor
system (maybe even needed for clustering)
- fix inheritance between DeadLetterActorRef and EmptyLocalActorRef
- document some start-up dependencies by reordering constructor code
- fix remote tests which used self.path for identifying remote actors
(since that no longer includes the remote transport address)
- return FiniteDuration whenever possible to allow statically guarding
against infinities
- add Ordering[Duration] and Ordering[FiniteDuration] instances
- avoid use of structural types in multiplication enrichments
- had to fix type inference problem due to too precise type in
DurationSpec (view bounds vs. local type inference vs. operator
precedence)
- add provider, guardian, systemGuardian and deathWatch to it
- make ActorSystemImpl extend ExtendedActorSystem
- use ExtendedActorSystem for creating extensions, thereby limiting the
access extensions get to just those four published methods.
- remove ?(msg, timeout), should always use ?(msg)(timeout) because of
Scala’s only Martin-acknowledged design flaw of being able to pass
tuples into single-arg methods without adding another pair of parens
- put a provider into all actor refs, because they all are created by
and associated with one
- treat all terminated refs equally: tell(msg) and return broken promise
- move package objects into their respective package.scala file in the
right directories
- make implicit conversion as well as explicit facility available under
the same name akka.patterns.ask for easy import
- revert the logic to produce the Promise for the PromiseActorRef within
the ActorRefProvider; supporting wrapping of external Promises does
not seem to justify doing needless extra allocations in case of
failure
- add scaladocs
- factor out “def provider” into trait ActorRefWithProvider, as it
didn’t feel right attaching this information “by exception” to
MinimalActorRef