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

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

Issue 18546008: [SPDY] Use WeakPtr<SpdySession> everywhere but SpdySessionPool (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix test, other minor formatting/comment changes Created 7 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 | Annotate | Revision Log
« no previous file with comments | « net/spdy/spdy_websocket_stream.cc ('k') | net/spdy/spdy_write_queue_unittest.cc » ('j') | 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_websocket_stream.h" 5 #include "net/spdy/spdy_websocket_stream.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after
270 } 270 }
271 271
272 SpdyWebSocketTestUtil spdy_util_; 272 SpdyWebSocketTestUtil spdy_util_;
273 SpdySettingsIds spdy_settings_id_to_set_; 273 SpdySettingsIds spdy_settings_id_to_set_;
274 SpdySettingsFlags spdy_settings_flags_to_set_; 274 SpdySettingsFlags spdy_settings_flags_to_set_;
275 uint32 spdy_settings_value_to_set_; 275 uint32 spdy_settings_value_to_set_;
276 SettingsMap spdy_settings_to_send_; 276 SettingsMap spdy_settings_to_send_;
277 SpdySessionDependencies session_deps_; 277 SpdySessionDependencies session_deps_;
278 scoped_ptr<OrderedSocketData> data_; 278 scoped_ptr<OrderedSocketData> data_;
279 scoped_refptr<HttpNetworkSession> http_session_; 279 scoped_refptr<HttpNetworkSession> http_session_;
280 scoped_refptr<SpdySession> session_; 280 base::WeakPtr<SpdySession> session_;
281 scoped_ptr<SpdyWebSocketStream> websocket_stream_; 281 scoped_ptr<SpdyWebSocketStream> websocket_stream_;
282 SpdyStreamId stream_id_; 282 SpdyStreamId stream_id_;
283 SpdyStreamId created_stream_id_; 283 SpdyStreamId created_stream_id_;
284 scoped_ptr<SpdyFrame> request_frame_; 284 scoped_ptr<SpdyFrame> request_frame_;
285 scoped_ptr<SpdyFrame> response_frame_; 285 scoped_ptr<SpdyFrame> response_frame_;
286 scoped_ptr<SpdyFrame> message_frame_; 286 scoped_ptr<SpdyFrame> message_frame_;
287 scoped_ptr<SpdyFrame> closing_frame_; 287 scoped_ptr<SpdyFrame> closing_frame_;
288 HostPortPair host_port_pair_; 288 HostPortPair host_port_pair_;
289 SpdySessionKey spdy_session_key_; 289 SpdySessionKey spdy_session_key_;
290 TestCompletionCallback completion_callback_; 290 TestCompletionCallback completion_callback_;
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 InitSession(reads, arraysize(reads), writes, arraysize(writes), false); 329 InitSession(reads, arraysize(reads), writes, arraysize(writes), false);
330 330
331 SpdyWebSocketStreamEventRecorder delegate(completion_callback_.callback()); 331 SpdyWebSocketStreamEventRecorder delegate(completion_callback_.callback());
332 delegate.SetOnReceivedHeader( 332 delegate.SetOnReceivedHeader(
333 base::Bind(&SpdyWebSocketStreamTest::DoSendHelloFrame, 333 base::Bind(&SpdyWebSocketStreamTest::DoSendHelloFrame,
334 base::Unretained(this))); 334 base::Unretained(this)));
335 delegate.SetOnReceivedData( 335 delegate.SetOnReceivedData(
336 base::Bind(&SpdyWebSocketStreamTest::DoSendClosingFrame, 336 base::Bind(&SpdyWebSocketStreamTest::DoSendClosingFrame,
337 base::Unretained(this))); 337 base::Unretained(this)));
338 338
339 websocket_stream_.reset(new SpdyWebSocketStream(session_.get(), &delegate)); 339 websocket_stream_.reset(new SpdyWebSocketStream(session_, &delegate));
340 340
341 BoundNetLog net_log; 341 BoundNetLog net_log;
342 GURL url("ws://example.com/echo"); 342 GURL url("ws://example.com/echo");
343 ASSERT_EQ(OK, websocket_stream_->InitializeStream(url, HIGHEST, net_log)); 343 ASSERT_EQ(OK, websocket_stream_->InitializeStream(url, HIGHEST, net_log));
344 344
345 ASSERT_TRUE(websocket_stream_->stream_.get()); 345 ASSERT_TRUE(websocket_stream_->stream_.get());
346 346
347 SendRequest(); 347 SendRequest();
348 348
349 completion_callback_.WaitForResult(); 349 completion_callback_.WaitForResult();
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
401 InitSession(reads, arraysize(reads), writes, arraysize(writes), false); 401 InitSession(reads, arraysize(reads), writes, arraysize(writes), false);
402 402
403 SpdyWebSocketStreamEventRecorder delegate(completion_callback_.callback()); 403 SpdyWebSocketStreamEventRecorder delegate(completion_callback_.callback());
404 delegate.SetOnReceivedHeader( 404 delegate.SetOnReceivedHeader(
405 base::Bind(&SpdyWebSocketStreamTest::DoSendHelloFrame, 405 base::Bind(&SpdyWebSocketStreamTest::DoSendHelloFrame,
406 base::Unretained(this))); 406 base::Unretained(this)));
407 delegate.SetOnReceivedData( 407 delegate.SetOnReceivedData(
408 base::Bind(&SpdyWebSocketStreamTest::DoSync, 408 base::Bind(&SpdyWebSocketStreamTest::DoSync,
409 base::Unretained(this))); 409 base::Unretained(this)));
410 410
411 websocket_stream_.reset(new SpdyWebSocketStream(session_.get(), &delegate)); 411 websocket_stream_.reset(new SpdyWebSocketStream(session_, &delegate));
412 412
413 BoundNetLog net_log; 413 BoundNetLog net_log;
414 GURL url("ws://example.com/echo"); 414 GURL url("ws://example.com/echo");
415 ASSERT_EQ(OK, websocket_stream_->InitializeStream(url, HIGHEST, net_log)); 415 ASSERT_EQ(OK, websocket_stream_->InitializeStream(url, HIGHEST, net_log));
416 416
417 SendRequest(); 417 SendRequest();
418 418
419 sync_callback_.WaitForResult(); 419 sync_callback_.WaitForResult();
420 420
421 // WebSocketStream destruction remove its SPDY stream from the session. 421 // WebSocketStream destruction remove its SPDY stream from the session.
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
463 InitSession(reads, arraysize(reads), writes, arraysize(writes), false); 463 InitSession(reads, arraysize(reads), writes, arraysize(writes), false);
464 464
465 SpdyWebSocketStreamEventRecorder delegate(completion_callback_.callback()); 465 SpdyWebSocketStreamEventRecorder delegate(completion_callback_.callback());
466 delegate.SetOnReceivedHeader( 466 delegate.SetOnReceivedHeader(
467 base::Bind(&SpdyWebSocketStreamTest::DoSendHelloFrame, 467 base::Bind(&SpdyWebSocketStreamTest::DoSendHelloFrame,
468 base::Unretained(this))); 468 base::Unretained(this)));
469 delegate.SetOnReceivedData( 469 delegate.SetOnReceivedData(
470 base::Bind(&SpdyWebSocketStreamTest::DoClose, 470 base::Bind(&SpdyWebSocketStreamTest::DoClose,
471 base::Unretained(this))); 471 base::Unretained(this)));
472 472
473 websocket_stream_.reset(new SpdyWebSocketStream(session_.get(), &delegate)); 473 websocket_stream_.reset(new SpdyWebSocketStream(session_, &delegate));
474 474
475 BoundNetLog net_log; 475 BoundNetLog net_log;
476 GURL url("ws://example.com/echo"); 476 GURL url("ws://example.com/echo");
477 ASSERT_EQ(OK, websocket_stream_->InitializeStream(url, HIGHEST, net_log)); 477 ASSERT_EQ(OK, websocket_stream_->InitializeStream(url, HIGHEST, net_log));
478 478
479 SendRequest(); 479 SendRequest();
480 480
481 completion_callback_.WaitForResult(); 481 completion_callback_.WaitForResult();
482 482
483 // SPDY stream has already been removed from the session by Close(). 483 // SPDY stream has already been removed from the session by Close().
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
528 MockRead(SYNCHRONOUS, 0, 11) // EOF cause OnCloseSpdyStream event. 528 MockRead(SYNCHRONOUS, 0, 11) // EOF cause OnCloseSpdyStream event.
529 }; 529 };
530 530
531 InitSession(reads, arraysize(reads), writes, arraysize(writes), true); 531 InitSession(reads, arraysize(reads), writes, arraysize(writes), true);
532 532
533 // Create a dummy WebSocketStream which cause ERR_IO_PENDING to another 533 // Create a dummy WebSocketStream which cause ERR_IO_PENDING to another
534 // WebSocketStream under test. 534 // WebSocketStream under test.
535 SpdyWebSocketStreamEventRecorder block_delegate((CompletionCallback())); 535 SpdyWebSocketStreamEventRecorder block_delegate((CompletionCallback()));
536 536
537 scoped_ptr<SpdyWebSocketStream> block_stream( 537 scoped_ptr<SpdyWebSocketStream> block_stream(
538 new SpdyWebSocketStream(session_.get(), &block_delegate)); 538 new SpdyWebSocketStream(session_, &block_delegate));
539 BoundNetLog block_net_log; 539 BoundNetLog block_net_log;
540 GURL block_url("ws://example.com/block"); 540 GURL block_url("ws://example.com/block");
541 ASSERT_EQ(OK, 541 ASSERT_EQ(OK,
542 block_stream->InitializeStream(block_url, HIGHEST, block_net_log)); 542 block_stream->InitializeStream(block_url, HIGHEST, block_net_log));
543 543
544 // Create a WebSocketStream under test. 544 // Create a WebSocketStream under test.
545 SpdyWebSocketStreamEventRecorder delegate(completion_callback_.callback()); 545 SpdyWebSocketStreamEventRecorder delegate(completion_callback_.callback());
546 delegate.SetOnCreated( 546 delegate.SetOnCreated(
547 base::Bind(&SpdyWebSocketStreamTest::DoSync, 547 base::Bind(&SpdyWebSocketStreamTest::DoSync,
548 base::Unretained(this))); 548 base::Unretained(this)));
549 delegate.SetOnReceivedHeader( 549 delegate.SetOnReceivedHeader(
550 base::Bind(&SpdyWebSocketStreamTest::DoSendHelloFrame, 550 base::Bind(&SpdyWebSocketStreamTest::DoSendHelloFrame,
551 base::Unretained(this))); 551 base::Unretained(this)));
552 delegate.SetOnReceivedData( 552 delegate.SetOnReceivedData(
553 base::Bind(&SpdyWebSocketStreamTest::DoSendClosingFrame, 553 base::Bind(&SpdyWebSocketStreamTest::DoSendClosingFrame,
554 base::Unretained(this))); 554 base::Unretained(this)));
555 555
556 websocket_stream_.reset(new SpdyWebSocketStream(session_.get(), &delegate)); 556 websocket_stream_.reset(new SpdyWebSocketStream(session_, &delegate));
557 BoundNetLog net_log; 557 BoundNetLog net_log;
558 GURL url("ws://example.com/echo"); 558 GURL url("ws://example.com/echo");
559 ASSERT_EQ(ERR_IO_PENDING, websocket_stream_->InitializeStream( 559 ASSERT_EQ(ERR_IO_PENDING, websocket_stream_->InitializeStream(
560 url, HIGHEST, net_log)); 560 url, HIGHEST, net_log));
561 561
562 // Delete the fist stream to allow create the second stream. 562 // Delete the fist stream to allow create the second stream.
563 block_stream.reset(); 563 block_stream.reset();
564 ASSERT_EQ(OK, sync_callback_.WaitForResult()); 564 ASSERT_EQ(OK, sync_callback_.WaitForResult());
565 565
566 SendRequest(); 566 SendRequest();
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
602 EXPECT_EQ(OK, events[7].result); 602 EXPECT_EQ(OK, events[7].result);
603 603
604 // EOF close SPDY session. 604 // EOF close SPDY session.
605 EXPECT_FALSE( 605 EXPECT_FALSE(
606 HasSpdySession(http_session_->spdy_session_pool(), spdy_session_key_)); 606 HasSpdySession(http_session_->spdy_session_pool(), spdy_session_key_));
607 EXPECT_TRUE(data()->at_read_eof()); 607 EXPECT_TRUE(data()->at_read_eof());
608 EXPECT_TRUE(data()->at_write_eof()); 608 EXPECT_TRUE(data()->at_write_eof());
609 } 609 }
610 610
611 } // namespace net 611 } // namespace net
OLDNEW
« no previous file with comments | « net/spdy/spdy_websocket_stream.cc ('k') | net/spdy/spdy_write_queue_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698