OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/quic/bidirectional_stream_quic_impl.h" | 5 #include "net/quic/bidirectional_stream_quic_impl.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 | 8 |
9 #include <memory> | 9 #include <memory> |
10 #include <vector> | 10 #include <vector> |
11 | 11 |
12 #include "base/callback_helpers.h" | 12 #include "base/callback_helpers.h" |
13 #include "base/memory/ptr_util.h" | 13 #include "base/memory/ptr_util.h" |
14 #include "base/message_loop/message_loop.h" | 14 #include "base/message_loop/message_loop.h" |
15 #include "base/run_loop.h" | 15 #include "base/run_loop.h" |
16 #include "base/strings/string_number_conversions.h" | 16 #include "base/strings/string_number_conversions.h" |
17 #include "net/base/ip_address.h" | 17 #include "net/base/ip_address.h" |
18 #include "net/base/net_errors.h" | 18 #include "net/base/net_errors.h" |
19 #include "net/http/bidirectional_stream_request_info.h" | 19 #include "net/http/bidirectional_stream_request_info.h" |
20 #include "net/http/transport_security_state.h" | 20 #include "net/http/transport_security_state.h" |
21 #include "net/log/test_net_log.h" | 21 #include "net/log/test_net_log.h" |
22 #include "net/log/test_net_log_util.h" | 22 #include "net/log/test_net_log_util.h" |
23 #include "net/quic/crypto/crypto_protocol.h" | 23 #include "net/quic/crypto/crypto_protocol.h" |
24 #include "net/quic/crypto/quic_decrypter.h" | 24 #include "net/quic/crypto/quic_decrypter.h" |
25 #include "net/quic/crypto/quic_encrypter.h" | 25 #include "net/quic/crypto/quic_encrypter.h" |
26 #include "net/quic/crypto/quic_server_info.h" | 26 #include "net/quic/crypto/quic_server_info.h" |
| 27 #include "net/quic/quic_chromium_alarm_factory.h" |
27 #include "net/quic/quic_chromium_client_session.h" | 28 #include "net/quic/quic_chromium_client_session.h" |
28 #include "net/quic/quic_chromium_client_stream.h" | 29 #include "net/quic/quic_chromium_client_stream.h" |
29 #include "net/quic/quic_chromium_connection_helper.h" | 30 #include "net/quic/quic_chromium_connection_helper.h" |
30 #include "net/quic/quic_chromium_packet_reader.h" | 31 #include "net/quic/quic_chromium_packet_reader.h" |
31 #include "net/quic/quic_chromium_packet_writer.h" | 32 #include "net/quic/quic_chromium_packet_writer.h" |
32 #include "net/quic/quic_connection.h" | 33 #include "net/quic/quic_connection.h" |
33 #include "net/quic/quic_http_utils.h" | 34 #include "net/quic/quic_http_utils.h" |
34 #include "net/quic/spdy_utils.h" | 35 #include "net/quic/spdy_utils.h" |
35 #include "net/quic/test_tools/crypto_test_utils.h" | 36 #include "net/quic/test_tools/crypto_test_utils.h" |
36 #include "net/quic/test_tools/mock_clock.h" | 37 #include "net/quic/test_tools/mock_clock.h" |
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
322 } | 323 } |
323 }; | 324 }; |
324 | 325 |
325 socket_data_.reset(new StaticSocketDataProvider( | 326 socket_data_.reset(new StaticSocketDataProvider( |
326 nullptr, 0, mock_writes_.get(), writes_.size())); | 327 nullptr, 0, mock_writes_.get(), writes_.size())); |
327 | 328 |
328 std::unique_ptr<MockUDPClientSocket> socket(new MockUDPClientSocket( | 329 std::unique_ptr<MockUDPClientSocket> socket(new MockUDPClientSocket( |
329 socket_data_.get(), net_log().bound().net_log())); | 330 socket_data_.get(), net_log().bound().net_log())); |
330 socket->Connect(peer_addr_); | 331 socket->Connect(peer_addr_); |
331 runner_ = new TestTaskRunner(&clock_); | 332 runner_ = new TestTaskRunner(&clock_); |
332 helper_.reset(new QuicChromiumConnectionHelper(runner_.get(), &clock_, | 333 helper_.reset( |
333 &random_generator_)); | 334 new QuicChromiumConnectionHelper(&clock_, &random_generator_)); |
| 335 alarm_factory_.reset(new QuicChromiumAlarmFactory(runner_.get(), &clock_)); |
334 connection_ = new QuicConnection( | 336 connection_ = new QuicConnection( |
335 connection_id_, peer_addr_, helper_.get(), | 337 connection_id_, peer_addr_, helper_.get(), alarm_factory_.get(), |
336 new QuicChromiumPacketWriter(socket.get()), true /* owns_writer */, | 338 new QuicChromiumPacketWriter(socket.get()), true /* owns_writer */, |
337 Perspective::IS_CLIENT, SupportedVersions(GetParam())); | 339 Perspective::IS_CLIENT, SupportedVersions(GetParam())); |
338 | 340 |
339 session_.reset(new QuicChromiumClientSession( | 341 session_.reset(new QuicChromiumClientSession( |
340 connection_, std::move(socket), | 342 connection_, std::move(socket), |
341 /*stream_factory=*/nullptr, &crypto_client_stream_factory_, &clock_, | 343 /*stream_factory=*/nullptr, &crypto_client_stream_factory_, &clock_, |
342 &transport_security_state_, base::WrapUnique((QuicServerInfo*)nullptr), | 344 &transport_security_state_, base::WrapUnique((QuicServerInfo*)nullptr), |
343 QuicServerId(kDefaultServerHostName, kDefaultServerPort, | 345 QuicServerId(kDefaultServerHostName, kDefaultServerPort, |
344 PRIVACY_MODE_DISABLED), | 346 PRIVACY_MODE_DISABLED), |
345 kQuicYieldAfterPacketsRead, | 347 kQuicYieldAfterPacketsRead, |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
465 | 467 |
466 QuicChromiumClientSession* session() const { return session_.get(); } | 468 QuicChromiumClientSession* session() const { return session_.get(); } |
467 | 469 |
468 private: | 470 private: |
469 BoundTestNetLog net_log_; | 471 BoundTestNetLog net_log_; |
470 scoped_refptr<TestTaskRunner> runner_; | 472 scoped_refptr<TestTaskRunner> runner_; |
471 std::unique_ptr<MockWrite[]> mock_writes_; | 473 std::unique_ptr<MockWrite[]> mock_writes_; |
472 MockClock clock_; | 474 MockClock clock_; |
473 QuicConnection* connection_; | 475 QuicConnection* connection_; |
474 std::unique_ptr<QuicChromiumConnectionHelper> helper_; | 476 std::unique_ptr<QuicChromiumConnectionHelper> helper_; |
| 477 std::unique_ptr<QuicChromiumAlarmFactory> alarm_factory_; |
475 TransportSecurityState transport_security_state_; | 478 TransportSecurityState transport_security_state_; |
476 std::unique_ptr<QuicChromiumClientSession> session_; | 479 std::unique_ptr<QuicChromiumClientSession> session_; |
477 QuicCryptoClientConfig crypto_config_; | 480 QuicCryptoClientConfig crypto_config_; |
478 HttpRequestHeaders headers_; | 481 HttpRequestHeaders headers_; |
479 HttpResponseInfo response_; | 482 HttpResponseInfo response_; |
480 scoped_refptr<IOBufferWithSize> read_buffer_; | 483 scoped_refptr<IOBufferWithSize> read_buffer_; |
481 SpdyHeaderBlock request_headers_; | 484 SpdyHeaderBlock request_headers_; |
482 const QuicConnectionId connection_id_; | 485 const QuicConnectionId connection_id_; |
483 const QuicStreamId stream_id_; | 486 const QuicStreamId stream_id_; |
484 QuicTestPacketMaker maker_; | 487 QuicTestPacketMaker maker_; |
(...skipping 662 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1147 | 1150 |
1148 base::MessageLoop::current()->RunUntilIdle(); | 1151 base::MessageLoop::current()->RunUntilIdle(); |
1149 | 1152 |
1150 EXPECT_EQ(1, delegate->on_data_read_count()); | 1153 EXPECT_EQ(1, delegate->on_data_read_count()); |
1151 EXPECT_EQ(0, delegate->on_data_sent_count()); | 1154 EXPECT_EQ(0, delegate->on_data_sent_count()); |
1152 } | 1155 } |
1153 | 1156 |
1154 } // namespace test | 1157 } // namespace test |
1155 | 1158 |
1156 } // namespace net | 1159 } // namespace net |
OLD | NEW |