BUG-2982 : moved path-attributes container to grouping
[bgpcep.git] / bgp / rib-spi / src / main / java / org / opendaylight / protocol / bgp / rib / spi / AdjRIBsIn.java
index f544b3cf9361b695eef2f2b060283b94dca4410e..fd240455c9dd32cfc7eb7ff043c590d7ec284b43 100644 (file)
@@ -7,13 +7,57 @@
  */
 package org.opendaylight.protocol.bgp.rib.spi;
 
-import org.opendaylight.controller.sal.binding.api.data.DataModificationTransaction;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev130918.update.PathAttributes;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130918.update.path.attributes.MpReachNlri;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130918.update.path.attributes.MpUnreachNlri;
-
-public interface AdjRIBsIn {
-       public void addRoutes(DataModificationTransaction trans, Peer peer, MpReachNlri nlri, PathAttributes attributes);
-       public void removeRoutes(DataModificationTransaction trans, Peer peer, MpUnreachNlri nlri);
-       public void clear(DataModificationTransaction trans, Peer peer);
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev130919.Update;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev130919.path.attributes.Attributes;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.update.attributes.MpReachNlri;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.update.attributes.MpReachNlriBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.update.attributes.MpUnreachNlri;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.Route;
+
+@Deprecated
+public interface AdjRIBsIn<K, V extends Route> {
+
+    /**
+     * Adds routes to this adjacency rib.
+     * @param trans data-store transaction
+     * @param peer advertising peer
+     * @param nlri routes
+     * @param attributes route attributes
+     */
+    void addRoutes(final AdjRIBsTransaction trans, final Peer peer, final MpReachNlri nlri, final Attributes attributes);
+
+    /**
+     * Removes routes from this adjacency rib.
+     * @param trans data-store transaction
+     * @param peer advertising peer
+     * @param nlri routes
+     */
+    void removeRoutes(final AdjRIBsTransaction trans, final Peer peer, final MpUnreachNlri nlri);
+
+    /**
+     * Clears adjacency rib tables.
+     * @param trans data-store transaction
+     * @param peer advertising peer
+     */
+    void clear(final AdjRIBsTransaction trans, final Peer peer);
+
+    /**
+     * Marks true or false the state of this adjacency rib.
+     * @param trans data-store transaction
+     * @param peer advertising peer
+     */
+    void markUptodate(final AdjRIBsTransaction trans, final Peer peer);
+
+    /**
+     * Transform an advertised data object into the corresponding NLRI in MP_REACH attribute.
+     * @param builder MP_REACH attribute builder
+     * @param data Data object
+     */
+    void addAdvertisement(final MpReachNlriBuilder builder, final V data);
+
+    /**
+     * Creates end-of-rib message for this adjacency rib.
+     * @return BGP Update message
+     */
+    Update endOfRib();
 }