| 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_TOOLS_QUIC_TEST_TOOLS_QUIC_TEST_CLIENT_H_ | 5 #ifndef NET_TOOLS_QUIC_TEST_TOOLS_QUIC_TEST_CLIENT_H_ |
| 6 #define NET_TOOLS_QUIC_TEST_TOOLS_QUIC_TEST_CLIENT_H_ | 6 #define NET_TOOLS_QUIC_TEST_TOOLS_QUIC_TEST_CLIENT_H_ |
| 7 | 7 |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 | 10 |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 106 std::unique_ptr<ProofVerifier> proof_verifier); | 106 std::unique_ptr<ProofVerifier> proof_verifier); |
| 107 | 107 |
| 108 ~QuicTestClient() override; | 108 ~QuicTestClient() override; |
| 109 | 109 |
| 110 // Sets the |user_agent_id| of the |client_|. | 110 // Sets the |user_agent_id| of the |client_|. |
| 111 void SetUserAgentID(const std::string& user_agent_id); | 111 void SetUserAgentID(const std::string& user_agent_id); |
| 112 | 112 |
| 113 // Wraps data in a quic packet and sends it. | 113 // Wraps data in a quic packet and sends it. |
| 114 ssize_t SendData(const std::string& data, bool last_data); | 114 ssize_t SendData(const std::string& data, bool last_data); |
| 115 // As above, but |delegate| will be notified when |data| is ACKed. | 115 // As above, but |delegate| will be notified when |data| is ACKed. |
| 116 ssize_t SendData(const std::string& data, | 116 ssize_t SendData( |
| 117 bool last_data, | 117 const std::string& data, |
| 118 scoped_refptr<QuicAckListenerInterface> delegate); | 118 bool last_data, |
| 119 QuicReferenceCountedPointer<QuicAckListenerInterface> delegate); |
| 119 | 120 |
| 120 // Clears any outstanding state and sends a simple GET of 'uri' to the | 121 // Clears any outstanding state and sends a simple GET of 'uri' to the |
| 121 // server. Returns 0 if the request failed and no bytes were written. | 122 // server. Returns 0 if the request failed and no bytes were written. |
| 122 ssize_t SendRequest(const std::string& uri); | 123 ssize_t SendRequest(const std::string& uri); |
| 123 // Sends requests for all the urls and waits for the responses. To process | 124 // Sends requests for all the urls and waits for the responses. To process |
| 124 // the individual responses as they are returned, the caller should use the | 125 // the individual responses as they are returned, the caller should use the |
| 125 // set the response_listener on the client(). | 126 // set the response_listener on the client(). |
| 126 void SendRequestsAndWaitForResponses( | 127 void SendRequestsAndWaitForResponses( |
| 127 const std::vector<std::string>& url_list); | 128 const std::vector<std::string>& url_list); |
| 128 // Sends a request containing |headers| and |body| and returns the number of | 129 // Sends a request containing |headers| and |body| and returns the number of |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 212 // Returns nullptr if the maximum number of streams have already been created. | 213 // Returns nullptr if the maximum number of streams have already been created. |
| 213 QuicSpdyClientStream* GetOrCreateStream(); | 214 QuicSpdyClientStream* GetOrCreateStream(); |
| 214 | 215 |
| 215 // Calls GetOrCreateStream(), sends the request on the stream, and | 216 // Calls GetOrCreateStream(), sends the request on the stream, and |
| 216 // stores the request in case it needs to be resent. If |headers| is | 217 // stores the request in case it needs to be resent. If |headers| is |
| 217 // null, only the body will be sent on the stream. | 218 // null, only the body will be sent on the stream. |
| 218 ssize_t GetOrCreateStreamAndSendRequest( | 219 ssize_t GetOrCreateStreamAndSendRequest( |
| 219 const SpdyHeaderBlock* headers, | 220 const SpdyHeaderBlock* headers, |
| 220 base::StringPiece body, | 221 base::StringPiece body, |
| 221 bool fin, | 222 bool fin, |
| 222 scoped_refptr<QuicAckListenerInterface> delegate); | 223 QuicReferenceCountedPointer<QuicAckListenerInterface> delegate); |
| 223 | 224 |
| 224 QuicRstStreamErrorCode stream_error() { return stream_error_; } | 225 QuicRstStreamErrorCode stream_error() { return stream_error_; } |
| 225 QuicErrorCode connection_error(); | 226 QuicErrorCode connection_error(); |
| 226 | 227 |
| 227 MockableQuicClient* client(); | 228 MockableQuicClient* client(); |
| 228 | 229 |
| 229 // cert_common_name returns the common name value of the server's certificate, | 230 // cert_common_name returns the common name value of the server's certificate, |
| 230 // or the empty string if no certificate was presented. | 231 // or the empty string if no certificate was presented. |
| 231 const std::string& cert_common_name() const; | 232 const std::string& cert_common_name() const; |
| 232 | 233 |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 269 void Initialize(); | 270 void Initialize(); |
| 270 | 271 |
| 271 void set_client(MockableQuicClient* client) { client_.reset(client); } | 272 void set_client(MockableQuicClient* client) { client_.reset(client); } |
| 272 | 273 |
| 273 protected: | 274 protected: |
| 274 QuicTestClient(); | 275 QuicTestClient(); |
| 275 | 276 |
| 276 private: | 277 private: |
| 277 class TestClientDataToResend : public QuicClient::QuicDataToResend { | 278 class TestClientDataToResend : public QuicClient::QuicDataToResend { |
| 278 public: | 279 public: |
| 279 TestClientDataToResend(std::unique_ptr<SpdyHeaderBlock> headers, | 280 TestClientDataToResend( |
| 280 base::StringPiece body, | 281 std::unique_ptr<SpdyHeaderBlock> headers, |
| 281 bool fin, | 282 base::StringPiece body, |
| 282 QuicTestClient* test_client, | 283 bool fin, |
| 283 scoped_refptr<QuicAckListenerInterface> delegate); | 284 QuicTestClient* test_client, |
| 285 QuicReferenceCountedPointer<QuicAckListenerInterface> delegate); |
| 284 | 286 |
| 285 ~TestClientDataToResend() override; | 287 ~TestClientDataToResend() override; |
| 286 | 288 |
| 287 void Resend() override; | 289 void Resend() override; |
| 288 | 290 |
| 289 protected: | 291 protected: |
| 290 QuicTestClient* test_client_; | 292 QuicTestClient* test_client_; |
| 291 scoped_refptr<QuicAckListenerInterface> delegate_; | 293 QuicReferenceCountedPointer<QuicAckListenerInterface> delegate_; |
| 292 }; | 294 }; |
| 293 | 295 |
| 294 // Given |uri|, populates the fields in |headers| for a simple GET | 296 // Given |uri|, populates the fields in |headers| for a simple GET |
| 295 // request. If |uri| is a relative URL, the QuicServerId will be | 297 // request. If |uri| is a relative URL, the QuicServerId will be |
| 296 // use to specify the authority. | 298 // use to specify the authority. |
| 297 bool PopulateHeaderBlockFromUrl(const std::string& uri, | 299 bool PopulateHeaderBlockFromUrl(const std::string& uri, |
| 298 SpdyHeaderBlock* headers); | 300 SpdyHeaderBlock* headers); |
| 299 | 301 |
| 300 bool HaveActiveStream(); | 302 bool HaveActiveStream(); |
| 301 | 303 |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 344 std::string override_sni_; | 346 std::string override_sni_; |
| 345 | 347 |
| 346 DISALLOW_COPY_AND_ASSIGN(QuicTestClient); | 348 DISALLOW_COPY_AND_ASSIGN(QuicTestClient); |
| 347 }; | 349 }; |
| 348 | 350 |
| 349 } // namespace test | 351 } // namespace test |
| 350 | 352 |
| 351 } // namespace net | 353 } // namespace net |
| 352 | 354 |
| 353 #endif // NET_TOOLS_QUIC_TEST_TOOLS_QUIC_TEST_CLIENT_H_ | 355 #endif // NET_TOOLS_QUIC_TEST_TOOLS_QUIC_TEST_CLIENT_H_ |
| OLD | NEW |