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 // NOTE: This code is not shared between Google and Chrome. | 5 // NOTE: This code is not shared between Google and Chrome. |
6 | 6 |
7 #ifndef NET_QUIC_CHROMIUM_QUIC_CHROMIUM_CLIENT_STREAM_H_ | 7 #ifndef NET_QUIC_CHROMIUM_QUIC_CHROMIUM_CLIENT_STREAM_H_ |
8 #define NET_QUIC_CHROMIUM_QUIC_CHROMIUM_CLIENT_STREAM_H_ | 8 #define NET_QUIC_CHROMIUM_QUIC_CHROMIUM_CLIENT_STREAM_H_ |
9 | 9 |
10 #include <stddef.h> | 10 #include <stddef.h> |
11 | 11 |
12 #include <deque> | 12 #include <deque> |
13 #include <vector> | 13 #include <vector> |
14 | 14 |
15 #include "base/callback_forward.h" | 15 #include "base/callback_forward.h" |
16 #include "base/macros.h" | 16 #include "base/macros.h" |
17 #include "net/base/ip_endpoint.h" | 17 #include "net/base/ip_endpoint.h" |
18 #include "net/base/net_export.h" | 18 #include "net/base/net_export.h" |
19 #include "net/base/upload_data_stream.h" | 19 #include "net/base/upload_data_stream.h" |
20 #include "net/http/http_request_info.h" | 20 #include "net/http/http_request_info.h" |
21 #include "net/http/http_response_info.h" | 21 #include "net/http/http_response_info.h" |
22 #include "net/http/http_stream.h" | 22 #include "net/http/http_stream.h" |
23 #include "net/log/net_log_with_source.h" | 23 #include "net/log/net_log_with_source.h" |
24 #include "net/quic/core/quic_spdy_stream.h" | 24 #include "net/quic/core/quic_spdy_stream.h" |
| 25 #include "net/quic/platform/api/quic_string_piece.h" |
25 | 26 |
26 namespace net { | 27 namespace net { |
27 | 28 |
28 class QuicClientSessionBase; | 29 class QuicClientSessionBase; |
29 | 30 |
30 // A client-initiated ReliableQuicStream. Instances of this class | 31 // A client-initiated ReliableQuicStream. Instances of this class |
31 // are owned by the QuicClientSession which created them. | 32 // are owned by the QuicClientSession which created them. |
32 class NET_EXPORT_PRIVATE QuicChromiumClientStream : public QuicSpdyStream { | 33 class NET_EXPORT_PRIVATE QuicChromiumClientStream : public QuicSpdyStream { |
33 public: | 34 public: |
34 // Delegate handles protocol specific behavior of a quic stream. | 35 // Delegate handles protocol specific behavior of a quic stream. |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
81 size_t WriteHeaders(SpdyHeaderBlock header_block, | 82 size_t WriteHeaders(SpdyHeaderBlock header_block, |
82 bool fin, | 83 bool fin, |
83 QuicReferenceCountedPointer<QuicAckListenerInterface> | 84 QuicReferenceCountedPointer<QuicAckListenerInterface> |
84 ack_listener) override; | 85 ack_listener) override; |
85 SpdyPriority priority() const override; | 86 SpdyPriority priority() const override; |
86 | 87 |
87 // While the server's set_priority shouldn't be called externally, the creator | 88 // While the server's set_priority shouldn't be called externally, the creator |
88 // of client-side streams should be able to set the priority. | 89 // of client-side streams should be able to set the priority. |
89 using QuicSpdyStream::SetPriority; | 90 using QuicSpdyStream::SetPriority; |
90 | 91 |
91 int WriteStreamData(base::StringPiece data, | 92 int WriteStreamData(QuicStringPiece data, |
92 bool fin, | 93 bool fin, |
93 const CompletionCallback& callback); | 94 const CompletionCallback& callback); |
94 // Same as WriteStreamData except it writes data from a vector of IOBuffers, | 95 // Same as WriteStreamData except it writes data from a vector of IOBuffers, |
95 // with the length of each buffer at the corresponding index in |lengths|. | 96 // with the length of each buffer at the corresponding index in |lengths|. |
96 int WritevStreamData(const std::vector<scoped_refptr<IOBuffer>>& buffers, | 97 int WritevStreamData(const std::vector<scoped_refptr<IOBuffer>>& buffers, |
97 const std::vector<int>& lengths, | 98 const std::vector<int>& lengths, |
98 bool fin, | 99 bool fin, |
99 const CompletionCallback& callback); | 100 const CompletionCallback& callback); |
100 // Set new |delegate|. |delegate| must not be NULL. | 101 // Set new |delegate|. |delegate| must not be NULL. |
101 // If this stream has already received data, OnDataReceived() will be | 102 // If this stream has already received data, OnDataReceived() will be |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
152 std::deque<base::Closure> delegate_tasks_; | 153 std::deque<base::Closure> delegate_tasks_; |
153 | 154 |
154 base::WeakPtrFactory<QuicChromiumClientStream> weak_factory_; | 155 base::WeakPtrFactory<QuicChromiumClientStream> weak_factory_; |
155 | 156 |
156 DISALLOW_COPY_AND_ASSIGN(QuicChromiumClientStream); | 157 DISALLOW_COPY_AND_ASSIGN(QuicChromiumClientStream); |
157 }; | 158 }; |
158 | 159 |
159 } // namespace net | 160 } // namespace net |
160 | 161 |
161 #endif // NET_QUIC_CHROMIUM_QUIC_CHROMIUM_CLIENT_STREAM_H_ | 162 #endif // NET_QUIC_CHROMIUM_QUIC_CHROMIUM_CLIENT_STREAM_H_ |
OLD | NEW |