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 // A server specific QuicSession subclass. | 5 // A server specific QuicSession subclass. |
6 | 6 |
7 #ifndef NET_TOOLS_QUIC_QUIC_SERVER_SESSION_BASE_H_ | 7 #ifndef NET_TOOLS_QUIC_QUIC_SERVER_SESSION_BASE_H_ |
8 #define NET_TOOLS_QUIC_QUIC_SERVER_SESSION_BASE_H_ | 8 #define NET_TOOLS_QUIC_QUIC_SERVER_SESSION_BASE_H_ |
9 | 9 |
10 #include <stdint.h> | 10 #include <stdint.h> |
11 | 11 |
| 12 #include <memory> |
12 #include <set> | 13 #include <set> |
13 #include <string> | 14 #include <string> |
14 #include <vector> | 15 #include <vector> |
15 | 16 |
16 #include "base/containers/hash_tables.h" | 17 #include "base/containers/hash_tables.h" |
17 #include "base/macros.h" | 18 #include "base/macros.h" |
18 #include "base/memory/scoped_ptr.h" | |
19 #include "net/quic/crypto/quic_compressed_certs_cache.h" | 19 #include "net/quic/crypto/quic_compressed_certs_cache.h" |
20 #include "net/quic/quic_crypto_server_stream.h" | 20 #include "net/quic/quic_crypto_server_stream.h" |
21 #include "net/quic/quic_protocol.h" | 21 #include "net/quic/quic_protocol.h" |
22 #include "net/quic/quic_spdy_session.h" | 22 #include "net/quic/quic_spdy_session.h" |
23 | 23 |
24 namespace net { | 24 namespace net { |
25 | 25 |
26 class QuicBlockedWriterInterface; | 26 class QuicBlockedWriterInterface; |
27 class QuicConfig; | 27 class QuicConfig; |
28 class QuicConnection; | 28 class QuicConnection; |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
117 private: | 117 private: |
118 friend class test::QuicServerSessionBasePeer; | 118 friend class test::QuicServerSessionBasePeer; |
119 friend class test::QuicSimpleServerSessionPeer; | 119 friend class test::QuicSimpleServerSessionPeer; |
120 | 120 |
121 const QuicCryptoServerConfig* crypto_config_; | 121 const QuicCryptoServerConfig* crypto_config_; |
122 | 122 |
123 // The cache which contains most recently compressed certs. | 123 // The cache which contains most recently compressed certs. |
124 // Owned by QuicDispatcher. | 124 // Owned by QuicDispatcher. |
125 QuicCompressedCertsCache* compressed_certs_cache_; | 125 QuicCompressedCertsCache* compressed_certs_cache_; |
126 | 126 |
127 scoped_ptr<QuicCryptoServerStreamBase> crypto_stream_; | 127 std::unique_ptr<QuicCryptoServerStreamBase> crypto_stream_; |
128 QuicServerSessionVisitor* visitor_; | 128 QuicServerSessionVisitor* visitor_; |
129 | 129 |
130 // Whether bandwidth resumption is enabled for this connection. | 130 // Whether bandwidth resumption is enabled for this connection. |
131 bool bandwidth_resumption_enabled_; | 131 bool bandwidth_resumption_enabled_; |
132 | 132 |
133 // The most recent bandwidth estimate sent to the client. | 133 // The most recent bandwidth estimate sent to the client. |
134 QuicBandwidth bandwidth_estimate_sent_to_client_; | 134 QuicBandwidth bandwidth_estimate_sent_to_client_; |
135 | 135 |
136 // Text describing server location. Sent to the client as part of the bandwith | 136 // Text describing server location. Sent to the client as part of the bandwith |
137 // estimate in the source-address token. Optional, can be left empty. | 137 // estimate in the source-address token. Optional, can be left empty. |
(...skipping 14 matching lines...) Expand all Loading... |
152 // Set during handshake. If true, resources in x-associated-content and link | 152 // Set during handshake. If true, resources in x-associated-content and link |
153 // headers will be pushed. see: go/gfe_server_push. | 153 // headers will be pushed. see: go/gfe_server_push. |
154 bool server_push_enabled_; | 154 bool server_push_enabled_; |
155 | 155 |
156 DISALLOW_COPY_AND_ASSIGN(QuicServerSessionBase); | 156 DISALLOW_COPY_AND_ASSIGN(QuicServerSessionBase); |
157 }; | 157 }; |
158 | 158 |
159 } // namespace net | 159 } // namespace net |
160 | 160 |
161 #endif // NET_TOOLS_QUIC_QUIC_SERVER_SESSION_BASE_H_ | 161 #endif // NET_TOOLS_QUIC_QUIC_SERVER_SESSION_BASE_H_ |
OLD | NEW |