## Uses of Class
org.apache.synapse.commons.throttle.core.CallerContext

- Packages that use CallerContext
  Package | Description
  --- | ---
  org.apache.synapse.commons.throttle.core |
  org.apache.synapse.commons.throttle.core.factory |
  org.apache.synapse.commons.throttle.core.impl.domainbase |
  org.apache.synapse.commons.throttle.core.impl.ipbase |
  org.apache.synapse.commons.throttle.core.impl.rolebase |
  org.apache.synapse.commons.throttle.core.internal |

- - ### Uses of CallerContext in org.apache.synapse.commons.throttle.core

    Methods in org.apache.synapse.commons.throttle.core that return CallerContext
    Modifier and Type | Method | Description
    --- | --- | ---
    `CallerContext` | CallerContext.`clone()` |
    `CallerContext` | ThrottleContext.`getCallerContext​(String id)` | To get the runtime states of a remote caller
    `CallerContext` | ThrottleDataHolder.`getCallerContext​(String id)` |

    Methods in org.apache.synapse.commons.throttle.core that return types with arguments of type CallerContext
    Modifier and Type | Method | Description
    --- | --- | ---
    `static javax.cache.Cache<String,​CallerContext>` | ThrottleUtil.`getThrottleCache()` |

    Methods in org.apache.synapse.commons.throttle.core with parameters of type CallerContext
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | ThrottleContext.`addAndFlushCallerContext​(CallerContext callerContext, String id)` | To add the caller and replicates the states of the given caller
    `void` | ThrottleContext.`addCallerContext​(CallerContext callerContext, String id)` | setting callerContext - put callersMap against time and put time against remote caller id (ip/domain)
    `void` | ThrottleDataHolder.`addCallerContext​(String id, CallerContext callerContext)` |
    `void` | ThrottleContext.`flushCallerContext​(CallerContext callerContext, String id)` | To replicates the states of the already exist caller

  - ### Uses of CallerContext in org.apache.synapse.commons.throttle.core.factory

    Methods in org.apache.synapse.commons.throttle.core.factory that return CallerContext
    Modifier and Type | Method | Description
    --- | --- | ---
    `static CallerContext` | CallerContextFactory.`createCaller​(int throttletype, String id)` | To create a CallerContext(the run time data holder for a remote caller) for the given throttle type.

  - ### Uses of CallerContext in org.apache.synapse.commons.throttle.core.impl.domainbase

    Subclasses of CallerContext in org.apache.synapse.commons.throttle.core.impl.domainbase
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `DomainBaseCallerContext` | Caller Context implementation for domain name based throttle type caller

  - ### Uses of CallerContext in org.apache.synapse.commons.throttle.core.impl.ipbase

    Subclasses of CallerContext in org.apache.synapse.commons.throttle.core.impl.ipbase
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `IPBaseCallerContext` | Caller Context implementation for ip name based throttle type caller

  - ### Uses of CallerContext in org.apache.synapse.commons.throttle.core.impl.rolebase

    Subclasses of CallerContext in org.apache.synapse.commons.throttle.core.impl.rolebase
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `RoleBaseCallerContext` |

  - ### Uses of CallerContext in org.apache.synapse.commons.throttle.core.internal

    Methods in org.apache.synapse.commons.throttle.core.internal with parameters of type CallerContext
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | DistributedThrottleProcessor.`canAccessBasedOnUnitTime​(CallerContext callerContext, CallerConfiguration configuration, ThrottleContext throttleContext, RequestContext requestContext)` |
    `boolean` | DistributedThrottleProcessor.`canAccessIfUnitTimeNotOver​(CallerContext callerContext, CallerConfiguration configuration, ThrottleContext throttleContext, RequestContext requestContext)` |
    `boolean` | DistributedThrottleProcessor.`canAccessIfUnitTimeOver​(CallerContext callerContext, CallerConfiguration configuration, ThrottleContext throttleContext, RequestContext requestContext)` |
    `void` | DistributedThrottleProcessor.`syncThrottleCounterParams​(CallerContext callerContext, boolean incrementLocalCounter, RequestContext requestContext)` |
    `void` | DistributedThrottleProcessor.`syncThrottleWindowParams​(CallerContext callerContext, boolean isInvocationFlow)` |