]
Bela Ban resolved JGRP-1620.
----------------------------
Resolution: Done
RpcDispatcher/MessageDispatcher changes
---------------------------------------
Key: JGRP-1620
URL:
https://issues.jboss.org/browse/JGRP-1620
Project: JGroups
Issue Type: Feature Request
Reporter: Bela Ban
Assignee: Bela Ban
Fix For: 4.0
* In MessageDispatcher.castMessageXXX() and send(), we pass a Message as argument. Change
this to only ship the byte[] buffer and options.
** This prevents a unicast RPC from having a message with a null dest, or a multicast RPC
having a message with a non-null dest (JGRP-1617).
* Sync and async calls
** If a unicast call is async, return null immediately after sending it
*** In case of a callWithFuture() -> return a null future as well (not a
{{NullFuture}}!)
* If a multicast call is async, return null immediately (instead of an {{RspList}})
*** In case of a callWithFuture -> return a null future (instead of a {{nullFuture}})
* Investigate whether non-blocking RPCs need to create Request instances at all
** This prevents creation and population of the hashmap (for {{GroupRequest}})
** Async requests could be dispatched to {{RequestCorrelator}} directly
* Return a {{CompletableFuture}} instead of a {{NotifyingFuture}}
* Remove {{NotifyingFuture}} and {{FutureListener}}: requires changing
{{ExecutionService}}
** Perhaps:
https://github.com/wburns/infinispan/blob/ISPN-6074/core/src/main/java/or...
* Replaced {{org.jgroups.TimeoutException}} with
{{java.util.concurrent.TimeoutException}}