| 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/chromium/bidirectional_stream_quic_impl.h" | 5 #include "net/quic/chromium/bidirectional_stream_quic_impl.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/callback_helpers.h" | 9 #include "base/callback_helpers.h" |
| 10 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 145 CHECK_EQ(OK, error_); | 145 CHECK_EQ(OK, error_); |
| 146 CHECK_NE(OK, error); | 146 CHECK_NE(OK, error); |
| 147 | 147 |
| 148 on_failed_called_ = true; | 148 on_failed_called_ = true; |
| 149 error_ = error; | 149 error_ = error; |
| 150 loop_->Quit(); | 150 loop_->Quit(); |
| 151 } | 151 } |
| 152 | 152 |
| 153 void Start(const BidirectionalStreamRequestInfo* request_info, | 153 void Start(const BidirectionalStreamRequestInfo* request_info, |
| 154 const NetLogWithSource& net_log, | 154 const NetLogWithSource& net_log, |
| 155 const base::WeakPtr<QuicChromiumClientSession> session) { | 155 std::unique_ptr<QuicChromiumClientSession::Handle> session) { |
| 156 stream_.reset(new BidirectionalStreamQuicImpl(session)); | 156 stream_ = base::MakeUnique<BidirectionalStreamQuicImpl>(std::move(session)); |
| 157 stream_->Start(request_info, net_log, send_request_headers_automatically_, | 157 stream_->Start(request_info, net_log, send_request_headers_automatically_, |
| 158 this, nullptr); | 158 this, nullptr); |
| 159 } | 159 } |
| 160 | 160 |
| 161 void SendRequestHeaders() { stream_->SendRequestHeaders(); } | 161 void SendRequestHeaders() { stream_->SendRequestHeaders(); } |
| 162 | 162 |
| 163 void SendData(const scoped_refptr<IOBuffer>& data, | 163 void SendData(const scoped_refptr<IOBuffer>& data, |
| 164 int length, | 164 int length, |
| 165 bool end_of_stream) { | 165 bool end_of_stream) { |
| 166 not_expect_callback_ = true; | 166 not_expect_callback_ = true; |
| (...skipping 560 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 727 BidirectionalStreamRequestInfo request; | 727 BidirectionalStreamRequestInfo request; |
| 728 request.method = "GET"; | 728 request.method = "GET"; |
| 729 request.url = GURL("http://www.google.com/"); | 729 request.url = GURL("http://www.google.com/"); |
| 730 request.end_stream_on_headers = true; | 730 request.end_stream_on_headers = true; |
| 731 request.priority = DEFAULT_PRIORITY; | 731 request.priority = DEFAULT_PRIORITY; |
| 732 | 732 |
| 733 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); | 733 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); |
| 734 std::unique_ptr<TestDelegateBase> delegate( | 734 std::unique_ptr<TestDelegateBase> delegate( |
| 735 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); | 735 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); |
| 736 delegate->set_trailers_expected(true); | 736 delegate->set_trailers_expected(true); |
| 737 delegate->Start(&request, net_log().bound(), session()->GetWeakPtr()); | 737 delegate->Start(&request, net_log().bound(), session()->CreateHandle()); |
| 738 delegate->WaitUntilNextCallback(); // OnStreamReady | 738 delegate->WaitUntilNextCallback(); // OnStreamReady |
| 739 ConfirmHandshake(); | 739 ConfirmHandshake(); |
| 740 | 740 |
| 741 // Server acks the request. | 741 // Server acks the request. |
| 742 ProcessPacket(ConstructServerAckPacket(1, 0, 0, 0)); | 742 ProcessPacket(ConstructServerAckPacket(1, 0, 0, 0)); |
| 743 | 743 |
| 744 // Server sends the response headers. | 744 // Server sends the response headers. |
| 745 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200"); | 745 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200"); |
| 746 | 746 |
| 747 size_t spdy_response_headers_frame_length; | 747 size_t spdy_response_headers_frame_length; |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 826 BidirectionalStreamRequestInfo request; | 826 BidirectionalStreamRequestInfo request; |
| 827 request.method = "GET"; | 827 request.method = "GET"; |
| 828 request.url = GURL("http://www.google.com/"); | 828 request.url = GURL("http://www.google.com/"); |
| 829 request.end_stream_on_headers = true; | 829 request.end_stream_on_headers = true; |
| 830 request.priority = DEFAULT_PRIORITY; | 830 request.priority = DEFAULT_PRIORITY; |
| 831 | 831 |
| 832 // Start first request. | 832 // Start first request. |
| 833 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); | 833 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); |
| 834 std::unique_ptr<TestDelegateBase> delegate( | 834 std::unique_ptr<TestDelegateBase> delegate( |
| 835 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); | 835 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); |
| 836 delegate->Start(&request, net_log().bound(), session()->GetWeakPtr()); | 836 delegate->Start(&request, net_log().bound(), session()->CreateHandle()); |
| 837 | 837 |
| 838 // Start second request. | 838 // Start second request. |
| 839 scoped_refptr<IOBuffer> read_buffer2(new IOBuffer(kReadBufferSize)); | 839 scoped_refptr<IOBuffer> read_buffer2(new IOBuffer(kReadBufferSize)); |
| 840 std::unique_ptr<TestDelegateBase> delegate2( | 840 std::unique_ptr<TestDelegateBase> delegate2( |
| 841 new TestDelegateBase(read_buffer2.get(), kReadBufferSize)); | 841 new TestDelegateBase(read_buffer2.get(), kReadBufferSize)); |
| 842 delegate2->Start(&request, net_log().bound(), session()->GetWeakPtr()); | 842 delegate2->Start(&request, net_log().bound(), session()->CreateHandle()); |
| 843 | 843 |
| 844 delegate->WaitUntilNextCallback(); // OnStreamReady | 844 delegate->WaitUntilNextCallback(); // OnStreamReady |
| 845 delegate2->WaitUntilNextCallback(); // OnStreamReady | 845 delegate2->WaitUntilNextCallback(); // OnStreamReady |
| 846 | 846 |
| 847 ConfirmHandshake(); | 847 ConfirmHandshake(); |
| 848 // Server acks the request. | 848 // Server acks the request. |
| 849 ProcessPacket(ConstructServerAckPacket(1, 0, 0, 0)); | 849 ProcessPacket(ConstructServerAckPacket(1, 0, 0, 0)); |
| 850 | 850 |
| 851 // Server sends the response headers. | 851 // Server sends the response headers. |
| 852 offset = 0; | 852 offset = 0; |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 904 BidirectionalStreamRequestInfo request; | 904 BidirectionalStreamRequestInfo request; |
| 905 request.method = "POST"; | 905 request.method = "POST"; |
| 906 request.url = GURL("http://www.google.com/"); | 906 request.url = GURL("http://www.google.com/"); |
| 907 request.end_stream_on_headers = false; | 907 request.end_stream_on_headers = false; |
| 908 request.priority = DEFAULT_PRIORITY; | 908 request.priority = DEFAULT_PRIORITY; |
| 909 | 909 |
| 910 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); | 910 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); |
| 911 std::unique_ptr<TestDelegateBase> delegate( | 911 std::unique_ptr<TestDelegateBase> delegate( |
| 912 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); | 912 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); |
| 913 delegate->DoNotSendRequestHeadersAutomatically(); | 913 delegate->DoNotSendRequestHeadersAutomatically(); |
| 914 delegate->Start(&request, net_log().bound(), session()->GetWeakPtr()); | 914 delegate->Start(&request, net_log().bound(), session()->CreateHandle()); |
| 915 EXPECT_FALSE(delegate->is_ready()); | 915 EXPECT_FALSE(delegate->is_ready()); |
| 916 ConfirmHandshake(); | 916 ConfirmHandshake(); |
| 917 delegate->WaitUntilNextCallback(); // OnStreamReady | 917 delegate->WaitUntilNextCallback(); // OnStreamReady |
| 918 EXPECT_TRUE(delegate->is_ready()); | 918 EXPECT_TRUE(delegate->is_ready()); |
| 919 | 919 |
| 920 // Sends request headers separately, which causes them to be sent in a | 920 // Sends request headers separately, which causes them to be sent in a |
| 921 // separate packet. | 921 // separate packet. |
| 922 delegate->SendRequestHeaders(); | 922 delegate->SendRequestHeaders(); |
| 923 // Send a Data packet. | 923 // Send a Data packet. |
| 924 scoped_refptr<StringIOBuffer> buf1(new StringIOBuffer(kBody1)); | 924 scoped_refptr<StringIOBuffer> buf1(new StringIOBuffer(kBody1)); |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1011 BidirectionalStreamRequestInfo request; | 1011 BidirectionalStreamRequestInfo request; |
| 1012 request.method = "POST"; | 1012 request.method = "POST"; |
| 1013 request.url = GURL("http://www.google.com/"); | 1013 request.url = GURL("http://www.google.com/"); |
| 1014 request.end_stream_on_headers = false; | 1014 request.end_stream_on_headers = false; |
| 1015 request.priority = DEFAULT_PRIORITY; | 1015 request.priority = DEFAULT_PRIORITY; |
| 1016 | 1016 |
| 1017 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); | 1017 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); |
| 1018 std::unique_ptr<TestDelegateBase> delegate( | 1018 std::unique_ptr<TestDelegateBase> delegate( |
| 1019 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); | 1019 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); |
| 1020 delegate->DoNotSendRequestHeadersAutomatically(); | 1020 delegate->DoNotSendRequestHeadersAutomatically(); |
| 1021 delegate->Start(&request, net_log().bound(), session()->GetWeakPtr()); | 1021 delegate->Start(&request, net_log().bound(), session()->CreateHandle()); |
| 1022 ConfirmHandshake(); | 1022 ConfirmHandshake(); |
| 1023 delegate->WaitUntilNextCallback(); // OnStreamReady | 1023 delegate->WaitUntilNextCallback(); // OnStreamReady |
| 1024 | 1024 |
| 1025 // Send a Data packet. | 1025 // Send a Data packet. |
| 1026 scoped_refptr<StringIOBuffer> buf1(new StringIOBuffer(kBody1)); | 1026 scoped_refptr<StringIOBuffer> buf1(new StringIOBuffer(kBody1)); |
| 1027 | 1027 |
| 1028 delegate->SendData(buf1, buf1->size(), false); | 1028 delegate->SendData(buf1, buf1->size(), false); |
| 1029 delegate->WaitUntilNextCallback(); // OnDataSent | 1029 delegate->WaitUntilNextCallback(); // OnDataSent |
| 1030 | 1030 |
| 1031 // Server acks the request. | 1031 // Server acks the request. |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1110 BidirectionalStreamRequestInfo request; | 1110 BidirectionalStreamRequestInfo request; |
| 1111 request.method = "POST"; | 1111 request.method = "POST"; |
| 1112 request.url = GURL("http://www.google.com/"); | 1112 request.url = GURL("http://www.google.com/"); |
| 1113 request.end_stream_on_headers = false; | 1113 request.end_stream_on_headers = false; |
| 1114 request.priority = DEFAULT_PRIORITY; | 1114 request.priority = DEFAULT_PRIORITY; |
| 1115 | 1115 |
| 1116 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); | 1116 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); |
| 1117 std::unique_ptr<TestDelegateBase> delegate( | 1117 std::unique_ptr<TestDelegateBase> delegate( |
| 1118 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); | 1118 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); |
| 1119 delegate->DoNotSendRequestHeadersAutomatically(); | 1119 delegate->DoNotSendRequestHeadersAutomatically(); |
| 1120 delegate->Start(&request, net_log().bound(), session()->GetWeakPtr()); | 1120 delegate->Start(&request, net_log().bound(), session()->CreateHandle()); |
| 1121 ConfirmHandshake(); | 1121 ConfirmHandshake(); |
| 1122 delegate->WaitUntilNextCallback(); // OnStreamReady | 1122 delegate->WaitUntilNextCallback(); // OnStreamReady |
| 1123 | 1123 |
| 1124 // Send a Data packet. | 1124 // Send a Data packet. |
| 1125 scoped_refptr<StringIOBuffer> buf1(new StringIOBuffer(kBody1)); | 1125 scoped_refptr<StringIOBuffer> buf1(new StringIOBuffer(kBody1)); |
| 1126 scoped_refptr<StringIOBuffer> buf2(new StringIOBuffer(kBody2)); | 1126 scoped_refptr<StringIOBuffer> buf2(new StringIOBuffer(kBody2)); |
| 1127 | 1127 |
| 1128 std::vector<int> lengths = {buf1->size(), buf2->size()}; | 1128 std::vector<int> lengths = {buf1->size(), buf2->size()}; |
| 1129 delegate->SendvData({buf1, buf2}, lengths, !kFin); | 1129 delegate->SendvData({buf1, buf2}, lengths, !kFin); |
| 1130 delegate->WaitUntilNextCallback(); // OnDataSent | 1130 delegate->WaitUntilNextCallback(); // OnDataSent |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1204 | 1204 |
| 1205 BidirectionalStreamRequestInfo request; | 1205 BidirectionalStreamRequestInfo request; |
| 1206 request.method = "POST"; | 1206 request.method = "POST"; |
| 1207 request.url = GURL("http://www.google.com/"); | 1207 request.url = GURL("http://www.google.com/"); |
| 1208 request.end_stream_on_headers = false; | 1208 request.end_stream_on_headers = false; |
| 1209 request.priority = DEFAULT_PRIORITY; | 1209 request.priority = DEFAULT_PRIORITY; |
| 1210 | 1210 |
| 1211 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); | 1211 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); |
| 1212 std::unique_ptr<TestDelegateBase> delegate( | 1212 std::unique_ptr<TestDelegateBase> delegate( |
| 1213 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); | 1213 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); |
| 1214 delegate->Start(&request, net_log().bound(), session()->GetWeakPtr()); | 1214 delegate->Start(&request, net_log().bound(), session()->CreateHandle()); |
| 1215 ConfirmHandshake(); | 1215 ConfirmHandshake(); |
| 1216 delegate->WaitUntilNextCallback(); // OnStreamReady | 1216 delegate->WaitUntilNextCallback(); // OnStreamReady |
| 1217 | 1217 |
| 1218 // Send a DATA frame. | 1218 // Send a DATA frame. |
| 1219 scoped_refptr<StringIOBuffer> buf(new StringIOBuffer(kUploadData)); | 1219 scoped_refptr<StringIOBuffer> buf(new StringIOBuffer(kUploadData)); |
| 1220 | 1220 |
| 1221 delegate->SendData(buf, buf->size(), true); | 1221 delegate->SendData(buf, buf->size(), true); |
| 1222 delegate->WaitUntilNextCallback(); // OnDataSent | 1222 delegate->WaitUntilNextCallback(); // OnDataSent |
| 1223 | 1223 |
| 1224 // Server acks the request. | 1224 // Server acks the request. |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1282 | 1282 |
| 1283 BidirectionalStreamRequestInfo request; | 1283 BidirectionalStreamRequestInfo request; |
| 1284 request.method = "PUT"; | 1284 request.method = "PUT"; |
| 1285 request.url = GURL("http://www.google.com/"); | 1285 request.url = GURL("http://www.google.com/"); |
| 1286 request.end_stream_on_headers = false; | 1286 request.end_stream_on_headers = false; |
| 1287 request.priority = DEFAULT_PRIORITY; | 1287 request.priority = DEFAULT_PRIORITY; |
| 1288 | 1288 |
| 1289 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); | 1289 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); |
| 1290 std::unique_ptr<TestDelegateBase> delegate( | 1290 std::unique_ptr<TestDelegateBase> delegate( |
| 1291 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); | 1291 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); |
| 1292 delegate->Start(&request, net_log().bound(), session()->GetWeakPtr()); | 1292 delegate->Start(&request, net_log().bound(), session()->CreateHandle()); |
| 1293 delegate->WaitUntilNextCallback(); // OnStreamReady | 1293 delegate->WaitUntilNextCallback(); // OnStreamReady |
| 1294 | 1294 |
| 1295 // Send a DATA frame. | 1295 // Send a DATA frame. |
| 1296 scoped_refptr<StringIOBuffer> buf(new StringIOBuffer(kUploadData)); | 1296 scoped_refptr<StringIOBuffer> buf(new StringIOBuffer(kUploadData)); |
| 1297 | 1297 |
| 1298 delegate->SendData(buf, buf->size(), true); | 1298 delegate->SendData(buf, buf->size(), true); |
| 1299 delegate->WaitUntilNextCallback(); // OnDataSent | 1299 delegate->WaitUntilNextCallback(); // OnDataSent |
| 1300 | 1300 |
| 1301 // Server acks the request. | 1301 // Server acks the request. |
| 1302 ProcessPacket(ConstructServerAckPacket(1, 0, 0, 0)); | 1302 ProcessPacket(ConstructServerAckPacket(1, 0, 0, 0)); |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1363 | 1363 |
| 1364 BidirectionalStreamRequestInfo request; | 1364 BidirectionalStreamRequestInfo request; |
| 1365 request.method = "POST"; | 1365 request.method = "POST"; |
| 1366 request.url = GURL("http://www.google.com/"); | 1366 request.url = GURL("http://www.google.com/"); |
| 1367 request.end_stream_on_headers = false; | 1367 request.end_stream_on_headers = false; |
| 1368 request.priority = DEFAULT_PRIORITY; | 1368 request.priority = DEFAULT_PRIORITY; |
| 1369 | 1369 |
| 1370 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); | 1370 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); |
| 1371 std::unique_ptr<TestDelegateBase> delegate( | 1371 std::unique_ptr<TestDelegateBase> delegate( |
| 1372 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); | 1372 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); |
| 1373 delegate->Start(&request, net_log().bound(), session()->GetWeakPtr()); | 1373 delegate->Start(&request, net_log().bound(), session()->CreateHandle()); |
| 1374 ConfirmHandshake(); | 1374 ConfirmHandshake(); |
| 1375 delegate->WaitUntilNextCallback(); // OnStreamReady | 1375 delegate->WaitUntilNextCallback(); // OnStreamReady |
| 1376 | 1376 |
| 1377 // Server acks the request. | 1377 // Server acks the request. |
| 1378 ProcessPacket(ConstructServerAckPacket(1, 0, 0, 0)); | 1378 ProcessPacket(ConstructServerAckPacket(1, 0, 0, 0)); |
| 1379 | 1379 |
| 1380 // Server sends the response headers. | 1380 // Server sends the response headers. |
| 1381 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200"); | 1381 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200"); |
| 1382 size_t spdy_response_headers_frame_length; | 1382 size_t spdy_response_headers_frame_length; |
| 1383 ProcessPacket( | 1383 ProcessPacket( |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1446 | 1446 |
| 1447 BidirectionalStreamRequestInfo request; | 1447 BidirectionalStreamRequestInfo request; |
| 1448 request.method = "GET"; | 1448 request.method = "GET"; |
| 1449 request.url = GURL("http://www.google.com/"); | 1449 request.url = GURL("http://www.google.com/"); |
| 1450 request.end_stream_on_headers = true; | 1450 request.end_stream_on_headers = true; |
| 1451 request.priority = DEFAULT_PRIORITY; | 1451 request.priority = DEFAULT_PRIORITY; |
| 1452 | 1452 |
| 1453 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); | 1453 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); |
| 1454 std::unique_ptr<TestDelegateBase> delegate( | 1454 std::unique_ptr<TestDelegateBase> delegate( |
| 1455 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); | 1455 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); |
| 1456 delegate->Start(&request, net_log().bound(), session()->GetWeakPtr()); | 1456 delegate->Start(&request, net_log().bound(), session()->CreateHandle()); |
| 1457 delegate->WaitUntilNextCallback(); // OnStreamReady | 1457 delegate->WaitUntilNextCallback(); // OnStreamReady |
| 1458 ConfirmHandshake(); | 1458 ConfirmHandshake(); |
| 1459 | 1459 |
| 1460 // Server sends a Rst. | 1460 // Server sends a Rst. |
| 1461 ProcessPacket(ConstructServerRstStreamPacket(1)); | 1461 ProcessPacket(ConstructServerRstStreamPacket(1)); |
| 1462 | 1462 |
| 1463 delegate->WaitUntilNextCallback(); // OnFailed | 1463 delegate->WaitUntilNextCallback(); // OnFailed |
| 1464 TestCompletionCallback cb; | 1464 TestCompletionCallback cb; |
| 1465 EXPECT_THAT(delegate->ReadData(cb.callback()), | 1465 EXPECT_THAT(delegate->ReadData(cb.callback()), |
| 1466 IsError(ERR_QUIC_PROTOCOL_ERROR)); | 1466 IsError(ERR_QUIC_PROTOCOL_ERROR)); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 1490 | 1490 |
| 1491 BidirectionalStreamRequestInfo request; | 1491 BidirectionalStreamRequestInfo request; |
| 1492 request.method = "GET"; | 1492 request.method = "GET"; |
| 1493 request.url = GURL("http://www.google.com/"); | 1493 request.url = GURL("http://www.google.com/"); |
| 1494 request.end_stream_on_headers = true; | 1494 request.end_stream_on_headers = true; |
| 1495 request.priority = DEFAULT_PRIORITY; | 1495 request.priority = DEFAULT_PRIORITY; |
| 1496 | 1496 |
| 1497 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); | 1497 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); |
| 1498 std::unique_ptr<TestDelegateBase> delegate( | 1498 std::unique_ptr<TestDelegateBase> delegate( |
| 1499 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); | 1499 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); |
| 1500 delegate->Start(&request, net_log().bound(), session()->GetWeakPtr()); | 1500 delegate->Start(&request, net_log().bound(), session()->CreateHandle()); |
| 1501 delegate->WaitUntilNextCallback(); // OnStreamReady | 1501 delegate->WaitUntilNextCallback(); // OnStreamReady |
| 1502 ConfirmHandshake(); | 1502 ConfirmHandshake(); |
| 1503 | 1503 |
| 1504 // Server acks the request. | 1504 // Server acks the request. |
| 1505 ProcessPacket(ConstructServerAckPacket(1, 0, 0, 0)); | 1505 ProcessPacket(ConstructServerAckPacket(1, 0, 0, 0)); |
| 1506 | 1506 |
| 1507 // Server sends the response headers. | 1507 // Server sends the response headers. |
| 1508 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200"); | 1508 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200"); |
| 1509 | 1509 |
| 1510 size_t spdy_response_headers_frame_length; | 1510 size_t spdy_response_headers_frame_length; |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1548 | 1548 |
| 1549 BidirectionalStreamRequestInfo request; | 1549 BidirectionalStreamRequestInfo request; |
| 1550 request.method = "POST"; | 1550 request.method = "POST"; |
| 1551 request.url = GURL("http://www.google.com/"); | 1551 request.url = GURL("http://www.google.com/"); |
| 1552 request.end_stream_on_headers = false; | 1552 request.end_stream_on_headers = false; |
| 1553 request.priority = DEFAULT_PRIORITY; | 1553 request.priority = DEFAULT_PRIORITY; |
| 1554 | 1554 |
| 1555 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); | 1555 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); |
| 1556 std::unique_ptr<TestDelegateBase> delegate( | 1556 std::unique_ptr<TestDelegateBase> delegate( |
| 1557 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); | 1557 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); |
| 1558 delegate->Start(&request, net_log().bound(), session()->GetWeakPtr()); | 1558 delegate->Start(&request, net_log().bound(), session()->CreateHandle()); |
| 1559 ConfirmHandshake(); | 1559 ConfirmHandshake(); |
| 1560 delegate->WaitUntilNextCallback(); // OnStreamReady | 1560 delegate->WaitUntilNextCallback(); // OnStreamReady |
| 1561 | 1561 |
| 1562 // Server acks the request. | 1562 // Server acks the request. |
| 1563 ProcessPacket(ConstructServerAckPacket(1, 0, 0, 0)); | 1563 ProcessPacket(ConstructServerAckPacket(1, 0, 0, 0)); |
| 1564 | 1564 |
| 1565 // Server sends the response headers. | 1565 // Server sends the response headers. |
| 1566 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200"); | 1566 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200"); |
| 1567 | 1567 |
| 1568 size_t spdy_response_headers_frame_length; | 1568 size_t spdy_response_headers_frame_length; |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1610 | 1610 |
| 1611 BidirectionalStreamRequestInfo request; | 1611 BidirectionalStreamRequestInfo request; |
| 1612 request.method = "POST"; | 1612 request.method = "POST"; |
| 1613 request.url = GURL("http://www.google.com/"); | 1613 request.url = GURL("http://www.google.com/"); |
| 1614 request.end_stream_on_headers = false; | 1614 request.end_stream_on_headers = false; |
| 1615 request.priority = DEFAULT_PRIORITY; | 1615 request.priority = DEFAULT_PRIORITY; |
| 1616 | 1616 |
| 1617 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); | 1617 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); |
| 1618 std::unique_ptr<TestDelegateBase> delegate( | 1618 std::unique_ptr<TestDelegateBase> delegate( |
| 1619 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); | 1619 new TestDelegateBase(read_buffer.get(), kReadBufferSize)); |
| 1620 delegate->Start(&request, net_log().bound(), session()->GetWeakPtr()); | 1620 delegate->Start(&request, net_log().bound(), session()->CreateHandle()); |
| 1621 ConfirmHandshake(); | 1621 ConfirmHandshake(); |
| 1622 delegate->WaitUntilNextCallback(); // OnStreamReady | 1622 delegate->WaitUntilNextCallback(); // OnStreamReady |
| 1623 | 1623 |
| 1624 // Server acks the request. | 1624 // Server acks the request. |
| 1625 ProcessPacket(ConstructServerAckPacket(1, 0, 0, 0)); | 1625 ProcessPacket(ConstructServerAckPacket(1, 0, 0, 0)); |
| 1626 | 1626 |
| 1627 // Server sends the response headers. | 1627 // Server sends the response headers. |
| 1628 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200"); | 1628 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200"); |
| 1629 size_t spdy_response_headers_frame_length; | 1629 size_t spdy_response_headers_frame_length; |
| 1630 ProcessPacket( | 1630 ProcessPacket( |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1665 BidirectionalStreamRequestInfo request; | 1665 BidirectionalStreamRequestInfo request; |
| 1666 request.method = "POST"; | 1666 request.method = "POST"; |
| 1667 request.url = GURL("http://www.google.com/"); | 1667 request.url = GURL("http://www.google.com/"); |
| 1668 request.end_stream_on_headers = false; | 1668 request.end_stream_on_headers = false; |
| 1669 request.priority = DEFAULT_PRIORITY; | 1669 request.priority = DEFAULT_PRIORITY; |
| 1670 | 1670 |
| 1671 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); | 1671 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); |
| 1672 std::unique_ptr<DeleteStreamDelegate> delegate( | 1672 std::unique_ptr<DeleteStreamDelegate> delegate( |
| 1673 new DeleteStreamDelegate(read_buffer.get(), kReadBufferSize, | 1673 new DeleteStreamDelegate(read_buffer.get(), kReadBufferSize, |
| 1674 DeleteStreamDelegate::ON_HEADERS_RECEIVED)); | 1674 DeleteStreamDelegate::ON_HEADERS_RECEIVED)); |
| 1675 delegate->Start(&request, net_log().bound(), session()->GetWeakPtr()); | 1675 delegate->Start(&request, net_log().bound(), session()->CreateHandle()); |
| 1676 ConfirmHandshake(); | 1676 ConfirmHandshake(); |
| 1677 delegate->WaitUntilNextCallback(); // OnStreamReady | 1677 delegate->WaitUntilNextCallback(); // OnStreamReady |
| 1678 | 1678 |
| 1679 // Server acks the request. | 1679 // Server acks the request. |
| 1680 ProcessPacket(ConstructServerAckPacket(1, 0, 0, 0)); | 1680 ProcessPacket(ConstructServerAckPacket(1, 0, 0, 0)); |
| 1681 | 1681 |
| 1682 // Server sends the response headers. | 1682 // Server sends the response headers. |
| 1683 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200"); | 1683 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200"); |
| 1684 | 1684 |
| 1685 size_t spdy_response_headers_frame_length; | 1685 size_t spdy_response_headers_frame_length; |
| (...skipping 25 matching lines...) Expand all Loading... |
| 1711 | 1711 |
| 1712 BidirectionalStreamRequestInfo request; | 1712 BidirectionalStreamRequestInfo request; |
| 1713 request.method = "POST"; | 1713 request.method = "POST"; |
| 1714 request.url = GURL("http://www.google.com/"); | 1714 request.url = GURL("http://www.google.com/"); |
| 1715 request.end_stream_on_headers = false; | 1715 request.end_stream_on_headers = false; |
| 1716 request.priority = DEFAULT_PRIORITY; | 1716 request.priority = DEFAULT_PRIORITY; |
| 1717 | 1717 |
| 1718 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); | 1718 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); |
| 1719 std::unique_ptr<DeleteStreamDelegate> delegate(new DeleteStreamDelegate( | 1719 std::unique_ptr<DeleteStreamDelegate> delegate(new DeleteStreamDelegate( |
| 1720 read_buffer.get(), kReadBufferSize, DeleteStreamDelegate::ON_DATA_READ)); | 1720 read_buffer.get(), kReadBufferSize, DeleteStreamDelegate::ON_DATA_READ)); |
| 1721 delegate->Start(&request, net_log().bound(), session()->GetWeakPtr()); | 1721 delegate->Start(&request, net_log().bound(), session()->CreateHandle()); |
| 1722 ConfirmHandshake(); | 1722 ConfirmHandshake(); |
| 1723 delegate->WaitUntilNextCallback(); // OnStreamReady | 1723 delegate->WaitUntilNextCallback(); // OnStreamReady |
| 1724 | 1724 |
| 1725 // Server acks the request. | 1725 // Server acks the request. |
| 1726 ProcessPacket(ConstructServerAckPacket(1, 0, 0, 0)); | 1726 ProcessPacket(ConstructServerAckPacket(1, 0, 0, 0)); |
| 1727 | 1727 |
| 1728 // Server sends the response headers. | 1728 // Server sends the response headers. |
| 1729 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200"); | 1729 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200"); |
| 1730 | 1730 |
| 1731 size_t spdy_response_headers_frame_length; | 1731 size_t spdy_response_headers_frame_length; |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1765 BidirectionalStreamRequestInfo request; | 1765 BidirectionalStreamRequestInfo request; |
| 1766 request.method = "GET"; | 1766 request.method = "GET"; |
| 1767 request.url = GURL("http://www.google.com/"); | 1767 request.url = GURL("http://www.google.com/"); |
| 1768 request.end_stream_on_headers = true; | 1768 request.end_stream_on_headers = true; |
| 1769 request.priority = DEFAULT_PRIORITY; | 1769 request.priority = DEFAULT_PRIORITY; |
| 1770 | 1770 |
| 1771 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); | 1771 scoped_refptr<IOBuffer> read_buffer(new IOBuffer(kReadBufferSize)); |
| 1772 std::unique_ptr<DeleteStreamDelegate> delegate( | 1772 std::unique_ptr<DeleteStreamDelegate> delegate( |
| 1773 new DeleteStreamDelegate(read_buffer.get(), kReadBufferSize, | 1773 new DeleteStreamDelegate(read_buffer.get(), kReadBufferSize, |
| 1774 DeleteStreamDelegate::ON_TRAILERS_RECEIVED)); | 1774 DeleteStreamDelegate::ON_TRAILERS_RECEIVED)); |
| 1775 delegate->Start(&request, net_log().bound(), session()->GetWeakPtr()); | 1775 delegate->Start(&request, net_log().bound(), session()->CreateHandle()); |
| 1776 delegate->WaitUntilNextCallback(); // OnStreamReady | 1776 delegate->WaitUntilNextCallback(); // OnStreamReady |
| 1777 | 1777 |
| 1778 // Server acks the request. | 1778 // Server acks the request. |
| 1779 ProcessPacket(ConstructServerAckPacket(1, 0, 0, 0)); | 1779 ProcessPacket(ConstructServerAckPacket(1, 0, 0, 0)); |
| 1780 | 1780 |
| 1781 // Server sends the response headers. | 1781 // Server sends the response headers. |
| 1782 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200"); | 1782 SpdyHeaderBlock response_headers = ConstructResponseHeaders("200"); |
| 1783 | 1783 |
| 1784 QuicStreamOffset offset = 0; | 1784 QuicStreamOffset offset = 0; |
| 1785 size_t spdy_response_headers_frame_length; | 1785 size_t spdy_response_headers_frame_length; |
| (...skipping 30 matching lines...) Expand all Loading... |
| 1816 | 1816 |
| 1817 base::RunLoop().RunUntilIdle(); | 1817 base::RunLoop().RunUntilIdle(); |
| 1818 | 1818 |
| 1819 EXPECT_EQ(1, delegate->on_data_read_count()); | 1819 EXPECT_EQ(1, delegate->on_data_read_count()); |
| 1820 EXPECT_EQ(0, delegate->on_data_sent_count()); | 1820 EXPECT_EQ(0, delegate->on_data_sent_count()); |
| 1821 } | 1821 } |
| 1822 | 1822 |
| 1823 } // namespace test | 1823 } // namespace test |
| 1824 | 1824 |
| 1825 } // namespace net | 1825 } // namespace net |
| OLD | NEW |