Index: net/spdy/hpack/hpack_header_table.cc |
diff --git a/net/spdy/hpack/hpack_header_table.cc b/net/spdy/hpack/hpack_header_table.cc |
index 01e96c09a0c71cb4240aba6da9dd66a9fd6282c7..a833def7358fbdd7b2d761da9b2e3949b6df31ec 100644 |
--- a/net/spdy/hpack/hpack_header_table.cc |
+++ b/net/spdy/hpack/hpack_header_table.cc |
@@ -52,7 +52,11 @@ const HpackEntry* HpackHeaderTable::GetByIndex(size_t index) { |
} |
index -= static_entries_.size(); |
if (index < dynamic_entries_.size()) { |
- return &dynamic_entries_[index]; |
+ const HpackEntry* result = &dynamic_entries_[index]; |
+ if (debug_visitor_ != nullptr) { |
+ debug_visitor_->OnUseEntry(*result); |
+ } |
+ return result; |
} |
return NULL; |
} |
@@ -67,7 +71,11 @@ const HpackEntry* HpackHeaderTable::GetByName(StringPiece name) { |
{ |
NameToEntryMap::const_iterator it = dynamic_name_index_.find(name); |
if (it != dynamic_name_index_.end()) { |
- return it->second; |
+ const HpackEntry* result = it->second; |
+ if (debug_visitor_ != nullptr) { |
+ debug_visitor_->OnUseEntry(*result); |
+ } |
+ return result; |
} |
} |
return NULL; |
@@ -85,7 +93,11 @@ const HpackEntry* HpackHeaderTable::GetByNameAndValue(StringPiece name, |
{ |
UnorderedEntrySet::const_iterator it = dynamic_index_.find(&query); |
if (it != dynamic_index_.end()) { |
- return *it; |
+ const HpackEntry* result = *it; |
+ if (debug_visitor_ != nullptr) { |
+ debug_visitor_->OnUseEntry(*result); |
+ } |
+ return result; |
} |
} |
return NULL; |
@@ -220,6 +232,11 @@ const HpackEntry* HpackHeaderTable::TryAddEntry(StringPiece name, |
size_ += entry_size; |
++total_insertions_; |
+ if (debug_visitor_ != nullptr) { |
+ // Call |debug_visitor_->OnNewEntry()| to get the current time. |
+ HpackEntry& entry = dynamic_entries_.front(); |
+ entry.set_time_added(debug_visitor_->OnNewEntry(entry)); |
+ } |
return &dynamic_entries_.front(); |
} |