| 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 |