Introduce kStaticTableSize.

The HPACK static table size is set in stone, allowing us to use constexpr in
code.

PiperOrigin-RevId: 363173608
Change-Id: Ibcd99f0ad147711f8bd30a7421e50aa8aafa930f
diff --git a/spdy/core/hpack/hpack_header_table.cc b/spdy/core/hpack/hpack_header_table.cc
index fe900b7..e720bab 100644
--- a/spdy/core/hpack/hpack_header_table.cc
+++ b/spdy/core/hpack/hpack_header_table.cc
@@ -38,7 +38,7 @@
       settings_size_bound_(kDefaultHeaderTableSizeSetting),
       size_(0),
       max_size_(kDefaultHeaderTableSizeSetting),
-      total_insertions_(static_entries_.size()) {}
+      total_insertions_(kStaticTableSize) {}
 
 HpackHeaderTable::~HpackHeaderTable() = default;
 
@@ -47,10 +47,10 @@
     return nullptr;
   }
   index -= 1;
-  if (index < static_entries_.size()) {
+  if (index < kStaticTableSize) {
     return &static_entries_[index];
   }
-  index -= static_entries_.size();
+  index -= kStaticTableSize;
   if (index < dynamic_entries_.size()) {
     return &dynamic_entries_[index];
   }
@@ -97,7 +97,7 @@
   } else if (entry->IsStatic()) {
     return 1 + entry->InsertionIndex();
   } else {
-    return total_insertions_ - entry->InsertionIndex() + static_entries_.size();
+    return total_insertions_ - entry->InsertionIndex() + kStaticTableSize;
   }
 }
 
diff --git a/spdy/core/hpack/hpack_static_table.h b/spdy/core/hpack/hpack_static_table.h
index 436ae59..09f9740 100644
--- a/spdy/core/hpack/hpack_static_table.h
+++ b/spdy/core/hpack/hpack_static_table.h
@@ -12,6 +12,9 @@
 
 struct HpackStaticEntry;
 
+// Number of entries in the HPACK static table.
+constexpr size_t kStaticTableSize = 61;
+
 // HpackStaticTable provides |static_entries_| and |static_index_| for HPACK
 // encoding and decoding contexts.  Once initialized, an instance is read only
 // and may be accessed only through its const interface.  Such an instance may
diff --git a/spdy/core/hpack/hpack_static_table_test.cc b/spdy/core/hpack/hpack_static_table_test.cc
index ad868b1..152ad82 100644
--- a/spdy/core/hpack/hpack_static_table_test.cc
+++ b/spdy/core/hpack/hpack_static_table_test.cc
@@ -32,10 +32,10 @@
   EXPECT_TRUE(table_.IsInitialized());
 
   HpackHeaderTable::EntryTable static_entries = table_.GetStaticEntries();
-  EXPECT_EQ(HpackStaticTableVector().size(), static_entries.size());
+  EXPECT_EQ(kStaticTableSize, static_entries.size());
 
   HpackHeaderTable::UnorderedEntrySet static_index = table_.GetStaticIndex();
-  EXPECT_EQ(HpackStaticTableVector().size(), static_index.size());
+  EXPECT_EQ(kStaticTableSize, static_index.size());
 
   HpackHeaderTable::NameToEntryMap static_name_index =
       table_.GetStaticNameIndex();