this enables
class F[T <: ChannelList : TypeTag](t: ChannelRef[T]) extends Channels[T] {
channel[T] { (x, snd) => x -?-> t -!-> snd }
}
which can then be extended to bunching, filtering, transforming of
message streams.
- you can tell/ask WrappedMessage and it will be checked precisely and
sent naked
- ask() always returns Future[WrappedMessage[_ <: ChannelList, LUB]]
- FutureOps.lub will collapse such a Future into Future[LUB]
- sending a Future[WrappedMessage[_, _]] to a ChannelRef will check it
precisely and send naked
- reify() all trees, no bricolage
- use rediscovered c.TypeTag factory to splice in calculated types
- give meaningful names to type parameters and humunguosly explode val
names
- add Helpers.weakTT for producing a WeakTypeTag from a tpe
- use that to simplify Ask.scala (the others will follow)
- and this way make forwarding actually work
* ClusterSingletonManager
* ClusterSingletonManagerSpec multi-node test
* Use in cluster router with single master sample
* Extensive logging to be able to understand what is
going on
* Java api
* Add cluster dependency to contrib
* Add contrib dependency to sample
* Scaladoc
* rst docs in contrib area, ref from cluster docs
The akka modules reference.conf are copied inside this bundle.
Every other akka module is imported optionnaly,
the same for com.google.protobuf (already imported in akka-remote)
The problem was that the “waves of actors” test leaves behind lots of
garbage for the CTD to clean up, and its own
CallingThreadDispatcherQueues.gc() then happens to run when the guardian
creates the top-level actor in the following test case, which takes
longer than 3 seconds to run. Fix it by making the GC interval 100ms
instead of 1sec so that the amount of garbage is limited.
Also, replacing .mapValues(...).filter(...) with
.foldLeft(.newBuilder)(...) makes it twice as fast.
And even more so: unregistering mailboxes upon actor termination removes
the cost nearly completely for the “waves of actors” case.
- based on a wheel (AtomicReferenceArray) from which atomic
single-linked lists dangle
- no locks
- deterministic tests due to overridable time source
- also bring docs up to date