Browse Source

[2749] Replace size() calls with literal values

This gives us a very tiny speedup, as size() was a const method already.
Mukund Sivaraman 11 years ago
parent
commit
44b8509885
1 changed files with 6 additions and 5 deletions
  1. 6 5
      src/bin/dhcp6/dhcp6_srv.cc

+ 6 - 5
src/bin/dhcp6/dhcp6_srv.cc

@@ -604,11 +604,12 @@ Dhcpv6Srv::generateServerID() {
         seconds -= DUID_TIME_EPOCH;
 
         OptionBuffer srvid(8 + iface->getMacLen());
-        writeUint16(DUID::DUID_LLT, &srvid[0], srvid.size());
-        writeUint16(HWTYPE_ETHERNET, &srvid[2], srvid.size() - 2);
-        writeUint32(static_cast<uint32_t>(seconds), &srvid[4],
-                    srvid.size() - 4);
-        memcpy(&srvid[0] + 8, iface->getMac(), iface->getMacLen());
+        // We know that the buffer is at least 8 bytes long at this
+        // point.
+        writeUint16(DUID::DUID_LLT, &srvid[0], 2);
+        writeUint16(HWTYPE_ETHERNET, &srvid[2], 2);
+        writeUint32(static_cast<uint32_t>(seconds), &srvid[4], 4);
+        memcpy(&srvid[8], iface->getMac(), iface->getMacLen());
 
         serverid_ = OptionPtr(new Option(Option::V6, D6O_SERVERID,
                                          srvid.begin(), srvid.end()));