Fix for meter delete and meter state update
Change-Id: Ic0945a6785da87aa66ab9620b0a599d75e563c78
diff --git a/internal/pkg/controller/device.go b/internal/pkg/controller/device.go
index 8d185a3..a3527c8 100644
--- a/internal/pkg/controller/device.go
+++ b/internal/pkg/controller/device.go
@@ -393,6 +393,19 @@
return nil
}
+// UpdateMeter to update meter
+func (d *Device) UpdateMeter(cntx context.Context, meter *of.Meter) error {
+ d.meterLock.Lock()
+ defer d.meterLock.Unlock()
+ if _, ok := d.meters[meter.ID]; ok {
+ d.meters[meter.ID] = meter
+ d.AddMeterToDb(cntx, meter)
+ } else {
+ return errors.New("Meter not found for updation")
+ }
+ return nil
+}
+
// GetMeter to get meter
func (d *Device) GetMeter(id uint32) (*of.Meter, error) {
d.meterLock.RLock()