Interface DistributedCounterManager


  • public interface DistributedCounterManager
    This interface used to replicate throttling counters and windows in distributed manner.
    • Method Detail

      • getCounter

        long getCounter​(String key)
        Returns the Distributed Counter for specific key.
        Parameters:
        key - key to check in distributed map.
        Returns:
        value of distributed counter.
      • setCounter

        void setCounter​(String key,
                        long value)
        Sets the Distributed counter with value.
        Parameters:
        key - key to add in distributed map.
        value - value of distributed counter.
      • setCounterWithExpiry

        void setCounterWithExpiry​(String key,
                                  long value,
                                  long expiryTime)
        Sets the Distributed counter with the given value while setting expiry time too.
        Parameters:
        key - counter key name
        value - counter value
        expiryTime - expiry time in milliseconds
      • addAndGetCounter

        long addAndGetCounter​(String key,
                              long value)
        This method used to add and return the distributed counter value.
        Parameters:
        key - key to add in distributed map.
        value - value to add to distributed counter.
        Returns:
        added value of distributed counter.
      • removeCounter

        void removeCounter​(String key)
        This method used to remove specified key.
        Parameters:
        key - key to check in distributed map.
      • asyncGetAndAddCounter

        long asyncGetAndAddCounter​(String key,
                                   long value)
        This method is used to get and then increment distributed counter asynchronously.
        Parameters:
        key - key to check in distributed map.
        value - value to add to distributed counter.
        Returns:
        the original distributed counter value.
      • asyncAddCounter

        long asyncAddCounter​(String key,
                             long value)
        This method is used to increment distributed counter asynchronously.
        Parameters:
        key - key to update in distributed map.
        value - value to increment
        Returns:
        the updated distributed counter value.
      • asyncGetAndAlterCounter

        long asyncGetAndAlterCounter​(String key,
                                     long value)
        This method used to alter the DistributedCounter.
        Parameters:
        key - key to check in distributed map.
        value - value of distributed counter.
        Returns:
        the original distributed counter value.
      • asyncGetAlterAndSetExpiryOfCounter

        long asyncGetAlterAndSetExpiryOfCounter​(String key,
                                                long value,
                                                long expiryTimeStamp)
        This method is used to get and then alter and then set expiry time of the DistributedCounter.
        Parameters:
        key - key to alter in distributed counter.
        value - value to alter in distributed counter.
        expiryTimeStamp - expiry time to set.
        Returns:
        the original distributed counter value.
      • getTimestamp

        long getTimestamp​(String key)
        This method returns shared TimeStamp of distributed Key.
        Parameters:
        key - key to check in distributed map.
        Returns:
        timestamp value of key.
      • setTimestamp

        void setTimestamp​(String key,
                          long timeStamp)
        This method set the Timestamp to distributed map.
        Parameters:
        key - key to add in distributed map.
        timeStamp - timestamp to add.
      • setTimestampWithExpiry

        void setTimestampWithExpiry​(String key,
                                    long timeStamp,
                                    long expiryTimeStamp)
        This method set the Timestamp to distributed map with an expiry time.
        Parameters:
        key - key to add in distributed map.
        timeStamp - timestamp to add.
        expiryTimeStamp - expiry timestamp to set
      • removeTimestamp

        void removeTimestamp​(String key)
        This method removes the timestamp relevant to key.
        Parameters:
        key - key to check in distributed map.
      • isEnable

        boolean isEnable()
      • setExpiry

        void setExpiry​(String key,
                       long expiryTimeStamp)
      • getTtl

        long getTtl​(String key)
      • setLockWithExpiry

        boolean setLockWithExpiry​(String key,
                                  String value,
                                  long expiryTimeStamp)
      • getKeyLockRetrievalTimeout

        long getKeyLockRetrievalTimeout()
      • removeLock

        void removeLock​(String key)