add option to close peer session without notification 88/77988/3
authorMatej Perina <matej.perina@pantheon.tech>
Tue, 20 Nov 2018 14:15:57 +0000 (15:15 +0100)
committerMatej Perina <matej.perina@pantheon.tech>
Sun, 25 Nov 2018 21:43:01 +0000 (22:43 +0100)
- from RFC4724 comes need to have option to close
  session without sending NOTIFICATION in certain
  situations

JIRA: BGPCEP-807

Change-Id: Ib560c3a15c1f2227829c151697a6fde98e3a7eed
Signed-off-by: Matej Perina <matej.perina@pantheon.tech>
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/BGPSessionImpl.java
bgp/rib-mock/src/main/java/org/opendaylight/protocol/bgp/rib/mock/EventBusRegistration.java
bgp/rib-spi/src/main/java/org/opendaylight/protocol/bgp/rib/spi/BGPSession.java

index 3bfbb7949476080e28fd7480237b802ef72617f2..ebe70f155db5c54e18c42b0353858f8c8c868992 100644 (file)
@@ -308,7 +308,8 @@ public class BGPSessionImpl extends SimpleChannelInboundHandler<Notification> im
         return this.channel.newFailedFuture(new NonWritableChannelException());
     }
 
-    private synchronized void closeWithoutMessage() {
+    @Override
+    public synchronized void closeWithoutMessage() {
         if (this.state == State.IDLE) {
             return;
         }
index d03181c21569454f6585420144dc98983dc0c725..97fdea549fe84eb691b307770dd75c11dd9ae34c 100644 (file)
@@ -200,5 +200,9 @@ final class EventBusRegistration extends AbstractListenerRegistration<BGPSession
             return Collections.emptyList();
         }
 
+        @Override
+        public void closeWithoutMessage() {
+            close();
+        }
     }
 }
index bef82a12a8c78e68a83f5dec68ca5936a9c7e394..7266368a2bfdd35177cadf4c2359c8a65d6aa38c 100644 (file)
@@ -64,4 +64,8 @@ public interface BGPSession extends AutoCloseable, ChannelInboundHandler {
     @Nonnull
     List<BgpTableType> getAdvertisedGracefulRestartTableTypes();
 
+    /**
+     * Close peer session without sending Notification message.
+     */
+    void closeWithoutMessage();
 }