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 #ifndef NET_QUIC_QUIC_CRYPTO_SERVER_STREAM_H_ | 5 #ifndef NET_QUIC_QUIC_CRYPTO_SERVER_STREAM_H_ |
6 #define NET_QUIC_QUIC_CRYPTO_SERVER_STREAM_H_ | 6 #define NET_QUIC_QUIC_CRYPTO_SERVER_STREAM_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "net/quic/crypto/crypto_handshake.h" | 10 #include "net/quic/crypto/crypto_handshake.h" |
| 11 #include "net/quic/quic_config.h" |
11 #include "net/quic/quic_crypto_stream.h" | 12 #include "net/quic/quic_crypto_stream.h" |
12 | 13 |
13 namespace net { | 14 namespace net { |
14 | 15 |
| 16 class CryptoHandshakeMessage; |
| 17 class QuicCryptoServerConfig; |
| 18 class QuicNegotiatedParameters; |
15 class QuicSession; | 19 class QuicSession; |
16 | 20 |
17 namespace test { | 21 namespace test { |
18 class CryptoTestUtils; | 22 class CryptoTestUtils; |
19 } // namespace test | 23 } // namespace test |
20 | 24 |
21 class NET_EXPORT_PRIVATE QuicCryptoServerStream : public QuicCryptoStream { | 25 class NET_EXPORT_PRIVATE QuicCryptoServerStream : public QuicCryptoStream { |
22 public: | 26 public: |
| 27 QuicCryptoServerStream(const QuicConfig& config, |
| 28 const QuicCryptoServerConfig& crypto_config, |
| 29 QuicSession* session); |
23 explicit QuicCryptoServerStream(QuicSession* session); | 30 explicit QuicCryptoServerStream(QuicSession* session); |
24 virtual ~QuicCryptoServerStream(); | 31 virtual ~QuicCryptoServerStream(); |
25 | 32 |
26 // CryptoFramerVisitorInterface implementation | 33 // CryptoFramerVisitorInterface implementation |
27 virtual void OnHandshakeMessage( | 34 virtual void OnHandshakeMessage( |
28 const CryptoHandshakeMessage& message) OVERRIDE; | 35 const CryptoHandshakeMessage& message) OVERRIDE; |
29 | 36 |
30 const QuicNegotiatedParameters& negotiated_params() const; | 37 const QuicNegotiatedParameters& negotiated_params() const; |
31 const QuicCryptoNegotiatedParameters& crypto_negotiated_params() const; | 38 const QuicCryptoNegotiatedParameters& crypto_negotiated_params() const; |
32 | 39 |
33 private: | 40 private: |
34 friend class test::CryptoTestUtils; | 41 friend class test::CryptoTestUtils; |
35 | 42 |
36 // config_ contains non-crypto parameters that are negotiated in the crypto | 43 // config_ contains non-crypto parameters that are negotiated in the crypto |
37 // handshake. | 44 // handshake. |
38 QuicConfig config_; | 45 const QuicConfig& config_; |
39 // crypto_config_ contains crypto parameters for the handshake. | 46 // crypto_config_ contains crypto parameters for the handshake. |
40 QuicCryptoServerConfig crypto_config_; | 47 const QuicCryptoServerConfig& crypto_config_; |
41 std::string server_nonce_; | |
42 | 48 |
43 QuicNegotiatedParameters negotiated_params_; | 49 QuicNegotiatedParameters negotiated_params_; |
44 QuicCryptoNegotiatedParameters crypto_negotiated_params_; | 50 QuicCryptoNegotiatedParameters crypto_negotiated_params_; |
45 }; | 51 }; |
46 | 52 |
47 } // namespace net | 53 } // namespace net |
48 | 54 |
49 #endif // NET_QUIC_QUIC_CRYPTO_SERVER_STREAM_H_ | 55 #endif // NET_QUIC_QUIC_CRYPTO_SERVER_STREAM_H_ |
OLD | NEW |