Class CallerContext

    • Constructor Detail

      • CallerContext

        public CallerContext​(String ID)
    • Method Detail

      • getUuid

        public UUID getUuid()
      • getId

        public String getId()
        Returns:
        Returns Id of caller
      • cleanUpCallers

        public void cleanUpCallers​(CallerConfiguration configuration,
                                   ThrottleContext throttleContext,
                                   long currentTime)
        Clean up the callers - remove all callers that have expired their time window
        Parameters:
        configuration - -The Configuration for this caller
        throttleContext - -The Throttle that caller having pass
        currentTime - -The system current time
      • canAccess

        public boolean canAccess​(ThrottleContext throttleContext,
                                 CallerConfiguration configuration,
                                 long currentTime)
                          throws ThrottleException
        Check whether that caller can access or not ,based on current state and pre-defined policy
        Parameters:
        throttleContext - -The Context for this caller - runtime state
        configuration - -The Configuration for this caller - data from policy
        currentTime - -The current system time
        Returns:
        boolean -The boolean value which say access will allow or not
        Throws:
        ThrottleException - throws for invalid throttle configuration
      • getNextTimeWindow

        public long getNextTimeWindow()
        Returns the next time window
        Returns:
        long value of next time window
      • incrementGlobalCounter

        public void incrementGlobalCounter​(int incrementBy)
      • incrementLocalCounter

        public void incrementLocalCounter()
      • getGlobalCounter

        public long getGlobalCounter()
      • setGlobalCounter

        public void setGlobalCounter​(long counter)
      • setLocalCounter

        public void setLocalCounter​(long counter)
      • getLocalCounter

        public long getLocalCounter()
      • resetLocalCounter

        public void resetLocalCounter()
      • resetGlobalCounter

        public void resetGlobalCounter()
      • getType

        public abstract int getType()
        Gets type of throttle that this caller belong ex : ip/domain
        Returns:
        Returns the type of the throttle
      • getFirstAccessTime

        public long getFirstAccessTime()
      • setFirstAccessTime

        public void setFirstAccessTime​(long firstAccessTime)
      • setNextTimeWindow

        public void setNextTimeWindow​(long nextTimeWindow)
      • getUnitTime

        public long getUnitTime()
      • setUnitTime

        public void setUnitTime​(long unitTime)
      • getRoleId

        public String getRoleId()
      • setRoleId

        public void setRoleId​(String roleId)