From 3df2d72ca14fc776c1ce4a89038e1bc1441ea87a Mon Sep 17 00:00:00 2001
From: Fabian Seidl <fabian.b.seidl@stud.h-da.de>
Date: Wed, 20 Jul 2022 14:18:49 +0200
Subject: [PATCH] improved handling of repsonse types

---
 controller/nucleus/gnmi_transport.go | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/controller/nucleus/gnmi_transport.go b/controller/nucleus/gnmi_transport.go
index 6cef34e31..d430a392e 100644
--- a/controller/nucleus/gnmi_transport.go
+++ b/controller/nucleus/gnmi_transport.go
@@ -257,12 +257,18 @@ func (g *Gnmi) ProcessControlPlaneSubscribeResponse(resp *gpb.SubscribeResponse_
 	}
 
 	notification := resp.Update
-	if err := g.processResponseUpdates(notification.Update, dModel, root.(ygot.ValidatedGoStruct), schema); err != nil {
-		return err
+
+	if len(notification.Update) > 0 {
+		if err := g.processResponseUpdates(notification.Update, dModel, root.(ygot.ValidatedGoStruct), schema); err != nil {
+			return err
+		}
 	}
+
 	//TODO: maybe remove and combine into one function/method!
-	if err := g.processResponseDeletes(notification.Delete, dModel, schema); err != nil {
-		return err
+	if len(notification.Delete) > 0 {
+		if err := g.processResponseDeletes(notification.Delete, dModel, schema); err != nil {
+			return err
+		}
 	}
 
 	return nil
-- 
GitLab