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 // HttpStream provides an abstraction for a basic http streams, SPDY, and QUIC. | 5 // HttpStream provides an abstraction for a basic http streams, SPDY, and QUIC. |
6 // The HttpStream subtype is expected to manage the underlying transport | 6 // The HttpStream subtype is expected to manage the underlying transport |
7 // appropriately. For example, a basic http stream will return the transport | 7 // appropriately. For example, a basic http stream will return the transport |
8 // socket to the pool for reuse. SPDY streams on the other hand leave the | 8 // socket to the pool for reuse. SPDY streams on the other hand leave the |
9 // transport socket management to the SpdySession. | 9 // transport socket management to the SpdySession. |
10 | 10 |
(...skipping 12 matching lines...) Expand all Loading... |
23 #include "net/base/net_export.h" | 23 #include "net/base/net_export.h" |
24 #include "net/base/request_priority.h" | 24 #include "net/base/request_priority.h" |
25 #include "net/ssl/token_binding.h" | 25 #include "net/ssl/token_binding.h" |
26 | 26 |
27 namespace crypto { | 27 namespace crypto { |
28 class ECPrivateKey; | 28 class ECPrivateKey; |
29 } | 29 } |
30 | 30 |
31 namespace net { | 31 namespace net { |
32 | 32 |
33 class BoundNetLog; | 33 class NetLogWithSource; |
34 class HttpNetworkSession; | 34 class HttpNetworkSession; |
35 class HttpRequestHeaders; | 35 class HttpRequestHeaders; |
36 struct HttpRequestInfo; | 36 struct HttpRequestInfo; |
37 class HttpResponseInfo; | 37 class HttpResponseInfo; |
38 class IOBuffer; | 38 class IOBuffer; |
39 class IPEndPoint; | 39 class IPEndPoint; |
40 struct LoadTimingInfo; | 40 struct LoadTimingInfo; |
41 class SSLCertRequestInfo; | 41 class SSLCertRequestInfo; |
42 class SSLInfo; | 42 class SSLInfo; |
43 | 43 |
44 class NET_EXPORT_PRIVATE HttpStream { | 44 class NET_EXPORT_PRIVATE HttpStream { |
45 public: | 45 public: |
46 HttpStream() {} | 46 HttpStream() {} |
47 virtual ~HttpStream() {} | 47 virtual ~HttpStream() {} |
48 | 48 |
49 // Initialize stream. Must be called before calling SendRequest(). | 49 // Initialize stream. Must be called before calling SendRequest(). |
50 // |request_info| must outlive the HttpStream. | 50 // |request_info| must outlive the HttpStream. |
51 // Returns a net error code, possibly ERR_IO_PENDING. | 51 // Returns a net error code, possibly ERR_IO_PENDING. |
52 virtual int InitializeStream(const HttpRequestInfo* request_info, | 52 virtual int InitializeStream(const HttpRequestInfo* request_info, |
53 RequestPriority priority, | 53 RequestPriority priority, |
54 const BoundNetLog& net_log, | 54 const NetLogWithSource& net_log, |
55 const CompletionCallback& callback) = 0; | 55 const CompletionCallback& callback) = 0; |
56 | 56 |
57 // Writes the headers and uploads body data to the underlying socket. | 57 // Writes the headers and uploads body data to the underlying socket. |
58 // ERR_IO_PENDING is returned if the operation could not be completed | 58 // ERR_IO_PENDING is returned if the operation could not be completed |
59 // synchronously, in which case the result will be passed to the callback | 59 // synchronously, in which case the result will be passed to the callback |
60 // when available. Returns OK on success. | 60 // when available. Returns OK on success. |
61 // | 61 // |
62 // The callback will only be invoked once the first full set of headers have | 62 // The callback will only be invoked once the first full set of headers have |
63 // been received, at which point |response| will have been populated with that | 63 // been received, at which point |response| will have been populated with that |
64 // set of headers, and is safe to read, until/unless ReadResponseHeaders is | 64 // set of headers, and is safe to read, until/unless ReadResponseHeaders is |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
186 // subclass does not support renewing the stream, NULL is returned. | 186 // subclass does not support renewing the stream, NULL is returned. |
187 virtual HttpStream* RenewStreamForAuth() = 0; | 187 virtual HttpStream* RenewStreamForAuth() = 0; |
188 | 188 |
189 private: | 189 private: |
190 DISALLOW_COPY_AND_ASSIGN(HttpStream); | 190 DISALLOW_COPY_AND_ASSIGN(HttpStream); |
191 }; | 191 }; |
192 | 192 |
193 } // namespace net | 193 } // namespace net |
194 | 194 |
195 #endif // NET_HTTP_HTTP_STREAM_H_ | 195 #endif // NET_HTTP_HTTP_STREAM_H_ |
OLD | NEW |