mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-16 13:49:53 +05:00
Debug for lastUsed in diameter
This commit is contained in:
@@ -77,6 +77,7 @@ func (self *SMGSession) debitLoop(debitInterval time.Duration) {
|
||||
|
||||
// Attempts to debit a duration, returns maximum duration which can be debitted or error
|
||||
func (self *SMGSession) debit(dur time.Duration, lastUsed time.Duration) (time.Duration, error) {
|
||||
utils.Logger.Debug(fmt.Sprintf("### SMGSession.debit durationIndex: %v, dur: %v, lastUsed: %v", self.cd.DurationIndex, dur, lastUsed))
|
||||
self.lastUsage = dur // Reset the lastUsage for later reference
|
||||
lastUsedCorrection := time.Duration(0) // Used if lastUsed influences the debit
|
||||
if self.cd.DurationIndex != 0 && lastUsed != 0 {
|
||||
@@ -88,6 +89,7 @@ func (self *SMGSession) debit(dur time.Duration, lastUsed time.Duration) (time.D
|
||||
}
|
||||
// apply the lastUsed correction
|
||||
dur += lastUsedCorrection
|
||||
utils.Logger.Debug(fmt.Sprintf("### After lastUsedCorrection, durationIndex: %v, dur: %v, lastUsed: %v, lastUsedCorrection", self.cd.DurationIndex, dur, lastUsed, lastUsedCorrection))
|
||||
// apply correction from previous run
|
||||
dur -= self.extraDuration
|
||||
self.extraDuration = 0
|
||||
@@ -107,7 +109,11 @@ func (self *SMGSession) debit(dur time.Duration, lastUsed time.Duration) (time.D
|
||||
if ccDuration != dur {
|
||||
self.extraDuration = ccDuration - dur
|
||||
}
|
||||
utils.Logger.Debug(fmt.Sprintf("### ANSWER durationIndex: %v, dur: %v, extraDuration: %v, lastUsed: %v, lastUsedCorrection: %v",
|
||||
self.cd.DurationIndex, dur, self.extraDuration, lastUsed, lastUsedCorrection))
|
||||
dur -= lastUsedCorrection // Revert the correction to return the real duration reserved
|
||||
utils.Logger.Debug(fmt.Sprintf("### ANSWER after lastUsedCorrection, durationIndex: %v, dur: %v, lastUsedCorrection: %v",
|
||||
self.cd.DurationIndex, dur, lastUsedCorrection))
|
||||
self.cd.DurationIndex -= dur
|
||||
self.cd.DurationIndex += ccDuration
|
||||
self.cd.MaxCostSoFar += cc.Cost
|
||||
|
||||
Reference in New Issue
Block a user