Flush session on AdjRibOutListener convergence 85/96685/3
authorRobert Varga <robert.varga@pantheon.tech>
Sat, 26 Jun 2021 08:43:41 +0000 (10:43 +0200)
committerRobert Varga <nite@hq.sk>
Mon, 28 Jun 2021 12:29:26 +0000 (12:29 +0000)
AdjRibOutListener should send out a flush session when it reaches
initial convergence without any data.

Change-Id: I3844a2912e0d23f679c4fcb620c8da451e6958c1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/AdjRibOutListener.java

index e8a297024bc66765163f5e38b3a4687b24a9085a..f368faa21385ceffc8cb3f52197c5bfd354dfc0d 100644 (file)
@@ -110,7 +110,7 @@ final class AdjRibOutListener implements ClusteredDOMDataTreeChangeListener, Pre
 
     @Override
     public void onInitialData() {
-        // FIXME: flush initial state
+        flushSession();
     }
 
     @Override
@@ -122,12 +122,15 @@ final class AdjRibOutListener implements ClusteredDOMDataTreeChangeListener, Pre
                 processSupportedFamilyRoutes(child);
             }
         }
+        flushSession();
+    }
+
+    private void flushSession() {
         if (initalState) {
-            final Update endOfRib = BgpPeerUtil.createEndOfRib(this.tablesKey);
-            this.session.write(endOfRib);
-            this.initalState = false;
+            session.write(BgpPeerUtil.createEndOfRib(tablesKey));
+            initalState = false;
         }
-        this.session.flush();
+        session.flush();
     }
 
     private void processSupportedFamilyRoutes(final DataTreeCandidateNode child) {