Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(572)

Side by Side Diff: net/tools/quic/stateless_rejector.h

Issue 2338013004: Simplify lifetime management of ValidateClientHelloResultCallback::Result objects (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/quic/test_tools/crypto_test_utils_test.cc ('k') | net/tools/quic/stateless_rejector.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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_STATELESS_REJECTOR_H_ 5 #ifndef NET_QUIC_STATELESS_REJECTOR_H_
6 #define NET_QUIC_STATELESS_REJECTOR_H_ 6 #define NET_QUIC_STATELESS_REJECTOR_H_
7 7
8 #include "base/strings/string_piece.h" 8 #include "base/strings/string_piece.h"
9 #include "net/quic/core/crypto/crypto_framer.h" 9 #include "net/quic/core/crypto/crypto_framer.h"
10 #include "net/quic/core/crypto/quic_crypto_server_config.h" 10 #include "net/quic/core/crypto/quic_crypto_server_config.h"
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 // Returns the SREJ message when state() returns REJECTED. 69 // Returns the SREJ message when state() returns REJECTED.
70 const CryptoHandshakeMessage& reply() const { return reply_; } 70 const CryptoHandshakeMessage& reply() const { return reply_; }
71 71
72 private: 72 private:
73 // Helper class which is passed in to 73 // Helper class which is passed in to
74 // QuicCryptoServerConfig::ValidateClientHello. 74 // QuicCryptoServerConfig::ValidateClientHello.
75 class ValidateCallback; 75 class ValidateCallback;
76 friend class ValidateCallback; 76 friend class ValidateCallback;
77 77
78 void ProcessClientHello( 78 void ProcessClientHello(
79 const CryptoHandshakeMessage& client_hello,
80 const ValidateClientHelloResultCallback::Result& result, 79 const ValidateClientHelloResultCallback::Result& result,
81 std::unique_ptr<StatelessRejector> rejector, 80 std::unique_ptr<StatelessRejector> rejector,
82 std::unique_ptr<StatelessRejector::ProcessDoneCallback> cb); 81 std::unique_ptr<StatelessRejector::ProcessDoneCallback> cb);
83 82
84 State state_; 83 State state_;
85 QuicErrorCode error_; 84 QuicErrorCode error_;
86 std::string error_details_; 85 std::string error_details_;
87 QuicVersion version_; 86 QuicVersion version_;
88 QuicVersionVector versions_; 87 QuicVersionVector versions_;
89 QuicConnectionId connection_id_; 88 QuicConnectionId connection_id_;
90 QuicConnectionId server_designated_connection_id_; 89 QuicConnectionId server_designated_connection_id_;
91 QuicByteCount chlo_packet_size_; 90 QuicByteCount chlo_packet_size_;
92 IPEndPoint client_address_; 91 IPEndPoint client_address_;
93 IPEndPoint server_address_; 92 IPEndPoint server_address_;
94 const QuicClock* clock_; 93 const QuicClock* clock_;
95 QuicRandom* random_; 94 QuicRandom* random_;
96 const QuicCryptoServerConfig* crypto_config_; 95 const QuicCryptoServerConfig* crypto_config_;
97 QuicCompressedCertsCache* compressed_certs_cache_; 96 QuicCompressedCertsCache* compressed_certs_cache_;
98 CryptoHandshakeMessage chlo_; 97 CryptoHandshakeMessage chlo_;
99 CryptoHandshakeMessage reply_; 98 CryptoHandshakeMessage reply_;
100 CryptoFramer crypto_framer_; 99 CryptoFramer crypto_framer_;
101 QuicCryptoProof proof_; 100 QuicCryptoProof proof_;
102 101
103 DISALLOW_COPY_AND_ASSIGN(StatelessRejector); 102 DISALLOW_COPY_AND_ASSIGN(StatelessRejector);
104 }; 103 };
105 104
106 } // namespace net 105 } // namespace net
107 106
108 #endif // NET_QUIC_STATELESS_REJECTOR_H_ 107 #endif // NET_QUIC_STATELESS_REJECTOR_H_
OLDNEW
« no previous file with comments | « net/quic/test_tools/crypto_test_utils_test.cc ('k') | net/tools/quic/stateless_rejector.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698