import com.google.common.collect.Iterables;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
-import java.util.AbstractMap;
-import java.util.Map;
+import java.util.AbstractMap.SimpleEntry;
+import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import org.opendaylight.bgp.concepts.NextHopUtil;
private final ConcurrentMap<BgpTableType, NlriParser> handlers = new ConcurrentHashMap<>();
private final ConcurrentMap<Class<? extends DataObject>, NlriSerializer> serializers = new ConcurrentHashMap<>();
private final ConcurrentMap<BgpTableType, NextHopParserSerializer> nextHopParsers = new ConcurrentHashMap<>();
- private final ConcurrentMap<Map.Entry<Class<? extends CNextHop>, BgpTableType>, NextHopParserSerializer> nextHopSerializers = new ConcurrentHashMap<>();
+ private final ConcurrentMap<Entry<Class<? extends CNextHop>, BgpTableType>, NextHopParserSerializer> nextHopSerializers = new ConcurrentHashMap<>();
private final SubsequentAddressFamilyRegistry safiReg;
private final AddressFamilyRegistry afiReg;
this.nextHopParsers.put(key,nextHopSerializer);
if (cNextHopClass != null) {
- final Map.Entry<Class<? extends CNextHop>, BgpTableType> nhKey = new AbstractMap.SimpleEntry(cNextHopClass, key);
+ final Entry<Class<? extends CNextHop>, BgpTableType> nhKey = new SimpleEntry<>(cNextHopClass, key);
this.nextHopSerializers.put(nhKey, nextHopSerializer);
for (final Class<? extends CNextHop> cNextHop : cNextHopClassList) {
- final Map.Entry<Class<? extends CNextHop>, BgpTableType> nhKeys = new AbstractMap.SimpleEntry(cNextHop, key);
+ final Entry<Class<? extends CNextHop>, BgpTableType> nhKeys = new SimpleEntry<>(cNextHop, key);
this.nextHopSerializers.put(nhKeys, nextHopSerializer);
}
}
SimpleNlriRegistry.this.handlers.remove(key);
SimpleNlriRegistry.this.nextHopParsers.remove(key);
if (cNextHopClass != null) {
- final Map.Entry<Class<? extends CNextHop>, BgpTableType> nhKey = new AbstractMap.SimpleEntry(cNextHopClass, key);
+ final Entry<Class<? extends CNextHop>, BgpTableType> nhKey = new SimpleEntry<>(cNextHopClass, key);
SimpleNlriRegistry.this.nextHopSerializers.remove(nhKey);
for (final Class<? extends CNextHop> cNextHop : cNextHopClassList) {
- final Map.Entry<Class<? extends CNextHop>, BgpTableType> nhKeys = new AbstractMap.SimpleEntry(cNextHop, key);
+ final Entry<Class<? extends CNextHop>, BgpTableType> nhKeys = new SimpleEntry<>(cNextHop, key);
SimpleNlriRegistry.this.nextHopSerializers.remove(nhKeys);
}
}
return safi;
}
- @Override
- public MpUnreachNlri parseMpUnreach(final ByteBuf buffer) throws BGPParsingException {
- return parseMpUnreach(buffer, null);
- }
-
@Override
public MpUnreachNlri parseMpUnreach(final ByteBuf buffer, final PeerSpecificParserConstraint constraint)
throws BGPParsingException {
final CNextHop cNextHop = mpReachNlri.getCNextHop();
if (cNextHop != null) {
- final Map.Entry<Class<? extends CNextHop>, BgpTableType> key = new AbstractMap.SimpleEntry(cNextHop.getImplementedInterface(),
- new BgpTableTypeImpl(afi, safi));
+ final Entry<Class<? extends CNextHop>, BgpTableType> key = new SimpleEntry(
+ cNextHop.getImplementedInterface(), new BgpTableTypeImpl(afi, safi));
final NextHopParserSerializer nextHopSerializer = this.nextHopSerializers.get(key);
final ByteBuf nextHopBuffer = Unpooled.buffer();
- if (nextHopSerializer == null) {
- //TODO Remove once deprecated registerNlriParser is removed
- LOG.warn("NexHop Parser/Serializer for AFI/SAFI ({},{}) not bound", afi, safi);
- NextHopUtil.serializeNextHop(cNextHop, nextHopBuffer);
- } else {
- nextHopSerializer.serializeNextHop(cNextHop, nextHopBuffer);
- }
+ nextHopSerializer.serializeNextHop(cNextHop, nextHopBuffer);
byteAggregator.writeByte(nextHopBuffer.writerIndex());
byteAggregator.writeBytes(nextHopBuffer);
return Iterables.unmodifiableIterable(this.serializers.values());
}
- @Override
- public MpReachNlri parseMpReach(final ByteBuf buffer) throws BGPParsingException {
- return parseMpReach(buffer, null);
- }
-
@Override
public MpReachNlri parseMpReach(final ByteBuf buffer, final PeerSpecificParserConstraint constraint)
throws BGPParsingException {