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 <stddef.h> | 5 #include <stddef.h> |
6 #include <sys/epoll.h> | 6 #include <sys/epoll.h> |
7 | 7 |
8 #include <list> | 8 #include <list> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
347 if (GetParam().client_supports_stateless_rejects) { | 347 if (GetParam().client_supports_stateless_rejects) { |
348 copt.push_back(kSREJ); | 348 copt.push_back(kSREJ); |
349 } | 349 } |
350 client_config_.SetConnectionOptionsToSend(copt); | 350 client_config_.SetConnectionOptionsToSend(copt); |
351 | 351 |
352 // Start the server first, because CreateQuicClient() attempts | 352 // Start the server first, because CreateQuicClient() attempts |
353 // to connect to the server. | 353 // to connect to the server. |
354 StartServer(); | 354 StartServer(); |
355 | 355 |
356 client_.reset(CreateQuicClient(client_writer_)); | 356 client_.reset(CreateQuicClient(client_writer_)); |
357 static EpollEvent event(EPOLLOUT, false); | |
358 client_writer_->Initialize( | 357 client_writer_->Initialize( |
359 reinterpret_cast<QuicEpollConnectionHelper*>( | 358 reinterpret_cast<QuicEpollConnectionHelper*>( |
360 QuicConnectionPeer::GetHelper( | 359 QuicConnectionPeer::GetHelper( |
361 client_->client()->session()->connection())), | 360 client_->client()->session()->connection())), |
| 361 reinterpret_cast<QuicEpollAlarmFactory*>( |
| 362 QuicConnectionPeer::GetAlarmFactory( |
| 363 client_->client()->session()->connection())), |
362 new ClientDelegate(client_->client())); | 364 new ClientDelegate(client_->client())); |
363 initialized_ = true; | 365 initialized_ = true; |
364 return client_->client()->connected(); | 366 return client_->client()->connected(); |
365 } | 367 } |
366 | 368 |
367 void SetUp() override { | 369 void SetUp() override { |
368 // The ownership of these gets transferred to the QuicPacketWriterWrapper | 370 // The ownership of these gets transferred to the QuicPacketWriterWrapper |
369 // when Initialize() is executed. | 371 // when Initialize() is executed. |
370 client_writer_ = new PacketDroppingTestWriter(); | 372 client_writer_ = new PacketDroppingTestWriter(); |
371 server_writer_ = new PacketDroppingTestWriter(); | 373 server_writer_ = new PacketDroppingTestWriter(); |
(...skipping 17 matching lines...) Expand all Loading... |
389 server_address_ = | 391 server_address_ = |
390 IPEndPoint(server_address_.address(), server_thread_->GetPort()); | 392 IPEndPoint(server_address_.address(), server_thread_->GetPort()); |
391 QuicDispatcher* dispatcher = | 393 QuicDispatcher* dispatcher = |
392 QuicServerPeer::GetDispatcher(server_thread_->server()); | 394 QuicServerPeer::GetDispatcher(server_thread_->server()); |
393 QuicDispatcherPeer::UseWriter(dispatcher, server_writer_); | 395 QuicDispatcherPeer::UseWriter(dispatcher, server_writer_); |
394 | 396 |
395 FLAGS_enable_quic_stateless_reject_support = | 397 FLAGS_enable_quic_stateless_reject_support = |
396 GetParam().server_uses_stateless_rejects_if_peer_supported; | 398 GetParam().server_uses_stateless_rejects_if_peer_supported; |
397 | 399 |
398 server_writer_->Initialize(QuicDispatcherPeer::GetHelper(dispatcher), | 400 server_writer_->Initialize(QuicDispatcherPeer::GetHelper(dispatcher), |
| 401 QuicDispatcherPeer::GetAlarmFactory(dispatcher), |
399 new ServerDelegate(dispatcher)); | 402 new ServerDelegate(dispatcher)); |
400 if (stream_factory_ != nullptr) { | 403 if (stream_factory_ != nullptr) { |
401 static_cast<QuicTestServer*>(server_thread_->server()) | 404 static_cast<QuicTestServer*>(server_thread_->server()) |
402 ->SetSpdyStreamFactory(stream_factory_); | 405 ->SetSpdyStreamFactory(stream_factory_); |
403 } | 406 } |
404 | 407 |
405 server_thread_->Start(); | 408 server_thread_->Start(); |
406 server_started_ = true; | 409 server_started_ = true; |
407 } | 410 } |
408 | 411 |
(...skipping 2186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2595 // Use a quic client that drops received body. | 2598 // Use a quic client that drops received body. |
2596 QuicTestClient* client = new QuicTestClientThatDropsBody( | 2599 QuicTestClient* client = new QuicTestClientThatDropsBody( |
2597 server_address_, server_hostname_, client_config_, | 2600 server_address_, server_hostname_, client_config_, |
2598 client_supported_versions_); | 2601 client_supported_versions_); |
2599 client->UseWriter(client_writer_); | 2602 client->UseWriter(client_writer_); |
2600 client->Connect(); | 2603 client->Connect(); |
2601 client_.reset(client); | 2604 client_.reset(client); |
2602 static EpollEvent event(EPOLLOUT, false); | 2605 static EpollEvent event(EPOLLOUT, false); |
2603 client_writer_->Initialize( | 2606 client_writer_->Initialize( |
2604 QuicConnectionPeer::GetHelper(client_->client()->session()->connection()), | 2607 QuicConnectionPeer::GetHelper(client_->client()->session()->connection()), |
| 2608 QuicConnectionPeer::GetAlarmFactory( |
| 2609 client_->client()->session()->connection()), |
2605 new ClientDelegate(client_->client())); | 2610 new ClientDelegate(client_->client())); |
2606 initialized_ = true; | 2611 initialized_ = true; |
2607 ASSERT_TRUE(client_->client()->connected()); | 2612 ASSERT_TRUE(client_->client()->connected()); |
2608 | 2613 |
2609 client_->client()->WaitForCryptoHandshakeConfirmed(); | 2614 client_->client()->WaitForCryptoHandshakeConfirmed(); |
2610 SetPacketLossPercentage(1); | 2615 SetPacketLossPercentage(1); |
2611 client_->SendRequest("/huge_response"); | 2616 client_->SendRequest("/huge_response"); |
2612 client_->WaitForResponse(); | 2617 client_->WaitForResponse(); |
2613 VerifyCleanConnection(false); | 2618 VerifyCleanConnection(false); |
2614 } | 2619 } |
2615 | 2620 |
2616 } // namespace | 2621 } // namespace |
2617 } // namespace test | 2622 } // namespace test |
2618 } // namespace net | 2623 } // namespace net |
OLD | NEW |