| // Copyright 2014 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "spdy/core/hpack/hpack_entry.h" |
| |
| #include "absl/strings/str_cat.h" |
| #include "spdy/platform/api/spdy_estimate_memory_usage.h" |
| |
| namespace spdy { |
| |
| HpackEntry::HpackEntry(std::string name, std::string value) |
| : name_(std::move(name)), value_(std::move(value)) {} |
| |
| // static |
| size_t HpackEntry::Size(absl::string_view name, absl::string_view value) { |
| return name.size() + value.size() + kHpackEntrySizeOverhead; |
| } |
| size_t HpackEntry::Size() const { |
| return Size(name(), value()); |
| } |
| |
| std::string HpackEntry::GetDebugString() const { |
| return absl::StrCat("{ name: \"", name_, "\", value: \"", value_, "\" }"); |
| } |
| |
| size_t HpackEntry::EstimateMemoryUsage() const { |
| return SpdyEstimateMemoryUsage(name_) + SpdyEstimateMemoryUsage(value_); |
| } |
| |
| } // namespace spdy |