PROBLÈME
Comment est calculé le compteur de quota sur les messages ? Je vois des valeurs décimales sur les compteurs qui suivent le nombre de messages, comment est-ce possible ?
SOLUTION
Le compteur est incrémenté comme suit, lorsqu'un nouveau message est comptabilisé :
1. Lire la valeur actuelle du compteur depuis la base de données
2. ElapsedTime = Now - LastUpdate
3. IF ElapsedTime > Period (celle définie pour la règle de quota) THEN CurrentCounter = 0 ELSE CurrentCounter = ( 1 - (ElapsedTime / Period) ) * Counter
4. Delta = CurrentCounter - Counter
5. Incrémenter CurrentCounter
6. IF CurrentCounter > Limit THEN
7. DBValue += Delta (+1)
Considérez l'exemple suivant, en partant d'un compteur de base de données de 8 avec une période de 300 secondes :
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