Pre-size NLRI lists 54/35454/1
authorRobert Varga <robert.varga@pantheon.sk>
Thu, 25 Feb 2016 20:57:54 +0000 (21:57 +0100)
committerMilos Fabian <milfabia@cisco.com>
Fri, 26 Feb 2016 10:17:57 +0000 (10:17 +0000)
We have an input list, hence we know how big the output will be. Use
that to make sure we do not resize the list.

Change-Id: I6b8c9ec771416b98578820fd8b0b0d5104231c19
Signed-off-by: Robert Varga <robert.varga@pantheon.sk>
(cherry picked from commit 21b6b6dbcaa74e71ceb39492b76cc3171e5b6de0)

bgp/parser-impl/src/main/java/org/opendaylight/protocol/bgp/parser/impl/message/update/Ipv4NlriParser.java
bgp/parser-impl/src/main/java/org/opendaylight/protocol/bgp/parser/impl/message/update/Ipv6NlriParser.java

index fa35932c5e84fbe0b72cd2ea98937fa00826b60f..a4d515ac3b644a1cb889c2cd9a4117d3a5c5c29e 100644 (file)
@@ -42,7 +42,7 @@ public final class Ipv4NlriParser implements NlriParser, NlriSerializer {
 
     private DestinationIpv4 prefixes(final ByteBuf nlri) {
         final List<Ipv4Prefix> prefs = Ipv4Util.prefixListForBytes(ByteArray.readAllBytes(nlri));
-        final List<Ipv4Prefixes> prefixes = new ArrayList<>();
+        final List<Ipv4Prefixes> prefixes = new ArrayList<>(prefs.size());
         for (final Ipv4Prefix p : prefs) {
             prefixes.add(new Ipv4PrefixesBuilder().setPrefix(p).build());
         }
index b81498bc1c6c871f68a391bcb149c8db49978f78..858e1537f2921e21a65220fdd8d78ad6b5450eb0 100644 (file)
@@ -27,9 +27,9 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mult
 
 public final class Ipv6NlriParser implements NlriParser {
 
-    private DestinationIpv6 prefixes(final ByteBuf nlri) {
+    private static DestinationIpv6 prefixes(final ByteBuf nlri) {
         final List<Ipv6Prefix> prefs = Ipv6Util.prefixListForBytes(ByteArray.readAllBytes(nlri));
-        final List<Ipv6Prefixes> prefixes = new ArrayList<>();
+        final List<Ipv6Prefixes> prefixes = new ArrayList<>(prefs.size());
         for (final Ipv6Prefix p : prefs) {
             prefixes.add(new Ipv6PrefixesBuilder().setPrefix(p).build());
         }