Index: net/quic/quic_crypto_client_stream.h |
diff --git a/net/quic/quic_crypto_client_stream.h b/net/quic/quic_crypto_client_stream.h |
index 4686fedf1a6c963409d9464601e1693419c42989..6250b26584a17b64d4c5f26b20cfb7d5c278123f 100644 |
--- a/net/quic/quic_crypto_client_stream.h |
+++ b/net/quic/quic_crypto_client_stream.h |
@@ -15,6 +15,8 @@ |
namespace net { |
+class ProofVerifierCallbackClientStream; |
+class ProofVerifyDetails; |
class QuicSession; |
class SSLInfo; |
@@ -48,6 +50,7 @@ class NET_EXPORT_PRIVATE QuicCryptoClientStream : public QuicCryptoStream { |
private: |
friend class test::CryptoTestUtils; |
+ friend class ProofVerifierCallbackClientStream; |
enum State { |
STATE_IDLE, |
@@ -59,17 +62,8 @@ class NET_EXPORT_PRIVATE QuicCryptoClientStream : public QuicCryptoStream { |
}; |
// DoHandshakeLoop performs a step of the handshake state machine. Note that |
- // |in| is NULL for the first call. OnVerifyProofComplete passes the |result| |
- // it has received from VerifyProof call (from all other places |result| is |
- // set to OK). |
- void DoHandshakeLoop(const CryptoHandshakeMessage* in, int result); |
- |
- // OnVerifyProofComplete is passed as the callback method to VerifyProof. |
- // ProofVerifier calls this method with the result of proof verification when |
- // verification is performed asynchronously. |
- void OnVerifyProofComplete(int result); |
- |
- base::WeakPtrFactory<QuicCryptoClientStream> weak_factory_; |
+ // |in| may be NULL if the call did not result from a received message |
+ void DoHandshakeLoop(const CryptoHandshakeMessage* in); |
State next_state_; |
// num_client_hellos_ contains the number of client hello messages that this |
@@ -86,13 +80,15 @@ class NET_EXPORT_PRIVATE QuicCryptoClientStream : public QuicCryptoStream { |
// Generation counter from QuicCryptoClientConfig's CachedState. |
uint64 generation_counter_; |
- // The result of certificate verification. |
- // TODO(rtenneti): should we change CertVerifyResult to be |
- // RefCountedThreadSafe object to avoid copying. |
- CertVerifyResult cert_verify_result_; |
+ // proof_verify_callback_ contains the callback object that we passed to an |
+ // asynchronous proof verification. The ProofVerifier owns this object. |
+ ProofVerifierCallbackClientStream* proof_verify_callback_; |
Ryan Hamilton
2013/07/23 18:40:50
nit: I don't think I understand the meaning of the
agl
2013/07/23 21:04:57
It's the implementation of a callback object that
Ryan Hamilton
2013/07/23 21:19:16
Love it!
|
- // Error details for ProofVerifier's VerifyProof call. |
- std::string error_details_; |
+ // These members are used to store the result of an asynchronous proof |
+ // verification. |
+ bool verify_ok_; |
+ string verify_error_details_; |
+ scoped_ptr<ProofVerifyDetails> verify_details_; |
DISALLOW_COPY_AND_ASSIGN(QuicCryptoClientStream); |
}; |