Uploaded image for project: 'JGroups'
  1. JGroups
  2. JGRP-1620

RpcDispatcher/MessageDispatcher changes

    Details

    • Type: Feature Request
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 4.0
    • Labels:
      None

      Description

      • 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
      • Replaced org.jgroups.TimeoutException with java.util.concurrent.TimeoutException

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  belaban Bela Ban
                  Reporter:
                  belaban Bela Ban
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  1 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: