* MemberRemoved must be published before MemberUp, e.g. when restarted
in other DC
* remove from failureDetector when receiving gossip with new member,
not only new joining member
* increase timeout in MultiDcSingletonManagerSpec
* overloaded methods added for binary compatibility
* Doc improve: remove unnecessary example, reword eagerClose description
* Test eagerClose = true when other stream closed
* The scenario described in the issue can cause the quarantine marker to
be lost when creating a new endpoint for that address. Then when later
creating another endpoint from an inbound connection the uid is considered
confirmed and Ack message is accepted, triggering the unexpected seq number
issue.
* The refuseUid was kept in the endpoint policy markers, but that is just very
complicated and as illustrated by this issue not always safe.
* Instead, keep the refuseUid separately so it's not lost when registering
new endpoint.
* The purpose of WasGated was only to try to keep the refuseUid (as far as I know),
and that is not needed any longer.
mima filter
* rename PersistentEffect to Effect
* change order of parameters, ctx first
* rename onEvent to applyEvent
* persistenceIdFromActorName for Cluster Sharding
* PersistenActor.immutable
Cleans up the API in a couple of places, but still needs type parameters
in spots where I wouldn't want to need them...
Allow multiple side effects in one 'andThen'
Making type inference actually work
Allow applying multiple side effects
In a way that allows 'inspecting' the effects if you want to, but
doesn't require you to repeat generic parameters when you don't.
* Expand example with a timer
* Move 'onRecoveryComplete' to 'builder' style
* rather than using a default parameter which is hard to
evolve with binary compatibility
* Explicit snapshots
* Example spawning a child actor
* Taking a snapshot needs access to the state
* Added signal handler
* I like how simple the types of `commandHandler` and
`signalHandler` are now, but it'd be nice if they were closer together and could perhaps even share the `state` switch. I'll give that a try.
* Attempt to get signal handling closer to command handling
* Always use the full state for snapshots
* If you want to add a mapping layer use event adapters or a custom
serializer.
* Example of an actor that separates 'persistent' and transient state
* Use ordering 'command, event, state, context' consistently
* Allow multiple `andThen`
* Replace ask with spawned adapters
* Allow 'andThen' on each PersistentEffect
* Make 'onSignal' a partial function
* Remove unnecessary parens
* Simplify 'andThen', make sure it receives the State
* a Receptionists extension
It's basically an improved copy of the former receptionist pattern which is
removed here as well.
* Cluster implementation using Distributed Data
* =typ make ActorRef.apply work for adapted actor systems
* Cluster management (join, leave, etc)
* Cluster membership subscriptions (MemberUp, MemberRemoved, etc)
* New SelfUp and SelfRemoved events
* change signature of awaitAssert to return the value (not binary compatible)
* Cluster singleton api
* =jdk9,str JDK9 ready classes, in special directories
* =str,jdk9 prepare for releasing using JDK9 (needs sbt 1.0+ though)
* =str,jdk9 passing TCK spec touching some JDK9 types internally
* make sure to include linting options