Class CallerContext
java.lang.Object
org.apache.synapse.commons.throttle.core.CallerContext
- All Implemented Interfaces:
Serializable,Cloneable
- Direct Known Subclasses:
DomainBaseCallerContext,IPBaseCallerContext,RoleBaseCallerContext
Contains all runtime data for a particular remote caller.
provides the default rate based access controller algorithm implementation.
This is not thread-safe
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleancanAccess(ThrottleContext throttleContext, CallerConfiguration configuration, long currentTime) Check whether that caller can access or not ,based on current state and pre-defined policybooleancanAccess(ThrottleContext throttleContext, CallerConfiguration configuration, long currentTime, Long eventCount) Check whether that caller can access or not, based on current state and pre-defined policyvoidcleanUpCallers(CallerConfiguration configuration, ThrottleContext throttleContext, long currentTime) Clean up the callers - remove all callers that have expired their time windowclone()longlonggetId()longlonglonglonglongReturns the next time windowabstract intgetType()Gets type of throttle that this caller belong ex : ip/domainlonggetUuid()voidincrementGlobalCounter(int incrementBy) voidvoidbooleanvoidvoidvoidsetFirstAccessTime(long firstAccessTime) voidsetGlobalCounter(long counter) voidsetIsThrottleParamSyncingModeSync(boolean isThrottleParamSyncingModeSync) voidsetLocalCounter(long counter) voidsetLocalHits(long counter) voidsetLocalQuota(long localQuota) voidsetNextAccessTime(long nextAccessTime) voidsetNextTimeWindow(long nextTimeWindow) voidvoidsetUnitTime(long unitTime)
-
Constructor Details
-
CallerContext
-
-
Method Details
-
clone
- Overrides:
clonein classObject- Throws:
CloneNotSupportedException
-
getUuid
-
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 callerthrottleContext- -The Throttle that caller having passcurrentTime- -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 stateconfiguration- -The Configuration for this caller - data from policycurrentTime- -The current system time- Returns:
- boolean -The boolean value which say access will allow or not
- Throws:
ThrottleException- throws for invalid throttle configuration
-
canAccess
public boolean canAccess(ThrottleContext throttleContext, CallerConfiguration configuration, long currentTime, Long eventCount) 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 stateconfiguration- -The Configuration for this caller - data from policycurrentTime- -The current system timeeventCount- -The event count- 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() -
setLocalHits
public void setLocalHits(long counter) -
getLocalHits
public long getLocalHits() -
incrementLocalHits
public void incrementLocalHits() -
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
-
setRoleId
-
setIsThrottleParamSyncingModeSync
public void setIsThrottleParamSyncingModeSync(boolean isThrottleParamSyncingModeSync) -
isThrottleParamSyncingModeSync
public boolean isThrottleParamSyncingModeSync() -
getLocalQuota
public long getLocalQuota() -
setLocalQuota
public void setLocalQuota(long localQuota) -
getNextAccessTime
public long getNextAccessTime() -
setNextAccessTime
public void setNextAccessTime(long nextAccessTime)
-