OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 is an interface for reading and writing data to an HttpStream that | 5 // HttpStream is an interface for reading and writing data to an HttpStream that |
6 // keeps the client agnostic of the actual underlying transport layer. This | 6 // keeps the client agnostic of the actual underlying transport layer. This |
7 // provides an abstraction for both a basic http stream as well as http | 7 // provides an abstraction for both a basic http stream as well as http |
8 // pipelining implementations. The HttpStream subtype is expected to manage the | 8 // pipelining implementations. The HttpStream subtype is expected to manage the |
9 // underlying transport appropriately. For example, a non-pipelined HttpStream | 9 // underlying transport appropriately. For example, a non-pipelined HttpStream |
10 // would return the transport socket to the pool for reuse. SPDY streams on the | 10 // would return the transport socket to the pool for reuse. SPDY streams on the |
11 // other hand leave the transport socket management to the SpdySession. | 11 // other hand leave the transport socket management to the SpdySession. |
12 | 12 |
13 #ifndef NET_HTTP_HTTP_STREAM_H_ | 13 #ifndef NET_HTTP_HTTP_STREAM_H_ |
14 #define NET_HTTP_HTTP_STREAM_H_ | 14 #define NET_HTTP_HTTP_STREAM_H_ |
15 #pragma once | 15 #pragma once |
16 | 16 |
17 #include <string> | 17 #include <string> |
18 | 18 |
19 #include "base/basictypes.h" | 19 #include "base/basictypes.h" |
20 #include "net/base/completion_callback.h" | 20 #include "net/base/completion_callback.h" |
21 #include "net/base/net_api.h" | 21 #include "net/base/net_export.h" |
22 | 22 |
23 namespace net { | 23 namespace net { |
24 | 24 |
25 class BoundNetLog; | 25 class BoundNetLog; |
26 class HttpRequestHeaders; | 26 class HttpRequestHeaders; |
27 struct HttpRequestInfo; | 27 struct HttpRequestInfo; |
28 class HttpResponseInfo; | 28 class HttpResponseInfo; |
29 class IOBuffer; | 29 class IOBuffer; |
30 class SSLCertRequestInfo; | 30 class SSLCertRequestInfo; |
31 class SSLInfo; | 31 class SSLInfo; |
32 class UploadDataStream; | 32 class UploadDataStream; |
33 | 33 |
34 class NET_TEST HttpStream { | 34 class NET_EXPORT_PRIVATE HttpStream { |
35 public: | 35 public: |
36 HttpStream() {} | 36 HttpStream() {} |
37 virtual ~HttpStream() {} | 37 virtual ~HttpStream() {} |
38 | 38 |
39 // Initialize stream. Must be called before calling SendRequest(). | 39 // Initialize stream. Must be called before calling SendRequest(). |
40 // Returns a net error code, possibly ERR_IO_PENDING. | 40 // Returns a net error code, possibly ERR_IO_PENDING. |
41 virtual int InitializeStream(const HttpRequestInfo* request_info, | 41 virtual int InitializeStream(const HttpRequestInfo* request_info, |
42 const BoundNetLog& net_log, | 42 const BoundNetLog& net_log, |
43 CompletionCallback* callback) = 0; | 43 CompletionCallback* callback) = 0; |
44 | 44 |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
139 // response body vs bytes transferred. | 139 // response body vs bytes transferred. |
140 virtual void LogNumRttVsBytesMetrics() const = 0; | 140 virtual void LogNumRttVsBytesMetrics() const = 0; |
141 | 141 |
142 private: | 142 private: |
143 DISALLOW_COPY_AND_ASSIGN(HttpStream); | 143 DISALLOW_COPY_AND_ASSIGN(HttpStream); |
144 }; | 144 }; |
145 | 145 |
146 } // namespace net | 146 } // namespace net |
147 | 147 |
148 #endif // NET_HTTP_HTTP_STREAM_H_ | 148 #endif // NET_HTTP_HTTP_STREAM_H_ |
OLD | NEW |