| OLD | NEW |
| 1 // Copyright (c) 2016 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2016 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_decoder_adapter.h" | 5 #include "net/spdy/spdy_framer_decoder_adapter.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 177 int frame_type) { | 177 int frame_type) { |
| 178 return visitor_->OnUnknownFrame(stream_id, frame_type); | 178 return visitor_->OnUnknownFrame(stream_id, frame_type); |
| 179 } | 179 } |
| 180 | 180 |
| 181 class NestedSpdyFramerDecoder : public SpdyFramerDecoderAdapter { | 181 class NestedSpdyFramerDecoder : public SpdyFramerDecoderAdapter { |
| 182 typedef SpdyFramer::SpdyState SpdyState; | 182 typedef SpdyFramer::SpdyState SpdyState; |
| 183 typedef SpdyFramer::SpdyError SpdyError; | 183 typedef SpdyFramer::SpdyError SpdyError; |
| 184 | 184 |
| 185 public: | 185 public: |
| 186 explicit NestedSpdyFramerDecoder(SpdyFramer* outer) | 186 explicit NestedSpdyFramerDecoder(SpdyFramer* outer) |
| 187 : framer_(nullptr), outer_(outer) { | 187 : framer_(nullptr, |
| 188 outer->compression_enabled() ? SpdyFramer::ENABLE_COMPRESSION |
| 189 : SpdyFramer::DISABLE_COMPRESSION), |
| 190 outer_(outer) { |
| 188 DVLOG(1) << PRETTY_THIS; | 191 DVLOG(1) << PRETTY_THIS; |
| 189 } | 192 } |
| 190 ~NestedSpdyFramerDecoder() override { DVLOG(1) << PRETTY_THIS; } | 193 ~NestedSpdyFramerDecoder() override { DVLOG(1) << PRETTY_THIS; } |
| 191 | 194 |
| 192 // Wrap the visitor in a SpdyFramerVisitorAdapter so that the correct | 195 // Wrap the visitor in a SpdyFramerVisitorAdapter so that the correct |
| 193 // SpdyFramer instance is passed to OnError. Passes the call on to the | 196 // SpdyFramer instance is passed to OnError. Passes the call on to the |
| 194 // base adapter class and wrapped SpdyFramer. | 197 // base adapter class and wrapped SpdyFramer. |
| 195 void set_visitor(SpdyFramerVisitorInterface* visitor) override { | 198 void set_visitor(SpdyFramerVisitorInterface* visitor) override { |
| 196 visitor_adapter_.reset(new SpdyFramerVisitorAdapter(visitor, outer_)); | 199 visitor_adapter_.reset(new SpdyFramerVisitorAdapter(visitor, outer_)); |
| 197 SpdyFramerDecoderAdapter::set_visitor(visitor_adapter_.get()); | 200 SpdyFramerDecoderAdapter::set_visitor(visitor_adapter_.get()); |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 241 std::unique_ptr<SpdyFramerVisitorAdapter> visitor_adapter_; | 244 std::unique_ptr<SpdyFramerVisitorAdapter> visitor_adapter_; |
| 242 }; | 245 }; |
| 243 | 246 |
| 244 std::unique_ptr<SpdyFramerDecoderAdapter> CreateNestedSpdyFramerDecoder( | 247 std::unique_ptr<SpdyFramerDecoderAdapter> CreateNestedSpdyFramerDecoder( |
| 245 SpdyFramer* outer) { | 248 SpdyFramer* outer) { |
| 246 return std::unique_ptr<SpdyFramerDecoderAdapter>( | 249 return std::unique_ptr<SpdyFramerDecoderAdapter>( |
| 247 new NestedSpdyFramerDecoder(outer)); | 250 new NestedSpdyFramerDecoder(outer)); |
| 248 } | 251 } |
| 249 | 252 |
| 250 } // namespace net | 253 } // namespace net |
| OLD | NEW |