import java.util.List;
import org.kohsuke.MetaInfServices;
import org.opendaylight.protocol.bgp.linkstate.impl.attribute.LinkstateAttributeParser;
-import org.opendaylight.protocol.bgp.linkstate.impl.nlri.Ipv4PrefixNlriParser;
-import org.opendaylight.protocol.bgp.linkstate.impl.nlri.Ipv6PrefixNlriParser;
-import org.opendaylight.protocol.bgp.linkstate.impl.nlri.LinkNlriParser;
import org.opendaylight.protocol.bgp.linkstate.impl.nlri.LinkstateNlriParser;
-import org.opendaylight.protocol.bgp.linkstate.impl.nlri.NodeNlriParser;
-import org.opendaylight.protocol.bgp.linkstate.impl.nlri.TeLspIpv4NlriParser;
-import org.opendaylight.protocol.bgp.linkstate.impl.nlri.TeLspIpv6NlriParser;
-import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.AdvertisingNodeDescriptorTlvParser;
-import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.AreaIdTlvParser;
-import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.AsNumTlvParser;
-import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.BgpRouterIdTlvParser;
-import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.DomainIdTlvParser;
-import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.Ipv4InterfaceTlvParser;
-import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.Ipv4NeighborTlvParser;
-import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.Ipv6InterfaceTlvParser;
-import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.Ipv6NeighborTlvParser;
-import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.LinkIdTlvParser;
-import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.LocalNodeDescriptorTlvParser;
-import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.MemAsNumTlvParser;
-import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.MultiTopoIdTlvParser;
-import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.NodeDescriptorTlvParser;
-import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.OspfRouteTlvParser;
-import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.ReachTlvParser;
-import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.RemoteNodeDescriptorTlvParser;
-import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.RouterIdTlvParser;
-import org.opendaylight.protocol.bgp.linkstate.spi.pojo.SimpleNlriTypeRegistry;
import org.opendaylight.protocol.bgp.parser.spi.AbstractBGPExtensionProviderActivator;
import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionProviderActivator;
import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionProviderContext;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev200120.Attributes1;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev200120.LinkstateAddressFamily;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev200120.LinkstateSubsequentAddressFamily;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev200120.linkstate.object.type.LinkCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev200120.linkstate.object.type.NodeCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev200120.linkstate.object.type.PrefixCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev200120.linkstate.object.type.TeLspCase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev200120.linkstate.routes.LinkstateRoutes;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev200120.next.hop.c.next.hop.Ipv4NextHopCase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev200120.next.hop.c.next.hop.Ipv6NextHopCase;
protected List<Registration> startImpl(final BGPExtensionProviderContext context) {
final List<Registration> regs = new ArrayList<>();
- final SimpleNlriTypeRegistry nlriTypeReg = SimpleNlriTypeRegistry.getInstance();
regs.add(context.registerAddressFamily(LinkstateAddressFamily.class, LINKSTATE_AFI));
regs.add(context.registerSubsequentAddressFamily(LinkstateSubsequentAddressFamily.class, LINKSTATE_SAFI));
this.ianaLinkstateAttributeType, this.rsvpTeObjectRegistry);
regs.add(context.registerAttributeParser(linkstateAttributeParser.getType(), linkstateAttributeParser));
- registerNlriCodecs(regs, nlriTypeReg);
- registerNlriTlvCodecs(regs, nlriTypeReg);
return regs;
}
- private static void registerNlriCodecs(final List<Registration> regs, final SimpleNlriTypeRegistry nlriTypeReg) {
-
- final NodeNlriParser nodeParser = new NodeNlriParser();
- regs.add(nlriTypeReg.registerNlriParser(nodeParser.getNlriType(), nodeParser));
- regs.add(nlriTypeReg.registerNlriSerializer(NodeCase.class, nodeParser));
-
- final LinkNlriParser linkParser = new LinkNlriParser();
- regs.add(nlriTypeReg.registerNlriParser(linkParser.getNlriType(), linkParser));
- regs.add(nlriTypeReg.registerNlriSerializer(LinkCase.class, linkParser));
-
- final Ipv4PrefixNlriParser ipv4PrefixParser = new Ipv4PrefixNlriParser();
- regs.add(nlriTypeReg.registerNlriParser(ipv4PrefixParser.getNlriType(), ipv4PrefixParser));
- regs.add(nlriTypeReg.registerNlriSerializer(PrefixCase.class, ipv4PrefixParser));
- final Ipv6PrefixNlriParser ipv6PrefixParser = new Ipv6PrefixNlriParser();
- regs.add(nlriTypeReg.registerNlriParser(ipv6PrefixParser.getNlriType(), ipv6PrefixParser));
-
- final TeLspIpv4NlriParser teLspIpv4Parser = new TeLspIpv4NlriParser();
- regs.add(nlriTypeReg.registerNlriParser(teLspIpv4Parser.getNlriType(), teLspIpv4Parser));
- regs.add(nlriTypeReg.registerNlriSerializer(TeLspCase.class, teLspIpv4Parser));
- final TeLspIpv6NlriParser teLspIpv6Parser = new TeLspIpv6NlriParser();
- regs.add(nlriTypeReg.registerNlriParser(teLspIpv6Parser.getNlriType(), teLspIpv6Parser));
- }
-
- private static void registerNlriTlvCodecs(final List<Registration> regs, final SimpleNlriTypeRegistry nlriTypeReg) {
-
- final LocalNodeDescriptorTlvParser localParser = new LocalNodeDescriptorTlvParser();
- regs.add(nlriTypeReg.registerTlvParser(localParser.getType(), localParser));
- regs.add(nlriTypeReg.registerTlvSerializer(localParser.getTlvQName(), localParser));
-
- final NodeDescriptorTlvParser nodeParser = new NodeDescriptorTlvParser();
- regs.add(nlriTypeReg.registerTlvSerializer(nodeParser.getTlvQName(), nodeParser));
-
- final AdvertisingNodeDescriptorTlvParser advParser = new AdvertisingNodeDescriptorTlvParser();
- regs.add(nlriTypeReg.registerTlvSerializer(advParser.getTlvQName(), advParser));
-
- final RemoteNodeDescriptorTlvParser remoteParser = new RemoteNodeDescriptorTlvParser();
- regs.add(nlriTypeReg.registerTlvParser(remoteParser.getType(), remoteParser));
- regs.add(nlriTypeReg.registerTlvSerializer(remoteParser.getTlvQName(), remoteParser));
-
- final RouterIdTlvParser bgpCrouterIdParser = new RouterIdTlvParser();
- regs.add(nlriTypeReg.registerTlvParser(bgpCrouterIdParser.getType(), bgpCrouterIdParser));
- regs.add(nlriTypeReg.registerTlvSerializer(bgpCrouterIdParser.getTlvQName(), bgpCrouterIdParser));
-
- final AsNumTlvParser asNumParser = new AsNumTlvParser();
- regs.add(nlriTypeReg.registerTlvParser(asNumParser.getType(), asNumParser));
- regs.add(nlriTypeReg.registerTlvSerializer(asNumParser.getTlvQName(), asNumParser));
-
- final DomainIdTlvParser bgpDomainIdParser = new DomainIdTlvParser();
- regs.add(nlriTypeReg.registerTlvParser(bgpDomainIdParser.getType(), bgpDomainIdParser));
- regs.add(nlriTypeReg.registerTlvSerializer(bgpDomainIdParser.getTlvQName(), bgpDomainIdParser));
-
- final AreaIdTlvParser areaIdParser = new AreaIdTlvParser();
- regs.add(nlriTypeReg.registerTlvParser(areaIdParser.getType(), areaIdParser));
- regs.add(nlriTypeReg.registerTlvSerializer(areaIdParser.getTlvQName(), areaIdParser));
-
- final BgpRouterIdTlvParser bgpRouterIdParser = new BgpRouterIdTlvParser();
- regs.add(nlriTypeReg.registerTlvParser(bgpRouterIdParser.getType(), bgpRouterIdParser));
- regs.add(nlriTypeReg.registerTlvSerializer(bgpRouterIdParser.getTlvQName(), bgpRouterIdParser));
-
- final MemAsNumTlvParser memAsnParser = new MemAsNumTlvParser();
- regs.add(nlriTypeReg.registerTlvParser(memAsnParser.getType(), memAsnParser));
- regs.add(nlriTypeReg.registerTlvSerializer(memAsnParser.getTlvQName(), memAsnParser));
-
- final LinkIdTlvParser linkIdParser = new LinkIdTlvParser();
- regs.add(nlriTypeReg.registerTlvParser(linkIdParser.getType(), linkIdParser));
- regs.add(nlriTypeReg.registerTlvSerializer(linkIdParser.getTlvQName(), linkIdParser));
-
- final Ipv4NeighborTlvParser ipv4nNeighborParser = new Ipv4NeighborTlvParser();
- regs.add(nlriTypeReg.registerTlvParser(ipv4nNeighborParser.getType(), ipv4nNeighborParser));
- regs.add(nlriTypeReg.registerTlvSerializer(ipv4nNeighborParser.getTlvQName(), ipv4nNeighborParser));
-
- final Ipv6NeighborTlvParser ipv6NeighborParser = new Ipv6NeighborTlvParser();
- regs.add(nlriTypeReg.registerTlvParser(ipv6NeighborParser.getType(), ipv6NeighborParser));
- regs.add(nlriTypeReg.registerTlvSerializer(ipv6NeighborParser.getTlvQName(), ipv6NeighborParser));
-
- final Ipv4InterfaceTlvParser ipv4InterfaceParser = new Ipv4InterfaceTlvParser();
- regs.add(nlriTypeReg.registerTlvParser(ipv4InterfaceParser.getType(), ipv4InterfaceParser));
- regs.add(nlriTypeReg.registerTlvSerializer(ipv4InterfaceParser.getTlvQName(), ipv4InterfaceParser));
-
- final Ipv6InterfaceTlvParser ipv6InterfaceParser = new Ipv6InterfaceTlvParser();
- regs.add(nlriTypeReg.registerTlvParser(ipv6InterfaceParser.getType(), ipv6InterfaceParser));
- regs.add(nlriTypeReg.registerTlvSerializer(ipv6InterfaceParser.getTlvQName(), ipv6InterfaceParser));
-
- final MultiTopoIdTlvParser multiTopoIdParser = new MultiTopoIdTlvParser();
- regs.add(nlriTypeReg.registerTlvParser(multiTopoIdParser.getType(), multiTopoIdParser));
- regs.add(nlriTypeReg.registerTlvSerializer(multiTopoIdParser.getTlvQName(), multiTopoIdParser));
-
- final ReachTlvParser ipv4ReachParser = new ReachTlvParser();
- regs.add(nlriTypeReg.registerTlvParser(ipv4ReachParser.getType(), ipv4ReachParser));
- regs.add(nlriTypeReg.registerTlvSerializer(ipv4ReachParser.getTlvQName(), ipv4ReachParser));
-
- final OspfRouteTlvParser ospfRouterParser = new OspfRouteTlvParser();
- regs.add(nlriTypeReg.registerTlvParser(ospfRouterParser.getType(), ospfRouterParser));
- regs.add(nlriTypeReg.registerTlvSerializer(ospfRouterParser.getTlvQName(), ospfRouterParser));
- }
-
@Override
public String toString() {
return MoreObjects.toStringHelper(this).add("ianaLinkstateAttribute", ianaLinkstateAttributeType).toString();
import io.netty.buffer.Unpooled;
import java.util.HashMap;
import java.util.Map;
+import org.eclipse.jdt.annotation.NonNull;
+import org.opendaylight.protocol.bgp.linkstate.impl.nlri.Ipv4PrefixNlriParser;
+import org.opendaylight.protocol.bgp.linkstate.impl.nlri.Ipv6PrefixNlriParser;
+import org.opendaylight.protocol.bgp.linkstate.impl.nlri.LinkNlriParser;
+import org.opendaylight.protocol.bgp.linkstate.impl.nlri.NodeNlriParser;
+import org.opendaylight.protocol.bgp.linkstate.impl.nlri.TeLspIpv4NlriParser;
+import org.opendaylight.protocol.bgp.linkstate.impl.nlri.TeLspIpv6NlriParser;
+import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.AdvertisingNodeDescriptorTlvParser;
+import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.AreaIdTlvParser;
+import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.AsNumTlvParser;
+import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.BgpRouterIdTlvParser;
+import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.DomainIdTlvParser;
+import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.Ipv4InterfaceTlvParser;
+import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.Ipv4NeighborTlvParser;
+import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.Ipv6InterfaceTlvParser;
+import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.Ipv6NeighborTlvParser;
+import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.LinkIdTlvParser;
+import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.LocalNodeDescriptorTlvParser;
+import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.MemAsNumTlvParser;
+import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.MultiTopoIdTlvParser;
+import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.NodeDescriptorTlvParser;
+import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.OspfRouteTlvParser;
+import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.ReachTlvParser;
+import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.RemoteNodeDescriptorTlvParser;
+import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.RouterIdTlvParser;
import org.opendaylight.protocol.bgp.linkstate.spi.LinkstateTlvParser;
import org.opendaylight.protocol.bgp.linkstate.spi.NlriTypeCaseParser;
import org.opendaylight.protocol.bgp.linkstate.spi.NlriTypeCaseSerializer;
import org.opendaylight.protocol.concepts.MultiRegistry;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev200120.linkstate.ObjectType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev200120.linkstate.destination.CLinkstateDestination;
-import org.opendaylight.yangtools.concepts.Registration;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev200120.linkstate.object.type.LinkCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev200120.linkstate.object.type.NodeCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev200120.linkstate.object.type.PrefixCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev200120.linkstate.object.type.TeLspCase;
import org.opendaylight.yangtools.yang.common.QName;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public final class SimpleNlriTypeRegistry {
private static final Logger LOG = LoggerFactory.getLogger(SimpleNlriTypeRegistry.class);
- private static final SimpleNlriTypeRegistry SINGLETON = new SimpleNlriTypeRegistry();
+ private static final @NonNull SimpleNlriTypeRegistry INSTANCE = new SimpleNlriTypeRegistry();
+
private final HandlerRegistry<ObjectType, NlriTypeCaseParser, NlriTypeCaseSerializer> nlriRegistry =
new HandlerRegistry<>();
private final MultiRegistry<QName, LinkstateTlvParser.LinkstateTlvSerializer<?>> tlvSerializers =
private final MultiRegistry<Integer, LinkstateTlvParser<?>> tlvParsers = new MultiRegistry<>();
private SimpleNlriTypeRegistry() {
+ // NLRIs
+ final NodeNlriParser nodeParser = new NodeNlriParser();
+ nlriRegistry.registerParser(nodeParser.getNlriType(), nodeParser);
+ nlriRegistry.registerSerializer(NodeCase.class, nodeParser);
+
+ final LinkNlriParser linkParser = new LinkNlriParser();
+ nlriRegistry.registerParser(linkParser.getNlriType(), linkParser);
+ nlriRegistry.registerSerializer(LinkCase.class, linkParser);
+
+ final Ipv4PrefixNlriParser ipv4PrefixParser = new Ipv4PrefixNlriParser();
+ nlriRegistry.registerParser(ipv4PrefixParser.getNlriType(), ipv4PrefixParser);
+ nlriRegistry.registerSerializer(PrefixCase.class, ipv4PrefixParser);
+ final Ipv6PrefixNlriParser ipv6PrefixParser = new Ipv6PrefixNlriParser();
+ nlriRegistry.registerParser(ipv6PrefixParser.getNlriType(), ipv6PrefixParser);
+
+ final TeLspIpv4NlriParser teLspIpv4Parser = new TeLspIpv4NlriParser();
+ nlriRegistry.registerParser(teLspIpv4Parser.getNlriType(), teLspIpv4Parser);
+ nlriRegistry.registerSerializer(TeLspCase.class, teLspIpv4Parser);
+ final TeLspIpv6NlriParser teLspIpv6Parser = new TeLspIpv6NlriParser();
+ nlriRegistry.registerParser(teLspIpv6Parser.getNlriType(), teLspIpv6Parser);
+
+ // TLVs
+ final LocalNodeDescriptorTlvParser localParser = new LocalNodeDescriptorTlvParser();
+ tlvParsers.register(localParser.getType(), localParser);
+ tlvSerializers.register(localParser.getTlvQName(), localParser);
+
+ final NodeDescriptorTlvParser nodeDescriptorParser = new NodeDescriptorTlvParser();
+ tlvSerializers.register(nodeDescriptorParser.getTlvQName(), nodeDescriptorParser);
+
+ final AdvertisingNodeDescriptorTlvParser advParser = new AdvertisingNodeDescriptorTlvParser();
+ tlvSerializers.register(advParser.getTlvQName(), advParser);
+
+ final RemoteNodeDescriptorTlvParser remoteParser = new RemoteNodeDescriptorTlvParser();
+ tlvParsers.register(remoteParser.getType(), remoteParser);
+ tlvSerializers.register(remoteParser.getTlvQName(), remoteParser);
+
+ final RouterIdTlvParser bgpCrouterIdParser = new RouterIdTlvParser();
+ tlvParsers.register(bgpCrouterIdParser.getType(), bgpCrouterIdParser);
+ tlvSerializers.register(bgpCrouterIdParser.getTlvQName(), bgpCrouterIdParser);
+
+ final AsNumTlvParser asNumParser = new AsNumTlvParser();
+ tlvParsers.register(asNumParser.getType(), asNumParser);
+ tlvSerializers.register(asNumParser.getTlvQName(), asNumParser);
+
+ final DomainIdTlvParser bgpDomainIdParser = new DomainIdTlvParser();
+ tlvParsers.register(bgpDomainIdParser.getType(), bgpDomainIdParser);
+ tlvSerializers.register(bgpDomainIdParser.getTlvQName(), bgpDomainIdParser);
+
+ final AreaIdTlvParser areaIdParser = new AreaIdTlvParser();
+ tlvParsers.register(areaIdParser.getType(), areaIdParser);
+ tlvSerializers.register(areaIdParser.getTlvQName(), areaIdParser);
+
+ final BgpRouterIdTlvParser bgpRouterIdParser = new BgpRouterIdTlvParser();
+ tlvParsers.register(bgpRouterIdParser.getType(), bgpRouterIdParser);
+ tlvSerializers.register(bgpRouterIdParser.getTlvQName(), bgpRouterIdParser);
+
+ final MemAsNumTlvParser memAsnParser = new MemAsNumTlvParser();
+ tlvParsers.register(memAsnParser.getType(), memAsnParser);
+ tlvSerializers.register(memAsnParser.getTlvQName(), memAsnParser);
+
+ final LinkIdTlvParser linkIdParser = new LinkIdTlvParser();
+ tlvParsers.register(linkIdParser.getType(), linkIdParser);
+ tlvSerializers.register(linkIdParser.getTlvQName(), linkIdParser);
+
+ final Ipv4NeighborTlvParser ipv4nNeighborParser = new Ipv4NeighborTlvParser();
+ tlvParsers.register(ipv4nNeighborParser.getType(), ipv4nNeighborParser);
+ tlvSerializers.register(ipv4nNeighborParser.getTlvQName(), ipv4nNeighborParser);
+
+ final Ipv6NeighborTlvParser ipv6NeighborParser = new Ipv6NeighborTlvParser();
+ tlvParsers.register(ipv6NeighborParser.getType(), ipv6NeighborParser);
+ tlvSerializers.register(ipv6NeighborParser.getTlvQName(), ipv6NeighborParser);
+
+ final Ipv4InterfaceTlvParser ipv4InterfaceParser = new Ipv4InterfaceTlvParser();
+ tlvParsers.register(ipv4InterfaceParser.getType(), ipv4InterfaceParser);
+ tlvSerializers.register(ipv4InterfaceParser.getTlvQName(), ipv4InterfaceParser);
+
+ final Ipv6InterfaceTlvParser ipv6InterfaceParser = new Ipv6InterfaceTlvParser();
+ tlvParsers.register(ipv6InterfaceParser.getType(), ipv6InterfaceParser);
+ tlvSerializers.register(ipv6InterfaceParser.getTlvQName(), ipv6InterfaceParser);
+
+ final MultiTopoIdTlvParser multiTopoIdParser = new MultiTopoIdTlvParser();
+ tlvParsers.register(multiTopoIdParser.getType(), multiTopoIdParser);
+ tlvSerializers.register(multiTopoIdParser.getTlvQName(), multiTopoIdParser);
+
+ final ReachTlvParser ipv4ReachParser = new ReachTlvParser();
+ tlvParsers.register(ipv4ReachParser.getType(), ipv4ReachParser);
+ tlvSerializers.register(ipv4ReachParser.getTlvQName(), ipv4ReachParser);
+
+ final OspfRouteTlvParser ospfRouterParser = new OspfRouteTlvParser();
+ tlvParsers.register(ospfRouterParser.getType(), ospfRouterParser);
+ tlvSerializers.register(ospfRouterParser.getTlvQName(), ospfRouterParser);
}
- public static SimpleNlriTypeRegistry getInstance() {
- return SINGLETON;
- }
-
- public Registration registerNlriParser(final int type, final NlriTypeCaseParser parser) {
- return this.nlriRegistry.registerParser(type, parser);
- }
-
- public Registration registerNlriSerializer(final Class<? extends ObjectType> clazzType,
- final NlriTypeCaseSerializer serializer) {
- return this.nlriRegistry.registerSerializer(clazzType, serializer);
- }
-
- public <T> Registration registerTlvParser(final int tlvType, final LinkstateTlvParser<T> parser) {
- return this.tlvParsers.register(tlvType, parser);
- }
-
- public <T> Registration registerTlvSerializer(final QName tlvQName,
- final LinkstateTlvParser.LinkstateTlvSerializer<T> serializer) {
- return this.tlvSerializers.register(tlvQName, serializer);
+ public static @NonNull SimpleNlriTypeRegistry getInstance() {
+ return INSTANCE;
}
public CLinkstateDestination parseNlriType(final ByteBuf buffer) {