| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "net/spdy/spdy_framer.h" | 5 #include "net/spdy/spdy_framer.h" |
| 6 | 6 |
| 7 #include <string.h> | 7 #include <string.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <ios> | 10 #include <ios> |
| (...skipping 3105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3116 len -= bytes_to_deliver; | 3116 len -= bytes_to_deliver; |
| 3117 if (!read_successfully) { | 3117 if (!read_successfully) { |
| 3118 // Assume that the problem was the header block was too large for the | 3118 // Assume that the problem was the header block was too large for the |
| 3119 // visitor. | 3119 // visitor. |
| 3120 set_error(SPDY_CONTROL_PAYLOAD_TOO_LARGE); | 3120 set_error(SPDY_CONTROL_PAYLOAD_TOO_LARGE); |
| 3121 } | 3121 } |
| 3122 } | 3122 } |
| 3123 return read_successfully; | 3123 return read_successfully; |
| 3124 } | 3124 } |
| 3125 | 3125 |
| 3126 void SpdyFramer::SetDecoderHeaderTableDebugVisitor( |
| 3127 std::unique_ptr<HpackHeaderTable::DebugVisitorInterface> visitor) { |
| 3128 GetHpackDecoder()->SetHeaderTableDebugVisitor(std::move(visitor)); |
| 3129 } |
| 3130 |
| 3131 void SpdyFramer::SetEncoderHeaderTableDebugVisitor( |
| 3132 std::unique_ptr<HpackHeaderTable::DebugVisitorInterface> visitor) { |
| 3133 GetHpackEncoder()->SetHeaderTableDebugVisitor(std::move(visitor)); |
| 3134 } |
| 3135 |
| 3126 void SpdyFramer::UpdateHeaderEncoderTableSize(uint32_t value) { | 3136 void SpdyFramer::UpdateHeaderEncoderTableSize(uint32_t value) { |
| 3127 GetHpackEncoder()->ApplyHeaderTableSizeSetting(value); | 3137 GetHpackEncoder()->ApplyHeaderTableSizeSetting(value); |
| 3128 } | 3138 } |
| 3129 | 3139 |
| 3130 size_t SpdyFramer::header_encoder_table_size() const { | 3140 size_t SpdyFramer::header_encoder_table_size() const { |
| 3131 if (hpack_encoder_ == nullptr) { | 3141 if (hpack_encoder_ == nullptr) { |
| 3132 return kDefaultHeaderTableSizeSetting; | 3142 return kDefaultHeaderTableSizeSetting; |
| 3133 } else { | 3143 } else { |
| 3134 return hpack_encoder_->CurrentHeaderTableSizeSetting(); | 3144 return hpack_encoder_->CurrentHeaderTableSizeSetting(); |
| 3135 } | 3145 } |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3200 #else | 3210 #else |
| 3201 WriteHeaderBlockToZ(&frame.header_block(), compressor); | 3211 WriteHeaderBlockToZ(&frame.header_block(), compressor); |
| 3202 #endif // defined(USE_SYSTEM_ZLIB) | 3212 #endif // defined(USE_SYSTEM_ZLIB) |
| 3203 | 3213 |
| 3204 int compressed_size = compressed_max_size - compressor->avail_out; | 3214 int compressed_size = compressed_max_size - compressor->avail_out; |
| 3205 builder->Seek(compressed_size); | 3215 builder->Seek(compressed_size); |
| 3206 builder->RewriteLength(*this); | 3216 builder->RewriteLength(*this); |
| 3207 } | 3217 } |
| 3208 | 3218 |
| 3209 } // namespace net | 3219 } // namespace net |
| OLD | NEW |