PROBLEMA
¿Cómo se calcula el contador de cuota en los mensajes? Veo valores decimales en los contadores que registran la cantidad de mensajes, ¿cómo es posible?
SOLUCIÓN
El contador se incrementa de la siguiente manera, cada vez que se registra un nuevo mensaje:
1. Leer el valor actual del Counter desde la base de datos
2. ElapsedTime = Now - LastUpdate
3. IF ElapsedTime > Period (el definido para la regla de cuota) THEN CurrentCounter = 0 ELSE CurrentCounter = ( 1 - (ElapsedTime / Period) ) * Counter
4. Delta = CurrentCounter - Counter
5. Incrementar CurrentCounter
6. IF CurrentCounter > Limit THEN
7. DBValue += Delta (+1)
Considere el siguiente ejemplo, partiendo de un Counter en la base de datos de 8 con un intervalo de tiempo de 300 seg:
Counter = 8
ElapsedTime = 13:29:57 - 13:26:22 = 215
CurrentCounter = ( 1 - (215 / 300) ) * 8 = 2.27
Delta = 2.27 - 8 = -5.73
* * permitir correo .... CurrentCounter (+1) < Limit * *
DBValue += -5.73 (+1) = 3.27