BUG-7976: Race between peer removal and routes update
[bgpcep.git] / bgp / rib-spi / src / main / java / org / opendaylight / protocol / bgp / rib / spi / PeerExportGroup.java
index ff7e91798d2e7179764310e696b2270c1b4a8472..31bb7ed57cd1283f3495bfaea44c9d1f569b3732 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.protocol.bgp.rib.spi;
 
 import java.util.Collection;
 import java.util.Map;
+import java.util.function.BiConsumer;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.PeerId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.PeerRole;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
@@ -48,8 +49,22 @@ public interface PeerExportGroup {
 
     /**
      * @return map of peer
+     * @deprecated Use {@link #forEach}
      */
+    @Deprecated
     Collection<Map.Entry<PeerId, PeerExporTuple>> getPeers();
 
+    /**
+     *
+     * @param routePeerId PeerId
+     * @return true if peer is present on this export group
+     */
     boolean containsPeer(PeerId routePeerId);
+
+    /**
+     * Applies the given action for each entry in this PeerExportGroup on synchronized mode
+     *
+     * @param action action to be applied
+     */
+    void forEach(BiConsumer<PeerId, YangInstanceIdentifier> action);
 }