Payload Size Throttle Types
Based on the throttle counter value, the payload size throttles can be any of the following subtypes:
- Input Payload Size 
		  
Specifies that the throttle count for a throttle is incremented by the size of the input message (that is, request message).
 - Output Payload Size 
		  
Specifies that the throttle count for a throttle is incremented by the size of the output message (that is, response message).
 - Transaction Payload Size 
		  
Specifies that the throttle count for a throttle is incremented by the sum of the size of input and output message (that is, request and response payload).
 
For example, you can define a payload size throttle T2 as follows:
Throttle Name: T2 Throttle Type : Rate Throttle Interval : 10 seconds Throttle Max Count: 10000 Throttle Counter: Input Payload Size
For this throttle T2 configuration, the Core Engine allows 10000 bytes of request payload size in 10 seconds. For instance, if the first incoming request has a payload size of 5000 bytes, the Core Engine performs the following actions:
- Checks the current throttle count, which is 0 bytes as this is the first request.
 - Compares if the current throttle count (0 bytes) is less than or equal to the throttle max count (10000 bytes).
 - Increments the current throttle count value by 5000 bytes, so the value of throttle count becomes 5000 bytes.
 - Checks if the current throttle count (5000 bytes) is less than or equal to the throttle max count (10000 bytes).
 - Forwards the request to the back-end service for processing as the throttle count is less than max count.
 
If the second request received after 3 seconds has a payload size of 5000 bytes, the Core Engine performs the following actions:
- Checks the current throttle count, which is 5000 bytes.
 - Compares if the current throttle count (5000 bytes) is less than or equal to the throttle max count (10000 bytes).
 - Increments the current throttle count value by 5000 bytes, so the value of throttle count becomes 10000 bytes.
 - Checks if the current throttle count (10000 bytes) is less than or equal to the throttle max count (10000 bytes).
 - Forwards the request to the back-end service for processing as the throttle count(10000) is less than the max count (10000).
 
If the third request received after 2 seconds has a payload size of 1000 bytes, the Core Engine performs the following actions:
- Checks the current throttle count, which is 10000 bytes.
 - Compares if the current throttle count (10000 bytes) is less than or equal to the throttle max count (10000 bytes).
 - Increments the current throttle count value by 5000 bytes, so the value of throttle count becomes 15000 bytes.
 - Checks if the current throttle count (15000 bytes) is less than or equal to the throttle max count (10000 bytes).
 - Rejects the request for processing as the throttle count (15000) reached the max count (10000). The Core Engine sends an error back to the client.
 
