*/
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();
}