* Message wrappers in ClusterClient, so that DistributedPubSubMediator
is not leaking to the client api
* Register methods in ClusterReceptionistExtension, for convenience and
clarity
- also added TcpPipelineHandler for wrapping a pipeline
- added Java & Scala docs with a complete example
- test verify interop with standard blocking java SSL client and server
- test is placed in akka-remote to benefit from AkkaProvider for
SecureRandom; should be moved into akka-actor eventually
* For graceful leaving and remove it should still be possible to
communicate with the node after cluster removal.
* Otherwise the hand over in cluster singleton would break, for
example.
* Also, skip selfAddress to avoid generation of AddressTerminated
for the own node when removed from cluster.
also included:
- a complete rewrite of the TCP docs based on real/tested/working code
samples
- an EchoServer implementation which handles all the edge cases,
available in Java & Scala
- renamed StopReading to SuspendReading to match up with ResumeReading
- addition of Inbox.watch()
- Inbox RST docs for Java(!) and Scala
not included:
- ScalaDoc / JavaDoc for all IO stuff
* RemoteWatcher that monitors node failures, with heartbeats
and failure detector
* Move RemoteDeploymentWatcher from CARP to RARP
* ClusterRemoteWatcher that handles cluster nodes
* Update documentation
* UID in Heartbeat msg to be able to quarantine,
actual implementation of quarantining will be implemented
in ticket 2594
* Disallow join requests when already part of a cluster
* Remove wipe state when joining, since join can only be
performed from empty state
* When trying to join, only accept gossip from that member
* Ignore gossips from unknown (and unreachable) members
* Make sure received gossip contains selfAddress
* Test join of fresh node with same host:port
* Remove JoinTwoClustersSpec
* Welcome message as reply to Join
* Retry unsucessful join request
* AddressUidExtension
* Uid in cluster Member identifier
To be able to distinguish nodes with same host:port
after restart.
* Ignore gossip with wrong uid
* Renamed Remove command to Shutdown
* Use uid in vclock identifier
* Update sample, Member apply is private
* Disabled config duration syntax and cleanup of io settings
* Update documentation
- DeathPactException => Stop in defaultStrategy
- ensure that after calling `context unwatch ref` we will not process a
Terminated(`ref`) anymore, even if it was already enqueued (i.e.
unwatch() happens between DeathWatchNotification and Terminated)