* Handle race where broadcasthub consumer already cancelled #23205
* Don't use the same thread ec, import cleanup
* Complete feedback promise when async event has been executed #23953
* No need for double-deregister-guard after invokeWithFeedback was fixed.
* Test coverage for async callbacks #23953
* Updated docs on AsyncCallback #23953
* MiMa
* Completing a promise of scaladoc
* Improved test coverage and handling of async invokation failing or throwing
* MiMa
* Review updates
* test was not always using serialization because it was just one
entity which could be local or remote
* the test serializer was wrong
* multiple serializers found so was using java serializer
This once failed where the intial shopping cart before adding an item
was not empty. I've also changed the item prices to be different for
each test just in case we're picking up state from a previous test
(which seems unlikey given the pid is a random uuid)
* Improve error message when pushing unpulled outlet
If an outlet is pushed to before it has been pulled, the error message
is "Cannot push twice", which makes sense if after receiving a pull, you
push twice, but makes no sense if you never received a pull in the first
place. This improves the error message to avoid confusion.
* Reword message slightly
The test has been failing infrequently as when we get to the final
barrier (restarted-fifth-removed) the whole test withIn of 40s
has been reached so the last barrier times out right away.
Trying to remove the Thread.sleep and rely on a larger timeout for the
whole test as well as the default barrier timeout of 30s.
* DaemonMsgCreate is not a system message. We send it over the control
stream because remote deployment process depends on message ordering
for DaemonMsgCreate and Watch messages. That is all good.
* We also send DaemonMsgCreate over the ordinary message stream (all
outbound lanes) so that the first ordinary message that is sent to
the ref does not arrive before the actor is created. This is not needed,
since the retried resolve in the Decoder will take care of that anyway.
* Inbound lanes were not covered, but not needed.
* Then the deduplication of DaemonMsgCreate messages in RemoteSystemDaemon
is not needed.
* Added some more tests for these things.
* describe lanes in reference docs
* Pass HandshakeReq in all inbound lanes, #23527
The HandshakeReq message must be passed in each inbound lane to
ensure that it arrives before any application message. Otherwise there is a risk
that an application message arrives in the InboundHandshake stage before the
handshake is completed and then it would be dropped.
* mima