PROBLEMA
Come viene calcolato il Quota Counter sui messaggi? Vedo valori decimali nei contatori del numero di messaggi, com’è possibile?
SOLUZIONE
Il contatore viene incrementato così, quando viene tracciato un nuovo messaggio:
1. Read actual Counter value from DB
2. ElapsedTime = Now - LastUpdate
3. IF ElapsedTime > Period (the one defined for the quota rule) THEN CurrentCounter = 0 ELSE CurrentCounter = ( 1 - (ElapsedTime / Period) ) * Counter
4. Delta = CurrentCounter - Counter
5. Increment CurrentCounter
6. IF CurrentCounter > Limit THEN
7. DBValue += Delta (+1)
Considera l’esempio seguente, partendo da un DB Counter pari a 8 con una finestra temporale di 300 sec:
Counter = 8
ElapsedTime = 13:29:57 - 13:26:22 = 215
CurrentCounter = ( 1 - (215 / 300) ) * 8 = 2.27
Delta = 2.27 - 8 = -5.73
* * allow mail .... CurrentCounter (+1) < Limit * *
DBValue += -5.73 (+1) = 3.27