| Index: net/spdy/hpack_header_table.cc
|
| diff --git a/net/spdy/hpack_header_table.cc b/net/spdy/hpack_header_table.cc
|
| index 08c32a41e7985b3519281e73e3b4e1e2fd0570cf..48bf7156ef880a0c6682603f50438fa1ce311661 100644
|
| --- a/net/spdy/hpack_header_table.cc
|
| +++ b/net/spdy/hpack_header_table.cc
|
| @@ -118,7 +118,6 @@ bool HpackHeaderTable::EntryComparator::operator() (
|
|
|
| HpackHeaderTable::HpackHeaderTable()
|
| : index_(EntryComparator(this)),
|
| - reference_set_(EntryComparator(this)),
|
| settings_size_bound_(kDefaultHeaderTableSizeSetting),
|
| size_(0),
|
| max_size_(kDefaultHeaderTableSizeSetting),
|
| @@ -143,13 +142,13 @@ HpackEntry* HpackHeaderTable::GetByIndex(size_t index) {
|
| return NULL;
|
| }
|
| index -= 1;
|
| - if (index < dynamic_entries_.size()) {
|
| - return &dynamic_entries_[index];
|
| - }
|
| - index -= dynamic_entries_.size();
|
| if (index < static_entries_.size()) {
|
| return &static_entries_[index];
|
| }
|
| + index -= static_entries_.size();
|
| + if (index < dynamic_entries_.size()) {
|
| + return &dynamic_entries_[index];
|
| + }
|
| return NULL;
|
| }
|
|
|
| @@ -176,9 +175,9 @@ size_t HpackHeaderTable::IndexOf(const HpackEntry* entry) const {
|
| if (entry->IsLookup()) {
|
| return 0;
|
| } else if (entry->IsStatic()) {
|
| - return 1 + entry->InsertionIndex() + dynamic_entries_.size();
|
| + return 1 + entry->InsertionIndex();
|
| } else {
|
| - return total_insertions_ - entry->InsertionIndex();
|
| + return total_insertions_ - entry->InsertionIndex() + static_entries_.size();
|
| }
|
| }
|
|
|
| @@ -236,7 +235,6 @@ void HpackHeaderTable::Evict(size_t count) {
|
|
|
| size_ -= entry->Size();
|
| CHECK_EQ(1u, index_.erase(entry));
|
| - reference_set_.erase(entry);
|
| dynamic_entries_.pop_back();
|
| }
|
| }
|
| @@ -263,34 +261,7 @@ HpackEntry* HpackHeaderTable::TryAddEntry(StringPiece name, StringPiece value) {
|
| return &dynamic_entries_.front();
|
| }
|
|
|
| -void HpackHeaderTable::ClearReferenceSet() {
|
| - for (OrderedEntrySet::iterator it = reference_set_.begin();
|
| - it != reference_set_.end(); ++it) {
|
| - (*it)->set_state(0);
|
| - }
|
| - reference_set_.clear();
|
| -}
|
| -
|
| -bool HpackHeaderTable::Toggle(HpackEntry* entry) {
|
| - CHECK(!entry->IsStatic());
|
| - CHECK_EQ(0u, entry->state());
|
| -
|
| - std::pair<OrderedEntrySet::iterator, bool> insert_result =
|
| - reference_set_.insert(entry);
|
| - if (insert_result.second) {
|
| - return true;
|
| - } else {
|
| - reference_set_.erase(insert_result.first);
|
| - return false;
|
| - }
|
| -}
|
| -
|
| void HpackHeaderTable::DebugLogTableState() const {
|
| - DVLOG(2) << "Reference Set:";
|
| - for (OrderedEntrySet::const_iterator it = reference_set_.begin();
|
| - it != reference_set_.end(); ++it) {
|
| - DVLOG(2) << " " << (*it)->GetDebugString();
|
| - }
|
| DVLOG(2) << "Dynamic table:";
|
| for (EntryTable::const_iterator it = dynamic_entries_.begin();
|
| it != dynamic_entries_.end(); ++it) {
|
|
|