package org.opendaylight.protocol.bgp.rib.impl;
import com.google.common.base.Preconditions;
-
import java.util.Queue;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.ConcurrentMap;
-
import org.opendaylight.protocol.bgp.rib.impl.spi.AdjRIBsOut;
import org.opendaylight.protocol.bgp.rib.spi.RouteEncoder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev130919.Update;
* A per-peer collection of data which needs to be sent out. This class is kept lockfree
* on purpose.
*/
+@Deprecated
abstract class AbstractAdjRIBsOut implements AdjRIBsOut {
private final ConcurrentMap<Object, AdjRIBOutEntry<Object, Route>> data = new ConcurrentHashMap<>();
private final Queue<Object> queue = new ConcurrentLinkedQueue<>();
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.route.Attributes;
import org.opendaylight.yangtools.yang.binding.DataContainer;
+@Deprecated
final class AdjRIBOutEntry<K, V extends Route> {
@SuppressWarnings("rawtypes")
private static final AtomicReferenceFieldUpdater<AdjRIBOutEntry, Route> NLRIENTRY_ADV_UPDATER = AtomicReferenceFieldUpdater.newUpdater(AdjRIBOutEntry.class, Route.class, "advertisedValue");
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+@Deprecated
class AdjRIBsTransactionImpl implements AdjRIBsTransaction {
private static final Logger LOG = LoggerFactory.getLogger(AdjRIBsTransactionImpl.class);
private final BGPObjectComparator comparator;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
+@Deprecated
final class Ipv4AdjRIBsIn extends AbstractAdjRIBs<Ipv4Prefix, Ipv4Route, Ipv4RouteKey> {
private final InstanceIdentifier<Ipv4Routes> routesBasePath;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
+@Deprecated
final class Ipv6AdjRIBsIn extends AbstractAdjRIBs<Ipv6Prefix, Ipv6Route, Ipv6RouteKey> {
private final InstanceIdentifier<Ipv6Routes> routesBasePath;
});
}
+ @Deprecated
synchronized void initTables(final byte[] remoteBgpId) {
}
@Override
+ @Deprecated
public synchronized void updateTables(final Peer peer, final Update message) {
final AdjRIBsTransactionImpl trans = new AdjRIBsTransactionImpl(this.ribOuts, this.comparator, this.chain.newWriteOnlyTransaction());
});
}
+ @Deprecated
@Override
public synchronized void clearTable(final Peer peer, final TablesKey key) {
final AdjRIBsIn<?, ?> ari = this.tables.get(key);
}
@SuppressWarnings("unchecked")
+ @Deprecated
protected <K, V extends Route> AdjRIBsIn<K, V> getTable(final TablesKey key) {
return (AdjRIBsIn<K, V>) this.tables.get(key);
}
return this.dispatcher;
}
+ @Deprecated
@Override
public void initTable(final Peer bgpPeer, final TablesKey key) {
// FIXME: BUG-196: support graceful restart
package org.opendaylight.protocol.bgp.rib.impl;
import com.google.common.base.Preconditions;
-
import java.util.HashMap;
import java.util.Map;
-
import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.opendaylight.protocol.bgp.rib.RibReference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+@Deprecated
final class RIBTables {
private static final Logger LOG = LoggerFactory.getLogger(RIBTables.class);
package org.opendaylight.protocol.bgp.rib.impl;
import com.google.common.base.Preconditions;
-
import java.util.concurrent.atomic.AtomicBoolean;
-
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev130919.Update;
+@Deprecated
final class SessionRIBsOut extends AbstractAdjRIBsOut implements Runnable {
private final AtomicBoolean scheduled = new AtomicBoolean(false);
private final BGPSessionImpl session;
import org.opendaylight.protocol.bgp.rib.spi.RouteEncoder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.Route;
+@Deprecated
public interface AdjRIBsOut {
void put(final RouteEncoder ribOut, final Object key, final Route newValue);
}
import org.opendaylight.yangtools.concepts.AbstractObjectRegistration;
+@Deprecated
public abstract class AdjRIBsOutRegistration extends AbstractObjectRegistration<AdjRIBsOut> {
protected AdjRIBsOutRegistration(final AdjRIBsOut instance) {
super(instance);
*/
@Nonnull Set<? extends BgpTableType> getLocalTables();
+ @Deprecated
void initTable(Peer bgpPeer, TablesKey key);
+ @Deprecated
void clearTable(Peer bgpPeer, TablesKey key);
+ @Deprecated
void updateTables(Peer bgpPeer, Update message);
BGPDispatcher getDispatcher();
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+@Deprecated
@ThreadSafe
public abstract class AbstractAdjRIBs<I, D extends Identifiable<K> & Route, K extends Identifier<D>> implements AdjRIBsIn<I, D>, RouteEncoder {
protected abstract static class RIBEntryData<I, D extends Identifiable<K> & Route, K extends Identifier<D>> {
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.rib.TablesKey;
import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
+@Deprecated
public interface AdjRIBsFactory {
/*
* Create an instance of route tables for the specified backend data store. Note that the
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.update.path.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> {
/**
/**
* An execution context for a single LocRib transaction.
*/
+@Deprecated
public interface AdjRIBsTransaction {
BGPObjectComparator comparator();
* This comparator is intended to implement BGP Best Path Selection algorithm, as described at
* <a href="http://www.cisco.com/en/US/tech/tk365/technologies_tech_note09186a0080094431.shtml">here</a>
*/
+@Deprecated
public final class BGPObjectComparator implements Comparator<RIBEntryData<?, ?, ?>>, Serializable {
private static final long serialVersionUID = 3299599519482155374L;
* on ordering specified by the supplied comparator.
*
*/
+@Deprecated
final class RIBEntry<I, D extends Identifiable<K> & Route, K extends Identifier<D>> {
private static final Logger LOG = LoggerFactory.getLogger(RIBEntry.class);
private static final int DEFAULT_MAP_SIZE = 2;
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.rib.rev130925.Route;
+@Deprecated
public interface RouteEncoder {
Update updateMessageFor(Object key, Route route);
}