Interface RateLimiter

  • All Known Implementing Classes:
    FastRateLimiter

    public interface RateLimiter
    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      void destroy()
      Cleanup no longer needed resources.
      int getDuration()  
      default java.lang.String getPolicy()  
      java.lang.String getPolicyName()  
      default java.lang.String getQuota​(int requestCount)
      Provide the quota header for this rate limit for a given request count within the current time window.
      int getRequests()  
      int increment​(java.lang.String ipAddress)
      Increments the number of requests by the given ipAddress in the current time window.
      void setDuration​(int duration)
      Sets the configured duration value in seconds.
      void setFilterConfig​(FilterConfig filterConfig)
      Pass the FilterConfig to configure the filter.
      void setPolicyName​(java.lang.String name)
      Sets the policy name, otherwise an auto-generated name is used.
      void setRequests​(int requests)
      Sets the configured number of requests allowed per time window.
    • Method Detail

      • getDuration

        int getDuration()
        Returns:
        the actual duration of a time window in seconds
      • setDuration

        void setDuration​(int duration)
        Sets the configured duration value in seconds.
        Parameters:
        duration - The duration of the time window in seconds
      • getRequests

        int getRequests()
        Returns:
        the maximum number of requests allowed per time window
      • setRequests

        void setRequests​(int requests)
        Sets the configured number of requests allowed per time window.
        Parameters:
        requests - The number of requests per time window
      • increment

        int increment​(java.lang.String ipAddress)
        Increments the number of requests by the given ipAddress in the current time window.
        Parameters:
        ipAddress - the ip address
        Returns:
        the new value after incrementing
      • destroy

        void destroy()
        Cleanup no longer needed resources.
      • setFilterConfig

        void setFilterConfig​(FilterConfig filterConfig)
        Pass the FilterConfig to configure the filter.
        Parameters:
        filterConfig - The FilterConfig used to configure the associated filter
      • getPolicyName

        java.lang.String getPolicyName()
        Returns:
        name of RateLimit policy
      • setPolicyName

        void setPolicyName​(java.lang.String name)
        Sets the policy name, otherwise an auto-generated name is used.
        Parameters:
        name - of rate limit policy
      • getQuota

        default java.lang.String getQuota​(int requestCount)
        Provide the quota header for this rate limit for a given request count within the current time window.
        Parameters:
        requestCount - The request count within the current time window
        Returns:
        the quota header for the given value of request count
        See Also:
        RateLimit header fields for HTTP (draft)