added some logging for max session time

This commit is contained in:
Radu Ioan Fericean
2013-12-12 19:12:50 +02:00
parent c68660367b
commit da2ac4ea28

View File

@@ -415,6 +415,7 @@ func (cd *CallDescriptor) GetMaxSessionDuration() (time.Duration, error) {
if cd.CallDuration == 0 {
cd.CallDuration = cd.TimeEnd.Sub(cd.TimeStart)
}
Logger.Debug(fmt.Sprintf("MAX SESSION cd: %+v", cd))
err := cd.LoadRatingPlans()
if err != nil {
Logger.Err(fmt.Sprintf("error getting cost for key %v: %v", cd.GetUserBalanceKey(), err))
@@ -422,7 +423,6 @@ func (cd *CallDescriptor) GetMaxSessionDuration() (time.Duration, error) {
}
var availableDuration time.Duration
availableCredit := 0.0
// Logger.Debug(fmt.Sprintf("cd: %+v", cd))
if userBalance, err := cd.getUserBalance(); err == nil && userBalance != nil {
if userBalance.Type == UB_TYPE_POSTPAID {
return -1, nil
@@ -434,6 +434,7 @@ func (cd *CallDescriptor) GetMaxSessionDuration() (time.Duration, error) {
Logger.Err(fmt.Sprintf("Could not get user balance for %s: %s.", cd.GetUserBalanceKey(), err.Error()))
return 0, err
}
Logger.Debug(fmt.Sprintf("availableDuration: %v, availableCredit: %v", availableDuration, availableCredit))
// check for zero balance
if availableCredit == 0 {
return availableDuration, nil
@@ -443,7 +444,7 @@ func (cd *CallDescriptor) GetMaxSessionDuration() (time.Duration, error) {
// there are enough minutes for requested interval
return initialDuration, nil
}
Logger.Debug(fmt.Sprintf("initial Duration: %v", initialDuration))
// we must move the timestart for the interval with the available duration because
// that was already checked
cd.TimeStart = cd.TimeStart.Add(availableDuration)
@@ -455,6 +456,7 @@ func (cd *CallDescriptor) GetMaxSessionDuration() (time.Duration, error) {
// now let's check how many increments are covered with the avilableCredit
for _, ts := range cc.Timespans {
ts.createIncrementsSlice()
Logger.Debug(fmt.Sprintf("TS: %+v", ts))
for _, incr := range ts.Increments {
if incr.Cost <= availableCredit {
availableCredit -= incr.Cost