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 3204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3215 // Assume that the problem was the header block was too large for the | 3215 // Assume that the problem was the header block was too large for the |
3216 // visitor. | 3216 // visitor. |
3217 set_error(SPDY_CONTROL_PAYLOAD_TOO_LARGE); | 3217 set_error(SPDY_CONTROL_PAYLOAD_TOO_LARGE); |
3218 } | 3218 } |
3219 } | 3219 } |
3220 return read_successfully; | 3220 return read_successfully; |
3221 } | 3221 } |
3222 | 3222 |
3223 void SpdyFramer::SetDecoderHeaderTableDebugVisitor( | 3223 void SpdyFramer::SetDecoderHeaderTableDebugVisitor( |
3224 std::unique_ptr<HpackHeaderTable::DebugVisitorInterface> visitor) { | 3224 std::unique_ptr<HpackHeaderTable::DebugVisitorInterface> visitor) { |
3225 GetHpackDecoder()->SetHeaderTableDebugVisitor(std::move(visitor)); | 3225 if (decoder_adapter_ != nullptr) { |
| 3226 decoder_adapter_->SetDecoderHeaderTableDebugVisitor(std::move(visitor)); |
| 3227 } else { |
| 3228 GetHpackDecoder()->SetHeaderTableDebugVisitor(std::move(visitor)); |
| 3229 } |
3226 } | 3230 } |
3227 | 3231 |
3228 void SpdyFramer::SetEncoderHeaderTableDebugVisitor( | 3232 void SpdyFramer::SetEncoderHeaderTableDebugVisitor( |
3229 std::unique_ptr<HpackHeaderTable::DebugVisitorInterface> visitor) { | 3233 std::unique_ptr<HpackHeaderTable::DebugVisitorInterface> visitor) { |
3230 GetHpackEncoder()->SetHeaderTableDebugVisitor(std::move(visitor)); | 3234 GetHpackEncoder()->SetHeaderTableDebugVisitor(std::move(visitor)); |
3231 } | 3235 } |
3232 | 3236 |
3233 void SpdyFramer::UpdateHeaderEncoderTableSize(uint32_t value) { | 3237 void SpdyFramer::UpdateHeaderEncoderTableSize(uint32_t value) { |
3234 GetHpackEncoder()->ApplyHeaderTableSizeSetting(value); | 3238 GetHpackEncoder()->ApplyHeaderTableSizeSetting(value); |
3235 } | 3239 } |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3307 #else | 3311 #else |
3308 WriteHeaderBlockToZ(&frame.header_block(), compressor); | 3312 WriteHeaderBlockToZ(&frame.header_block(), compressor); |
3309 #endif // defined(USE_SYSTEM_ZLIB) | 3313 #endif // defined(USE_SYSTEM_ZLIB) |
3310 | 3314 |
3311 int compressed_size = compressed_max_size - compressor->avail_out; | 3315 int compressed_size = compressed_max_size - compressor->avail_out; |
3312 builder->Seek(compressed_size); | 3316 builder->Seek(compressed_size); |
3313 builder->RewriteLength(*this); | 3317 builder->RewriteLength(*this); |
3314 } | 3318 } |
3315 | 3319 |
3316 } // namespace net | 3320 } // namespace net |
OLD | NEW |