Chromium Code Reviews| Index: net/quic/test_tools/crypto_test_utils.h |
| diff --git a/net/quic/test_tools/crypto_test_utils.h b/net/quic/test_tools/crypto_test_utils.h |
| index cc16d4699b627fee761a420ba1ba3ff7acbc7668..bd9f8edbda7605b9e2e4082f9d843f6dfd3c9475 100644 |
| --- a/net/quic/test_tools/crypto_test_utils.h |
| +++ b/net/quic/test_tools/crypto_test_utils.h |
| @@ -38,6 +38,17 @@ class PacketSavingConnection; |
| class CryptoTestUtils { |
| public: |
| + // An interface for a source of work. Call the DoPendingWork method regularly |
| + // to do the work from this source. |
|
Ryan Hamilton
2014/07/09 22:55:49
Can you mentioned that this may be use for things
wtc
2014/07/09 23:21:48
Done.
|
| + class WorkSource { |
| + public: |
| + virtual ~WorkSource() {} |
| + |
| + // Does pending work in this source. If there is no pending work, does |
| + // nothing. |
| + virtual void DoPendingWork() = 0; |
| + }; |
| + |
| // FakeClientOptions bundles together a number of options for configuring |
| // HandshakeWithFakeClient. |
| struct FakeClientOptions { |
| @@ -50,6 +61,10 @@ class CryptoTestUtils { |
| // If channel_id_enabled is true then the client will attempt to send a |
| // ChannelID. |
| bool channel_id_enabled; |
| + |
| + // If channel_id_source_async is true then the client will use an async |
| + // ChannelIDSource for testing. Ignored if channel_id_enabled is false. |
| + bool channel_id_source_async; |
| }; |
| // returns: the number of client hellos that the client sent. |
| @@ -76,6 +91,17 @@ class CryptoTestUtils { |
| PacketSavingConnection* b_conn, |
| QuicCryptoStream* b); |
| + // CommunicateHandshakeMessagesAndDoWork moves messages from |a| to |b| and |
| + // back until |a|'s handshake has completed. If |work_source| is not NULL, |
| + // CommunicateHandshakeMessagesAndDoWork also does work from |work_source| |
| + // between processing messages. |
| + static void CommunicateHandshakeMessagesAndDoWork( |
| + PacketSavingConnection* a_conn, |
| + QuicCryptoStream* a, |
| + PacketSavingConnection* b_conn, |
| + QuicCryptoStream* b, |
| + WorkSource* work_source = NULL); |
|
Ryan Hamilton
2014/07/09 22:55:49
I suspect that you meant to remove the = NULL here
wtc
2014/07/09 23:21:48
Done. Thank you for catching this!
|
| + |
| // AdvanceHandshake attempts to moves messages from |a| to |b| and |b| to |a|. |
| // Returns the number of messages moved. |
| static std::pair<size_t, size_t> AdvanceHandshake( |