Chromium Code Reviews| Index: net/quic/crypto/proof_source.h |
| diff --git a/net/quic/crypto/proof_source.h b/net/quic/crypto/proof_source.h |
| index a03c798f845c0b4deb6044d09fcb8ac5c0e0fd26..b6080c63751ef4150a720e7b95721290eb75fd96 100644 |
| --- a/net/quic/crypto/proof_source.h |
| +++ b/net/quic/crypto/proof_source.h |
| @@ -36,6 +36,13 @@ class NET_EXPORT_PRIVATE ProofSource { |
| DISALLOW_COPY_AND_ASSIGN(Chain); |
| }; |
| + // Details is an abstract class which acts as a container for any |
| + // implementation-specific details that a ProofSource wants to return. |
| + class Details { |
|
Zhongyi Shi
2016/07/27 21:47:55
nit: You might need to add the NET_EXPORT_PRIVATE
Ryan Hamilton
2016/07/27 22:17:46
*nod* Depends on if it's used in the tests. I'll f
|
| + public: |
| + virtual ~Details() {} |
| + }; |
| + |
| // Callback base class for receiving the results of an async call to GetProof. |
| class Callback { |
| public: |
| @@ -53,10 +60,16 @@ class NET_EXPORT_PRIVATE ProofSource { |
| // |signature| contains the signature of the server config. |
| // |
| // |leaf_cert_sct| holds the signed timestamp (RFC6962) of the leaf cert. |
| + // |
| + // |details| holds a pointer to an object representing the statistics, if |
| + // any, |
| + // gathered during the operation of GetProof. If no stats are available, |
| + // this will be nullptr. |
| virtual void Run(bool ok, |
| const scoped_refptr<Chain>& chain, |
| const std::string& signature, |
| - const std::string& leaf_cert_sct) = 0; |
| + const std::string& leaf_cert_sct, |
| + std::unique_ptr<Details> details) = 0; |
| private: |
| Callback(const Callback&) = delete; |