Class AbstractDelegatingTransport

  • All Implemented Interfaces:
    Lifecycle, Transport

    public abstract class AbstractDelegatingTransport
    extends Object
    implements Transport
    Designed to be overwrite.
    Since:
    6.0
    Author:
    Pedro Ruivo
    • Field Detail

    • Constructor Detail

      • AbstractDelegatingTransport

        protected AbstractDelegatingTransport​(Transport actual)
    • Method Detail

      • invokeRemotely

        public Map<Address,​Response> invokeRemotely​(Collection<Address> recipients,
                                                          org.infinispan.commands.ReplicableCommand rpcCommand,
                                                          ResponseMode mode,
                                                          long timeout,
                                                          ResponseFilter responseFilter,
                                                          DeliverOrder deliverOrder,
                                                          boolean anycast)
                                                   throws Exception
        Description copied from interface: Transport
        Invokes an RPC call on other caches in the cluster.
        Specified by:
        invokeRemotely in interface Transport
        Parameters:
        recipients - a list of Addresses to invoke the call on. If this is null, the call is broadcast to the entire cluster.
        rpcCommand - the cache command to invoke
        mode - the response mode to use
        timeout - a timeout after which to throw a replication exception. implementations.
        responseFilter - a response filter with which to filter out failed/unwanted/invalid responses.
        deliverOrder - the DeliverOrder.
        anycast - used when {@param totalOrder} is true, it means that it must use TOA instead of TOB.
        Returns:
        a map of responses from each member contacted.
        Throws:
        Exception - in the event of problems.
      • sendTo

        public void sendTo​(Address destination,
                           org.infinispan.commands.ReplicableCommand rpcCommand,
                           DeliverOrder deliverOrder)
                    throws Exception
        Description copied from interface: Transport
        Asynchronously sends the ReplicableCommand to the destination using the specified DeliverOrder.
        Specified by:
        sendTo in interface Transport
        Parameters:
        destination - the destination's Address.
        rpcCommand - the ReplicableCommand to send.
        deliverOrder - the DeliverOrder to use.
        Throws:
        Exception - if there was problem sending the request.
      • sendToMany

        public void sendToMany​(Collection<Address> destinations,
                               org.infinispan.commands.ReplicableCommand rpcCommand,
                               DeliverOrder deliverOrder)
                        throws Exception
        Description copied from interface: Transport
        Asynchronously sends the ReplicableCommand to the set of destination using the specified DeliverOrder.
        Specified by:
        sendToMany in interface Transport
        Parameters:
        destinations - the collection of destination's Address. If null, it sends to all the members in the cluster.
        rpcCommand - the ReplicableCommand to send.
        deliverOrder - the DeliverOrder to use.
        Throws:
        Exception - if there was problem sending the request.
      • sendToAll

        public void sendToAll​(org.infinispan.commands.ReplicableCommand rpcCommand,
                              DeliverOrder deliverOrder)
                       throws Exception
        Description copied from interface: Transport
        Asynchronously sends the ReplicableCommand to the entire cluster.
        Specified by:
        sendToAll in interface Transport
        Throws:
        Exception
      • isCoordinator

        public boolean isCoordinator()
        Specified by:
        isCoordinator in interface Transport
        Returns:
        true if the current Channel is the coordinator of the cluster.
      • getCoordinator

        public Address getCoordinator()
        Specified by:
        getCoordinator in interface Transport
        Returns:
        the Address of the current coordinator.
      • getAddress

        public Address getAddress()
        Description copied from interface: Transport
        Retrieves the current cache instance's network address
        Specified by:
        getAddress in interface Transport
        Returns:
        an Address
      • getPhysicalAddresses

        public List<Address> getPhysicalAddresses()
        Description copied from interface: Transport
        Retrieves the current cache instance's physical network addresses. Some implementations might differentiate between logical and physical addresses in which case, this method allows clients to query the physical ones associated with the logical address. Implementations where logical and physical address are the same will simply return a single entry List that contains the same Address as Transport.getAddress().
        Specified by:
        getPhysicalAddresses in interface Transport
        Returns:
        an List of Address
      • getMembers

        public List<Address> getMembers()
        Description copied from interface: Transport
        Returns a list of members in the current cluster view.
        Specified by:
        getMembers in interface Transport
        Returns:
        a list of members. Typically, this would be defensively copied.
      • isMulticastCapable

        public boolean isMulticastCapable()
        Description copied from interface: Transport
        Tests whether the transport supports true multicast
        Specified by:
        isMulticastCapable in interface Transport
        Returns:
        true if the transport supports true multicast
      • start

        public void start()
        Description copied from interface: Lifecycle
        Invoked on component start
        Specified by:
        start in interface Lifecycle
        Specified by:
        start in interface Transport
      • stop

        public void stop()
        Description copied from interface: Lifecycle
        Invoked on component stop
        Specified by:
        stop in interface Lifecycle
        Specified by:
        stop in interface Transport
      • checkTotalOrderSupported

        public void checkTotalOrderSupported()
        Description copied from interface: Transport
        check if the transport has configured with total order deliver properties (has the sequencer in JGroups protocol stack.
        Specified by:
        checkTotalOrderSupported in interface Transport
      • getLog

        public org.infinispan.util.logging.Log getLog()
        Specified by:
        getLog in interface Transport
      • getDelegate

        public Transport getDelegate()
      • beforeInvokeRemotely

        protected void beforeInvokeRemotely​(org.infinispan.commands.ReplicableCommand command)
        method invoked before a remote invocation.
        Parameters:
        command - the command to be invoked remotely
      • afterInvokeRemotely

        protected Map<Address,​Response> afterInvokeRemotely​(org.infinispan.commands.ReplicableCommand command,
                                                                  Map<Address,​Response> responseMap)
        method invoked after a successful remote invocation.
        Parameters:
        command - the command invoked remotely.
        responseMap - can be null if not response is expected.
        Returns:
        the new response map
      • beforeBackupRemotely

        protected void beforeBackupRemotely​(XSiteReplicateCommand command)
        method invoked before a backup remote invocation.
        Parameters:
        command - the command to be invoked remotely
      • afterBackupRemotely

        protected BackupResponse afterBackupRemotely​(org.infinispan.commands.ReplicableCommand command,
                                                     BackupResponse response)
        method invoked after a successful backup remote invocation.
        Parameters:
        command - the command invoked remotely.
        response - can be null if not response is expected.
        Returns:
        the new response map
      • getSitesView

        public Set<String> getSitesView()
        Description copied from interface: Transport
        Get the view of interconnected sites. If no cross site replication has been configured, this method returns null. Inspecting the site view can be useful to see if the different sites have managed to join each other, which is pre-requisite to get cross replication working.
        Specified by:
        getSitesView in interface Transport
        Returns:
        set containing the connected sites, or null if no cross site replication has been enabled.