shaping lcr qos

This commit is contained in:
Radu Ioan Fericean
2015-04-02 17:48:48 +03:00
parent 5f7876937c
commit c020ab02ea
3 changed files with 11 additions and 3 deletions

View File

@@ -339,7 +339,8 @@ func startCDRS(logDb engine.LogStorage, cdrDb engine.CdrStorage, responder *engi
cdrSrv := v1.CdrsV1{CdrSrv: cdrServer}
server.RpcRegister(&cdrSrv)
server.RpcRegister(&v2.CdrsV2{CdrsV1: cdrSrv})
responder.CdrSrv = cdrServer // Make the cdrserver available for internal communication
// Make the cdr servers available for internal communication
responder.CdrSrv = cdrServer
close(doneChan)
}

View File

@@ -656,7 +656,7 @@ func (cd *CallDescriptor) Clone() *CallDescriptor {
}
}
func (cd *CallDescriptor) GetLCR() (*LCRCost, error) {
func (cd *CallDescriptor) GetLCR(stats StatsInterface) (*LCRCost, error) {
lcr, err := dataStorage.GetLCR(cd.GetLCRKey(""), false)
if err != nil || lcr == nil {
// try the *any customer
@@ -719,7 +719,7 @@ func (cd *CallDescriptor) GetLCR() (*LCRCost, error) {
}
if ts.Entry.Strategy == LCR_STRATEGY_QOS_WITH_THRESHOLD {
// get stats and filter suppliers by qos thresholds
//stats.GetValues()
}
if cc, err := lcrCD.debit(cd.account, true, true); err != nil || cc == nil {
ts.SupplierCosts = append(ts.SupplierCosts, &LCRSupplierCost{

View File

@@ -44,6 +44,7 @@ type Responder struct {
Bal *balancer2go.Balancer
ExitChan chan bool
CdrSrv *CdrServer
Stats StatsInterface
}
/*
@@ -241,6 +242,12 @@ func (rs *Responder) ProcessCdr(cdr *StoredCdr, reply *string) error {
return nil
}
func (rs *Responder) GetLCR(cd *CallDescriptor, reply *LCRCost) error {
lcrCost, err := cd.GetLCR(rs.Stats)
*reply = *lcrCost
return err
}
func (rs *Responder) FlushCache(arg CallDescriptor, reply *float64) (err error) {
if rs.Bal != nil {
*reply, err = rs.callMethod(&arg, "Responder.FlushCache")