org.apache.synapse.commons.throttle.core

## Interface DistributedCounterManager

- All Known Implementing Classes:
    HazelcastDistributedCounterManager

      public interface DistributedCounterManager

  This interface used to replicate throttling counters and windows in distributed manner.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `long` | `addAndGetCounter(java.lang.String key, long value)` This method used to add and return the distributed counter value.
    `long` | `asyncGetAndAddCounter(java.lang.String key, long value)` This method used to update distributed counter asynchronously.
    `long` | `asyncGetAndAlterCounter(java.lang.String key, long value)` This method used to alter the DistributedCounter.
    `long` | `getCounter(java.lang.String key)` Returns the Distributed Counter for specific key.
    `long` | `getTimestamp(java.lang.String key)` This method returns shared TimeStamp of distributed Key.
    `java.lang.String` | `getType()`
    `boolean` | `isEnable()`
    `void` | `removeCounter(java.lang.String key)` This method used to remove specified key.
    `void` | `removeTimestamp(java.lang.String key)` This method removes the timestamp relevant to key.
    `void` | `setCounter(java.lang.String key, long value)` Sets the Distributed counter with value.
    `void` | `setExpiry(java.lang.String key, long expiryTimeStamp)`
    `void` | `setTimestamp(java.lang.String key, long timeStamp)` This method set the Timestamp to distributed map.

- - ### Method Detail

    - #### getCounter

          long getCounter(java.lang.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(java.lang.String key,
                          long value)

      Sets the Distributed counter with value.
      Parameters:
        `key` - key to add in distributed map.
        `value` - value of distributed counter.

    - #### addAndGetCounter

          long addAndGetCounter(java.lang.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(java.lang.String key)

      This method used to remove specified key.
      Parameters:
        `key` - key to check in distributed map.

    - #### asyncGetAndAddCounter

          long asyncGetAndAddCounter(java.lang.String key,
                                     long value)

      This method used to update distributed counter asynchronously.
      Parameters:
        `key` - key to check in distributed map.
        `value` - value to add to distributed counter.
      Returns:
        the original distributed counter value.

    - #### asyncGetAndAlterCounter

          long asyncGetAndAlterCounter(java.lang.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.

    - #### getTimestamp

          long getTimestamp(java.lang.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(java.lang.String key,
                            long timeStamp)

      This method set the Timestamp to distributed map.
      Parameters:
        `key` - key to add in distributed map.
        `timeStamp` - timestamp to add.

    - #### removeTimestamp

          void removeTimestamp(java.lang.String key)

      This method removes the timestamp relevant to key.
      Parameters:
        `key` - key to check in distributed map.

    - #### isEnable

          boolean isEnable()

    - #### getType

          java.lang.String getType()

    - #### setExpiry

          void setExpiry(java.lang.String key,
                         long expiryTimeStamp)

Copyright © 2005-2022 Apache Software Foundation. All Rights Reserved.