| 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 #include "net/tools/quic/test_tools/quic_test_client.h" | 5 #include "net/tools/quic/test_tools/quic_test_client.h" |
| 6 | 6 |
| 7 #include "base/time/time.h" | 7 #include "base/time/time.h" |
| 8 #include "net/base/completion_callback.h" | 8 #include "net/base/completion_callback.h" |
| 9 #include "net/base/net_errors.h" | 9 #include "net/base/net_errors.h" |
| 10 #include "net/cert/cert_verify_result.h" | 10 #include "net/cert/cert_verify_result.h" |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 94 return headers; | 94 return headers; |
| 95 } | 95 } |
| 96 | 96 |
| 97 // A quic client which allows mocking out writes. | 97 // A quic client which allows mocking out writes. |
| 98 class QuicEpollClient : public QuicClient { | 98 class QuicEpollClient : public QuicClient { |
| 99 public: | 99 public: |
| 100 typedef QuicClient Super; | 100 typedef QuicClient Super; |
| 101 | 101 |
| 102 QuicEpollClient(IPEndPoint server_address, | 102 QuicEpollClient(IPEndPoint server_address, |
| 103 const string& server_hostname, | 103 const string& server_hostname, |
| 104 const QuicVersion version) | 104 const QuicVersionVector& supported_versions) |
| 105 : Super(server_address, server_hostname, version, false), | 105 : Super(server_address, server_hostname, supported_versions, false), |
| 106 override_guid_(0), test_writer_(NULL) { | 106 override_guid_(0), test_writer_(NULL) { |
| 107 } | 107 } |
| 108 | 108 |
| 109 QuicEpollClient(IPEndPoint server_address, | 109 QuicEpollClient(IPEndPoint server_address, |
| 110 const string& server_hostname, | 110 const string& server_hostname, |
| 111 const QuicConfig& config, | 111 const QuicConfig& config, |
| 112 const QuicVersion version) | 112 const QuicVersionVector& supported_versions) |
| 113 : Super(server_address, server_hostname, config, version), | 113 : Super(server_address, server_hostname, config, supported_versions), |
| 114 override_guid_(0), test_writer_(NULL) { | 114 override_guid_(0), test_writer_(NULL) { |
| 115 } | 115 } |
| 116 | 116 |
| 117 virtual ~QuicEpollClient() { | 117 virtual ~QuicEpollClient() { |
| 118 if (connected()) { | 118 if (connected()) { |
| 119 Disconnect(); | 119 Disconnect(); |
| 120 } | 120 } |
| 121 } | 121 } |
| 122 | 122 |
| 123 virtual QuicPacketWriter* CreateQuicPacketWriter() OVERRIDE { | 123 virtual QuicPacketWriter* CreateQuicPacketWriter() OVERRIDE { |
| (...skipping 15 matching lines...) Expand all Loading... |
| 139 void UseGuid(QuicGuid guid) { | 139 void UseGuid(QuicGuid guid) { |
| 140 override_guid_ = guid; | 140 override_guid_ = guid; |
| 141 } | 141 } |
| 142 | 142 |
| 143 private: | 143 private: |
| 144 QuicGuid override_guid_; // GUID to use, if nonzero | 144 QuicGuid override_guid_; // GUID to use, if nonzero |
| 145 QuicTestWriter* test_writer_; | 145 QuicTestWriter* test_writer_; |
| 146 }; | 146 }; |
| 147 | 147 |
| 148 QuicTestClient::QuicTestClient(IPEndPoint address, const string& hostname, | 148 QuicTestClient::QuicTestClient(IPEndPoint address, const string& hostname, |
| 149 const QuicVersion version) | 149 const QuicVersionVector& supported_versions) |
| 150 : client_(new QuicEpollClient(address, hostname, version)) { | 150 : client_(new QuicEpollClient(address, hostname, supported_versions)) { |
| 151 Initialize(address, hostname, true); | 151 Initialize(address, hostname, true); |
| 152 } | 152 } |
| 153 | 153 |
| 154 QuicTestClient::QuicTestClient(IPEndPoint address, | 154 QuicTestClient::QuicTestClient(IPEndPoint address, |
| 155 const string& hostname, | 155 const string& hostname, |
| 156 bool secure, | 156 bool secure, |
| 157 const QuicVersion version) | 157 const QuicVersionVector& supported_versions) |
| 158 : client_(new QuicEpollClient(address, hostname, version)) { | 158 : client_(new QuicEpollClient(address, hostname, supported_versions)) { |
| 159 Initialize(address, hostname, secure); | 159 Initialize(address, hostname, secure); |
| 160 } | 160 } |
| 161 | 161 |
| 162 QuicTestClient::QuicTestClient(IPEndPoint address, | 162 QuicTestClient::QuicTestClient(IPEndPoint address, |
| 163 const string& hostname, | 163 const string& hostname, |
| 164 bool secure, | 164 bool secure, |
| 165 const QuicConfig& config, | 165 const QuicConfig& config, |
| 166 const QuicVersion version) | 166 const QuicVersionVector& supported_versions) |
| 167 : client_(new QuicEpollClient(address, hostname, config, version)) { | 167 : client_(new QuicEpollClient(address, hostname, config, |
| 168 supported_versions)) { |
| 168 Initialize(address, hostname, secure); | 169 Initialize(address, hostname, secure); |
| 169 } | 170 } |
| 170 | 171 |
| 171 void QuicTestClient::Initialize(IPEndPoint address, | 172 void QuicTestClient::Initialize(IPEndPoint address, |
| 172 const string& hostname, | 173 const string& hostname, |
| 173 bool secure) { | 174 bool secure) { |
| 174 server_address_ = address; | 175 server_address_ = address; |
| 175 stream_ = NULL; | 176 stream_ = NULL; |
| 176 stream_error_ = QUIC_STREAM_NO_ERROR; | 177 stream_error_ = QUIC_STREAM_NO_ERROR; |
| 177 priority_ = 3; | 178 priority_ = 3; |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 296 client_->Connect(); | 297 client_->Connect(); |
| 297 connect_attempted_ = true; | 298 connect_attempted_ = true; |
| 298 } | 299 } |
| 299 | 300 |
| 300 void QuicTestClient::ResetConnection() { | 301 void QuicTestClient::ResetConnection() { |
| 301 Disconnect(); | 302 Disconnect(); |
| 302 Connect(); | 303 Connect(); |
| 303 } | 304 } |
| 304 | 305 |
| 305 void QuicTestClient::Disconnect() { | 306 void QuicTestClient::Disconnect() { |
| 306 client_->Disconnect(); | 307 if (client_->connected()) { |
| 308 client_->Disconnect(); |
| 309 } |
| 307 connect_attempted_ = false; | 310 connect_attempted_ = false; |
| 308 } | 311 } |
| 309 | 312 |
| 310 IPEndPoint QuicTestClient::LocalSocketAddress() const { | 313 IPEndPoint QuicTestClient::LocalSocketAddress() const { |
| 311 return client_->client_address(); | 314 return client_->client_address(); |
| 312 } | 315 } |
| 313 | 316 |
| 314 void QuicTestClient::ClearPerRequestState() { | 317 void QuicTestClient::ClearPerRequestState() { |
| 315 stream_error_ = QUIC_STREAM_NO_ERROR; | 318 stream_error_ = QUIC_STREAM_NO_ERROR; |
| 316 stream_ = NULL; | 319 stream_ = NULL; |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 396 } | 399 } |
| 397 | 400 |
| 398 void QuicTestClient::UseGuid(QuicGuid guid) { | 401 void QuicTestClient::UseGuid(QuicGuid guid) { |
| 399 DCHECK(!connected()); | 402 DCHECK(!connected()); |
| 400 reinterpret_cast<QuicEpollClient*>(client_.get())->UseGuid(guid); | 403 reinterpret_cast<QuicEpollClient*>(client_.get())->UseGuid(guid); |
| 401 } | 404 } |
| 402 | 405 |
| 403 } // namespace test | 406 } // namespace test |
| 404 } // namespace tools | 407 } // namespace tools |
| 405 } // namespace net | 408 } // namespace net |
| OLD | NEW |