Interface StateConsumer

  • All Known Implementing Classes:
    StateConsumerImpl

    public interface StateConsumer
    Handles inbound state transfers.
    Since:
    5.2
    Author:
    anistor@redhat.com
    • Method Detail

      • isStateTransferInProgress

        boolean isStateTransferInProgress()
      • isStateTransferInProgressForKey

        boolean isStateTransferInProgressForKey​(java.lang.Object key)
      • onTopologyUpdate

        java.util.concurrent.CompletableFuture<java.lang.Void> onTopologyUpdate​(CacheTopology cacheTopology,
                                                                                boolean isRebalance)
        Receive notification of topology changes. StateRequestCommands are issued for segments that are new to this member and the segments that are no longer owned are discarded.
        Parameters:
        cacheTopology -
        isRebalance -
        Returns:
        future that is completed when the state transfer has finished
      • applyState

        void applyState​(Address sender,
                        int topologyId,
                        boolean pushTransfer,
                        java.util.Collection<StateChunk> stateChunks)
      • stop

        void stop()
        Cancels all incoming state transfers. The already received data is not discarded. This is executed when the cache is shutting down.
      • stopApplyingState

        void stopApplyingState​(int topologyId)
        Stops applying incoming state. Also stops tracking updated keys. Should be called at the end of state transfer or when a ClearCommand is committed during state transfer.
        Parameters:
        topologyId -
      • ownsData

        boolean ownsData()
        Returns:
        true if this node has already received the first rebalance command