Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(76)

Side by Side Diff: net/spdy/spdy_stream_unittest.cc

Issue 2144933005: Move some SpdyHeaderBlock instances from heap to stack. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/spdy/spdy_stream.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/spdy/spdy_stream.h" 5 #include "net/spdy/spdy_stream.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <cstddef> 9 #include <cstddef>
10 #include <limits> 10 #include <limits>
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 base::WeakPtr<SpdyStream> stream = 184 base::WeakPtr<SpdyStream> stream =
185 CreateStreamSynchronously( 185 CreateStreamSynchronously(
186 SPDY_BIDIRECTIONAL_STREAM, session, url, LOWEST, BoundNetLog()); 186 SPDY_BIDIRECTIONAL_STREAM, session, url, LOWEST, BoundNetLog());
187 ASSERT_TRUE(stream); 187 ASSERT_TRUE(stream);
188 188
189 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece); 189 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece);
190 stream->SetDelegate(&delegate); 190 stream->SetDelegate(&delegate);
191 191
192 EXPECT_FALSE(stream->HasUrlFromHeaders()); 192 EXPECT_FALSE(stream->HasUrlFromHeaders());
193 193
194 std::unique_ptr<SpdyHeaderBlock> headers(new SpdyHeaderBlock( 194 SpdyHeaderBlock headers(
195 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength))); 195 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength));
196 EXPECT_EQ(ERR_IO_PENDING, 196 EXPECT_EQ(ERR_IO_PENDING,
197 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); 197 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND));
198 EXPECT_TRUE(stream->HasUrlFromHeaders()); 198 EXPECT_TRUE(stream->HasUrlFromHeaders());
199 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec()); 199 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec());
200 200
201 EXPECT_THAT(delegate.WaitForClose(), IsError(ERR_CONNECTION_CLOSED)); 201 EXPECT_THAT(delegate.WaitForClose(), IsError(ERR_CONNECTION_CLOSED));
202 202
203 EXPECT_TRUE(delegate.send_headers_completed()); 203 EXPECT_TRUE(delegate.send_headers_completed());
204 EXPECT_EQ("200", delegate.GetResponseHeaderValue(spdy_util_.GetStatusKey())); 204 EXPECT_EQ("200", delegate.GetResponseHeaderValue(spdy_util_.GetStatusKey()));
205 EXPECT_EQ(std::string(kPostBody, kPostBodyLength), 205 EXPECT_EQ(std::string(kPostBody, kPostBodyLength),
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
266 266
267 base::WeakPtr<SpdyStream> stream = CreateStreamSynchronously( 267 base::WeakPtr<SpdyStream> stream = CreateStreamSynchronously(
268 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); 268 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog());
269 ASSERT_TRUE(stream); 269 ASSERT_TRUE(stream);
270 270
271 StreamDelegateWithTrailers delegate(stream, kPostBodyStringPiece); 271 StreamDelegateWithTrailers delegate(stream, kPostBodyStringPiece);
272 stream->SetDelegate(&delegate); 272 stream->SetDelegate(&delegate);
273 273
274 EXPECT_FALSE(stream->HasUrlFromHeaders()); 274 EXPECT_FALSE(stream->HasUrlFromHeaders());
275 275
276 std::unique_ptr<SpdyHeaderBlock> headers(new SpdyHeaderBlock( 276 SpdyHeaderBlock headers(
277 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength))); 277 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength));
278 EXPECT_EQ(ERR_IO_PENDING, 278 EXPECT_EQ(ERR_IO_PENDING,
279 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); 279 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND));
280 EXPECT_TRUE(stream->HasUrlFromHeaders()); 280 EXPECT_TRUE(stream->HasUrlFromHeaders());
281 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec()); 281 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec());
282 282
283 EXPECT_THAT(delegate.WaitForClose(), IsError(ERR_CONNECTION_CLOSED)); 283 EXPECT_THAT(delegate.WaitForClose(), IsError(ERR_CONNECTION_CLOSED));
284 284
285 EXPECT_TRUE(delegate.send_headers_completed()); 285 EXPECT_TRUE(delegate.send_headers_completed());
286 EXPECT_EQ("200", delegate.GetResponseHeaderValue(spdy_util_.GetStatusKey())); 286 EXPECT_EQ("200", delegate.GetResponseHeaderValue(spdy_util_.GetStatusKey()));
287 const SpdyHeaderBlock& received_trailers = delegate.trailers(); 287 const SpdyHeaderBlock& received_trailers = delegate.trailers();
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
393 base::WeakPtr<SpdyStream> stream = 393 base::WeakPtr<SpdyStream> stream =
394 CreateStreamSynchronously( 394 CreateStreamSynchronously(
395 SPDY_BIDIRECTIONAL_STREAM, session, url, LOWEST, log.bound()); 395 SPDY_BIDIRECTIONAL_STREAM, session, url, LOWEST, log.bound());
396 ASSERT_TRUE(stream); 396 ASSERT_TRUE(stream);
397 397
398 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece); 398 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece);
399 stream->SetDelegate(&delegate); 399 stream->SetDelegate(&delegate);
400 400
401 EXPECT_FALSE(stream->HasUrlFromHeaders()); 401 EXPECT_FALSE(stream->HasUrlFromHeaders());
402 402
403 std::unique_ptr<SpdyHeaderBlock> headers(new SpdyHeaderBlock( 403 SpdyHeaderBlock headers(
404 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength))); 404 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength));
405 EXPECT_EQ(ERR_IO_PENDING, 405 EXPECT_EQ(ERR_IO_PENDING,
406 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); 406 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND));
407 EXPECT_TRUE(stream->HasUrlFromHeaders()); 407 EXPECT_TRUE(stream->HasUrlFromHeaders());
408 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec()); 408 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec());
409 409
410 EXPECT_THAT(delegate.WaitForClose(), IsError(ERR_CONNECTION_CLOSED)); 410 EXPECT_THAT(delegate.WaitForClose(), IsError(ERR_CONNECTION_CLOSED));
411 411
412 const SpdyStreamId stream_id = delegate.stream_id(); 412 const SpdyStreamId stream_id = delegate.stream_id();
413 413
414 EXPECT_TRUE(delegate.send_headers_completed()); 414 EXPECT_TRUE(delegate.send_headers_completed());
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
471 CreateStreamSynchronously( 471 CreateStreamSynchronously(
472 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); 472 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog());
473 ASSERT_TRUE(stream); 473 ASSERT_TRUE(stream);
474 474
475 std::string body_data(3 * kMaxSpdyFrameChunkSize, 'x'); 475 std::string body_data(3 * kMaxSpdyFrameChunkSize, 'x');
476 StreamDelegateWithBody delegate(stream, body_data); 476 StreamDelegateWithBody delegate(stream, body_data);
477 stream->SetDelegate(&delegate); 477 stream->SetDelegate(&delegate);
478 478
479 EXPECT_FALSE(stream->HasUrlFromHeaders()); 479 EXPECT_FALSE(stream->HasUrlFromHeaders());
480 480
481 std::unique_ptr<SpdyHeaderBlock> headers(new SpdyHeaderBlock( 481 SpdyHeaderBlock headers(
482 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength))); 482 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength));
483 EXPECT_EQ(ERR_IO_PENDING, 483 EXPECT_EQ(ERR_IO_PENDING,
484 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); 484 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND));
485 EXPECT_TRUE(stream->HasUrlFromHeaders()); 485 EXPECT_TRUE(stream->HasUrlFromHeaders());
486 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec()); 486 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec());
487 487
488 EXPECT_THAT(delegate.WaitForClose(), IsError(ERR_CONNECTION_CLOSED)); 488 EXPECT_THAT(delegate.WaitForClose(), IsError(ERR_CONNECTION_CLOSED));
489 489
490 EXPECT_TRUE(delegate.send_headers_completed()); 490 EXPECT_TRUE(delegate.send_headers_completed());
491 EXPECT_EQ("200", delegate.GetResponseHeaderValue(spdy_util_.GetStatusKey())); 491 EXPECT_EQ("200", delegate.GetResponseHeaderValue(spdy_util_.GetStatusKey()));
492 EXPECT_EQ(std::string(), delegate.TakeReceivedData()); 492 EXPECT_EQ(std::string(), delegate.TakeReceivedData());
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
529 CreateStreamSynchronously( 529 CreateStreamSynchronously(
530 SPDY_BIDIRECTIONAL_STREAM, session, url, LOWEST, BoundNetLog()); 530 SPDY_BIDIRECTIONAL_STREAM, session, url, LOWEST, BoundNetLog());
531 ASSERT_TRUE(stream); 531 ASSERT_TRUE(stream);
532 532
533 std::string body_data(3 * kMaxSpdyFrameChunkSize, 'x'); 533 std::string body_data(3 * kMaxSpdyFrameChunkSize, 'x');
534 StreamDelegateSendImmediate delegate(stream, body_data); 534 StreamDelegateSendImmediate delegate(stream, body_data);
535 stream->SetDelegate(&delegate); 535 stream->SetDelegate(&delegate);
536 536
537 EXPECT_FALSE(stream->HasUrlFromHeaders()); 537 EXPECT_FALSE(stream->HasUrlFromHeaders());
538 538
539 std::unique_ptr<SpdyHeaderBlock> headers(new SpdyHeaderBlock( 539 SpdyHeaderBlock headers(
540 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength))); 540 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength));
541 EXPECT_EQ(ERR_IO_PENDING, 541 EXPECT_EQ(ERR_IO_PENDING,
542 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); 542 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND));
543 EXPECT_TRUE(stream->HasUrlFromHeaders()); 543 EXPECT_TRUE(stream->HasUrlFromHeaders());
544 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec()); 544 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec());
545 545
546 EXPECT_THAT(delegate.WaitForClose(), IsError(ERR_CONNECTION_CLOSED)); 546 EXPECT_THAT(delegate.WaitForClose(), IsError(ERR_CONNECTION_CLOSED));
547 547
548 EXPECT_TRUE(delegate.send_headers_completed()); 548 EXPECT_TRUE(delegate.send_headers_completed());
549 EXPECT_EQ("200", delegate.GetResponseHeaderValue(spdy_util_.GetStatusKey())); 549 EXPECT_EQ("200", delegate.GetResponseHeaderValue(spdy_util_.GetStatusKey()));
550 EXPECT_EQ(std::string(), delegate.TakeReceivedData()); 550 EXPECT_EQ(std::string(), delegate.TakeReceivedData());
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
583 base::WeakPtr<SpdyStream> stream = 583 base::WeakPtr<SpdyStream> stream =
584 CreateStreamSynchronously( 584 CreateStreamSynchronously(
585 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); 585 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog());
586 ASSERT_TRUE(stream); 586 ASSERT_TRUE(stream);
587 587
588 StreamDelegateDoNothing delegate(stream); 588 StreamDelegateDoNothing delegate(stream);
589 stream->SetDelegate(&delegate); 589 stream->SetDelegate(&delegate);
590 590
591 EXPECT_FALSE(stream->HasUrlFromHeaders()); 591 EXPECT_FALSE(stream->HasUrlFromHeaders());
592 592
593 std::unique_ptr<SpdyHeaderBlock> headers( 593 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kStreamUrl));
594 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kStreamUrl)));
595 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequestHeaders(std::move(headers), 594 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequestHeaders(std::move(headers),
596 NO_MORE_DATA_TO_SEND)); 595 NO_MORE_DATA_TO_SEND));
597 EXPECT_TRUE(stream->HasUrlFromHeaders()); 596 EXPECT_TRUE(stream->HasUrlFromHeaders());
598 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec()); 597 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec());
599 598
600 EXPECT_THAT(delegate.WaitForClose(), IsError(ERR_SPDY_PROTOCOL_ERROR)); 599 EXPECT_THAT(delegate.WaitForClose(), IsError(ERR_SPDY_PROTOCOL_ERROR));
601 } 600 }
602 601
603 // Receiving a header with uppercase ASCII should result in a protocol 602 // Receiving a header with uppercase ASCII should result in a protocol
604 // error even for a push stream. 603 // error even for a push stream.
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
638 base::WeakPtr<SpdyStream> stream = 637 base::WeakPtr<SpdyStream> stream =
639 CreateStreamSynchronously( 638 CreateStreamSynchronously(
640 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); 639 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog());
641 ASSERT_TRUE(stream); 640 ASSERT_TRUE(stream);
642 641
643 StreamDelegateDoNothing delegate(stream); 642 StreamDelegateDoNothing delegate(stream);
644 stream->SetDelegate(&delegate); 643 stream->SetDelegate(&delegate);
645 644
646 EXPECT_FALSE(stream->HasUrlFromHeaders()); 645 EXPECT_FALSE(stream->HasUrlFromHeaders());
647 646
648 std::unique_ptr<SpdyHeaderBlock> headers( 647 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kStreamUrl));
649 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kStreamUrl)));
650 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequestHeaders(std::move(headers), 648 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequestHeaders(std::move(headers),
651 NO_MORE_DATA_TO_SEND)); 649 NO_MORE_DATA_TO_SEND));
652 EXPECT_TRUE(stream->HasUrlFromHeaders()); 650 EXPECT_TRUE(stream->HasUrlFromHeaders());
653 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec()); 651 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec());
654 652
655 data.RunUntilPaused(); 653 data.RunUntilPaused();
656 654
657 base::WeakPtr<SpdyStream> push_stream; 655 base::WeakPtr<SpdyStream> push_stream;
658 EXPECT_THAT(session->GetPushStream(url, &push_stream, BoundNetLog()), IsOk()); 656 EXPECT_THAT(session->GetPushStream(url, &push_stream, BoundNetLog()), IsOk());
659 EXPECT_FALSE(push_stream); 657 EXPECT_FALSE(push_stream);
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
708 base::WeakPtr<SpdyStream> stream = 706 base::WeakPtr<SpdyStream> stream =
709 CreateStreamSynchronously( 707 CreateStreamSynchronously(
710 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); 708 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog());
711 ASSERT_TRUE(stream); 709 ASSERT_TRUE(stream);
712 710
713 StreamDelegateDoNothing delegate(stream); 711 StreamDelegateDoNothing delegate(stream);
714 stream->SetDelegate(&delegate); 712 stream->SetDelegate(&delegate);
715 713
716 EXPECT_FALSE(stream->HasUrlFromHeaders()); 714 EXPECT_FALSE(stream->HasUrlFromHeaders());
717 715
718 std::unique_ptr<SpdyHeaderBlock> headers( 716 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kStreamUrl));
719 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kStreamUrl)));
720 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequestHeaders(std::move(headers), 717 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequestHeaders(std::move(headers),
721 NO_MORE_DATA_TO_SEND)); 718 NO_MORE_DATA_TO_SEND));
722 EXPECT_TRUE(stream->HasUrlFromHeaders()); 719 EXPECT_TRUE(stream->HasUrlFromHeaders());
723 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec()); 720 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec());
724 721
725 data.RunUntilPaused(); 722 data.RunUntilPaused();
726 723
727 base::WeakPtr<SpdyStream> push_stream; 724 base::WeakPtr<SpdyStream> push_stream;
728 EXPECT_THAT(session->GetPushStream(url, &push_stream, BoundNetLog()), IsOk()); 725 EXPECT_THAT(session->GetPushStream(url, &push_stream, BoundNetLog()), IsOk());
729 EXPECT_TRUE(push_stream); 726 EXPECT_TRUE(push_stream);
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
784 base::WeakPtr<SpdyStream> stream = 781 base::WeakPtr<SpdyStream> stream =
785 CreateStreamSynchronously( 782 CreateStreamSynchronously(
786 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); 783 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog());
787 ASSERT_TRUE(stream); 784 ASSERT_TRUE(stream);
788 785
789 StreamDelegateDoNothing delegate(stream); 786 StreamDelegateDoNothing delegate(stream);
790 stream->SetDelegate(&delegate); 787 stream->SetDelegate(&delegate);
791 788
792 EXPECT_FALSE(stream->HasUrlFromHeaders()); 789 EXPECT_FALSE(stream->HasUrlFromHeaders());
793 790
794 std::unique_ptr<SpdyHeaderBlock> headers( 791 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kStreamUrl));
795 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kStreamUrl)));
796 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequestHeaders(std::move(headers), 792 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequestHeaders(std::move(headers),
797 NO_MORE_DATA_TO_SEND)); 793 NO_MORE_DATA_TO_SEND));
798 EXPECT_TRUE(stream->HasUrlFromHeaders()); 794 EXPECT_TRUE(stream->HasUrlFromHeaders());
799 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec()); 795 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec());
800 796
801 data.RunUntilPaused(); 797 data.RunUntilPaused();
802 798
803 base::WeakPtr<SpdyStream> push_stream; 799 base::WeakPtr<SpdyStream> push_stream;
804 EXPECT_THAT(session->GetPushStream(url, &push_stream, BoundNetLog()), IsOk()); 800 EXPECT_THAT(session->GetPushStream(url, &push_stream, BoundNetLog()), IsOk());
805 EXPECT_TRUE(push_stream); 801 EXPECT_TRUE(push_stream);
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
845 base::WeakPtr<SpdySession> session(CreateDefaultSpdySession()); 841 base::WeakPtr<SpdySession> session(CreateDefaultSpdySession());
846 GURL url(kStreamUrl); 842 GURL url(kStreamUrl);
847 843
848 base::WeakPtr<SpdyStream> stream = 844 base::WeakPtr<SpdyStream> stream =
849 CreateStreamSynchronously( 845 CreateStreamSynchronously(
850 SPDY_BIDIRECTIONAL_STREAM, session, url, LOWEST, log.bound()); 846 SPDY_BIDIRECTIONAL_STREAM, session, url, LOWEST, log.bound());
851 ASSERT_TRUE(stream); 847 ASSERT_TRUE(stream);
852 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece); 848 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece);
853 stream->SetDelegate(&delegate); 849 stream->SetDelegate(&delegate);
854 850
855 std::unique_ptr<SpdyHeaderBlock> headers(new SpdyHeaderBlock( 851 SpdyHeaderBlock headers(
856 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength))); 852 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength));
857 EXPECT_EQ(ERR_IO_PENDING, 853 EXPECT_EQ(ERR_IO_PENDING,
858 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); 854 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND));
859 EXPECT_TRUE(stream->HasUrlFromHeaders()); 855 EXPECT_TRUE(stream->HasUrlFromHeaders());
860 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec()); 856 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec());
861 857
862 data.RunUntilPaused(); 858 data.RunUntilPaused();
863 859
864 int32_t old_send_window_size = stream->send_window_size(); 860 int32_t old_send_window_size = stream->send_window_size();
865 ASSERT_GT(old_send_window_size, 0); 861 ASSERT_GT(old_send_window_size, 0);
866 int32_t delta_window_size = 862 int32_t delta_window_size =
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
938 CreateStreamSynchronously( 934 CreateStreamSynchronously(
939 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); 935 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog());
940 ASSERT_TRUE(stream); 936 ASSERT_TRUE(stream);
941 937
942 StreamDelegateWithBody delegate(stream, kPostBodyStringPiece); 938 StreamDelegateWithBody delegate(stream, kPostBodyStringPiece);
943 stream->SetDelegate(&delegate); 939 stream->SetDelegate(&delegate);
944 940
945 EXPECT_FALSE(stream->HasUrlFromHeaders()); 941 EXPECT_FALSE(stream->HasUrlFromHeaders());
946 EXPECT_FALSE(stream->send_stalled_by_flow_control()); 942 EXPECT_FALSE(stream->send_stalled_by_flow_control());
947 943
948 std::unique_ptr<SpdyHeaderBlock> headers(new SpdyHeaderBlock( 944 SpdyHeaderBlock headers(
949 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength))); 945 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength));
950 EXPECT_EQ(ERR_IO_PENDING, 946 EXPECT_EQ(ERR_IO_PENDING,
951 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); 947 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND));
952 EXPECT_TRUE(stream->HasUrlFromHeaders()); 948 EXPECT_TRUE(stream->HasUrlFromHeaders());
953 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec()); 949 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec());
954 950
955 StallStream(stream); 951 StallStream(stream);
956 952
957 base::RunLoop().RunUntilIdle(); 953 base::RunLoop().RunUntilIdle();
958 954
959 EXPECT_TRUE(stream->send_stalled_by_flow_control()); 955 EXPECT_TRUE(stream->send_stalled_by_flow_control());
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
1019 base::WeakPtr<SpdyStream> stream = 1015 base::WeakPtr<SpdyStream> stream =
1020 CreateStreamSynchronously( 1016 CreateStreamSynchronously(
1021 SPDY_BIDIRECTIONAL_STREAM, session, url, LOWEST, BoundNetLog()); 1017 SPDY_BIDIRECTIONAL_STREAM, session, url, LOWEST, BoundNetLog());
1022 ASSERT_TRUE(stream); 1018 ASSERT_TRUE(stream);
1023 1019
1024 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece); 1020 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece);
1025 stream->SetDelegate(&delegate); 1021 stream->SetDelegate(&delegate);
1026 1022
1027 EXPECT_FALSE(stream->HasUrlFromHeaders()); 1023 EXPECT_FALSE(stream->HasUrlFromHeaders());
1028 1024
1029 std::unique_ptr<SpdyHeaderBlock> headers(new SpdyHeaderBlock( 1025 SpdyHeaderBlock headers(
1030 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength))); 1026 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength));
1031 EXPECT_EQ(ERR_IO_PENDING, 1027 EXPECT_EQ(ERR_IO_PENDING,
1032 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); 1028 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND));
1033 EXPECT_TRUE(stream->HasUrlFromHeaders()); 1029 EXPECT_TRUE(stream->HasUrlFromHeaders());
1034 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec()); 1030 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec());
1035 1031
1036 data.RunUntilPaused(); 1032 data.RunUntilPaused();
1037 1033
1038 EXPECT_FALSE(stream->send_stalled_by_flow_control()); 1034 EXPECT_FALSE(stream->send_stalled_by_flow_control());
1039 1035
1040 StallStream(stream); 1036 StallStream(stream);
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
1103 base::WeakPtr<SpdyStream> stream = 1099 base::WeakPtr<SpdyStream> stream =
1104 CreateStreamSynchronously( 1100 CreateStreamSynchronously(
1105 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); 1101 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog());
1106 ASSERT_TRUE(stream); 1102 ASSERT_TRUE(stream);
1107 1103
1108 StreamDelegateDoNothing delegate(stream); 1104 StreamDelegateDoNothing delegate(stream);
1109 stream->SetDelegate(&delegate); 1105 stream->SetDelegate(&delegate);
1110 1106
1111 EXPECT_FALSE(stream->HasUrlFromHeaders()); 1107 EXPECT_FALSE(stream->HasUrlFromHeaders());
1112 1108
1113 std::unique_ptr<SpdyHeaderBlock> headers( 1109 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kStreamUrl));
1114 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kStreamUrl)));
1115 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequestHeaders(std::move(headers), 1110 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequestHeaders(std::move(headers),
1116 NO_MORE_DATA_TO_SEND)); 1111 NO_MORE_DATA_TO_SEND));
1117 EXPECT_TRUE(stream->HasUrlFromHeaders()); 1112 EXPECT_TRUE(stream->HasUrlFromHeaders());
1118 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec()); 1113 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec());
1119 1114
1120 int64_t reply_frame_len = reply->size(); 1115 int64_t reply_frame_len = reply->size();
1121 int64_t data_header_len = SpdyConstants::GetDataFrameMinimumSize(HTTP2); 1116 int64_t data_header_len = SpdyConstants::GetDataFrameMinimumSize(HTTP2);
1122 int64_t data_frame_len = data_header_len + kPostBodyLength; 1117 int64_t data_frame_len = data_header_len + kPostBodyLength;
1123 int64_t response_len = reply_frame_len + data_frame_len; 1118 int64_t response_len = reply_frame_len + data_frame_len;
1124 1119
(...skipping 14 matching lines...) Expand all
1139 EXPECT_EQ(response_len, stream->raw_received_bytes()); 1134 EXPECT_EQ(response_len, stream->raw_received_bytes());
1140 1135
1141 // FIN 1136 // FIN
1142 data.Resume(); 1137 data.Resume();
1143 EXPECT_THAT(delegate.WaitForClose(), IsError(ERR_CONNECTION_CLOSED)); 1138 EXPECT_THAT(delegate.WaitForClose(), IsError(ERR_CONNECTION_CLOSED));
1144 } 1139 }
1145 1140
1146 } // namespace test 1141 } // namespace test
1147 1142
1148 } // namespace net 1143 } // namespace net
OLDNEW
« no previous file with comments | « net/spdy/spdy_stream.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698