OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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_write_queue.h" | 5 #include "net/spdy/spdy_write_queue.h" |
6 | 6 |
7 #include <cstddef> | 7 #include <cstddef> |
8 #include <cstring> | 8 #include <cstring> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
52 // Producer whose produced buffer will enqueue yet another buffer into the | 52 // Producer whose produced buffer will enqueue yet another buffer into the |
53 // SpdyWriteQueue upon destruction. | 53 // SpdyWriteQueue upon destruction. |
54 class RequeingBufferProducer : public SpdyBufferProducer { | 54 class RequeingBufferProducer : public SpdyBufferProducer { |
55 public: | 55 public: |
56 RequeingBufferProducer(SpdyWriteQueue* queue) { | 56 RequeingBufferProducer(SpdyWriteQueue* queue) { |
57 buffer_.reset(new SpdyBuffer(kOriginal, arraysize(kOriginal))); | 57 buffer_.reset(new SpdyBuffer(kOriginal, arraysize(kOriginal))); |
58 buffer_->AddConsumeCallback( | 58 buffer_->AddConsumeCallback( |
59 base::Bind(RequeingBufferProducer::ConsumeCallback, queue)); | 59 base::Bind(RequeingBufferProducer::ConsumeCallback, queue)); |
60 } | 60 } |
61 | 61 |
62 virtual scoped_ptr<SpdyBuffer> ProduceBuffer() OVERRIDE { | 62 virtual scoped_ptr<SpdyBuffer> ProduceBuffer() override { |
63 return buffer_.Pass(); | 63 return buffer_.Pass(); |
64 } | 64 } |
65 | 65 |
66 static void ConsumeCallback(SpdyWriteQueue* queue, | 66 static void ConsumeCallback(SpdyWriteQueue* queue, |
67 size_t size, | 67 size_t size, |
68 SpdyBuffer::ConsumeSource source) { | 68 SpdyBuffer::ConsumeSource source) { |
69 scoped_ptr<SpdyBufferProducer> producer( | 69 scoped_ptr<SpdyBufferProducer> producer( |
70 new SimpleBufferProducer(scoped_ptr<SpdyBuffer>( | 70 new SimpleBufferProducer(scoped_ptr<SpdyBuffer>( |
71 new SpdyBuffer(kRequeued, arraysize(kRequeued))))); | 71 new SpdyBuffer(kRequeued, arraysize(kRequeued))))); |
72 | 72 |
(...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
367 scoped_ptr<SpdyBufferProducer> producer; | 367 scoped_ptr<SpdyBufferProducer> producer; |
368 base::WeakPtr<SpdyStream> weak_stream; | 368 base::WeakPtr<SpdyStream> weak_stream; |
369 | 369 |
370 EXPECT_TRUE(queue.Dequeue(&frame_type, &producer, &weak_stream)); | 370 EXPECT_TRUE(queue.Dequeue(&frame_type, &producer, &weak_stream)); |
371 EXPECT_EQ(string(kRequeued), producer->ProduceBuffer()->GetRemainingData()); | 371 EXPECT_EQ(string(kRequeued), producer->ProduceBuffer()->GetRemainingData()); |
372 } | 372 } |
373 | 373 |
374 } // namespace | 374 } // namespace |
375 | 375 |
376 } // namespace net | 376 } // namespace net |
OLD | NEW |