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

Issue 23279011: Require handshake confirmation until a QUIC connection is created succesfully when using a new netw… (Closed)

Created:
7 years, 4 months ago by Ryan Hamilton
Modified:
7 years, 4 months ago
CC:
chromium-reviews, cbentzel+watch_chromium.org
Visibility:
Public.

Description

Require handshake confirmation until a QUIC connection is created succesfully when using a new network. BUG= Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=218412

Patch Set 1 #

Patch Set 2 : Added test #

Total comments: 4

Patch Set 3 : Fix comments #

Patch Set 4 : Rebase #

Patch Set 5 : Fix #

Total comments: 6
Unified diffs Side-by-side diffs Delta from patch set Stats (+116 lines, -13 lines) Patch
M net/quic/quic_client_session.h View 1 2 3 3 chunks +4 lines, -2 lines 0 comments Download
M net/quic/quic_client_session.cc View 1 2 3 4 chunks +11 lines, -5 lines 1 comment Download
M net/quic/quic_client_session_test.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M net/quic/quic_network_transaction_unittest.cc View 1 2 3 4 2 chunks +61 lines, -0 lines 0 comments Download
M net/quic/quic_stream_factory.h View 1 2 3 2 chunks +7 lines, -0 lines 0 comments Download
M net/quic/quic_stream_factory.cc View 1 2 3 4 chunks +5 lines, -1 line 2 comments Download
M net/quic/quic_stream_factory_test.cc View 1 2 3 2 chunks +2 lines, -0 lines 0 comments Download
M net/quic/test_tools/mock_crypto_client_stream.h View 1 2 chunks +5 lines, -0 lines 2 comments Download
M net/quic/test_tools/mock_crypto_client_stream.cc View 1 1 chunk +10 lines, -0 lines 1 comment Download
M net/quic/test_tools/mock_crypto_client_stream_factory.h View 1 2 chunks +5 lines, -1 line 0 comments Download
M net/quic/test_tools/mock_crypto_client_stream_factory.cc View 1 2 chunks +5 lines, -3 lines 0 comments Download

Messages

Total messages: 10 (0 generated)
Ryan Hamilton
7 years, 4 months ago (2013-08-19 17:52:10 UTC) #1
ramant (doing other things)
lgtm https://chromiumcodereview.appspot.com/23279011/diff/3001/net/quic/quic_network_transaction_unittest.cc File net/quic/quic_network_transaction_unittest.cc (right): https://chromiumcodereview.appspot.com/23279011/diff/3001/net/quic/quic_network_transaction_unittest.cc#newcode726 net/quic/quic_network_transaction_unittest.cc:726: // connecto the the server, in this test ...
7 years, 4 months ago (2013-08-19 18:39:05 UTC) #2
Ryan Hamilton
Thanks! https://chromiumcodereview.appspot.com/23279011/diff/3001/net/quic/quic_network_transaction_unittest.cc File net/quic/quic_network_transaction_unittest.cc (right): https://chromiumcodereview.appspot.com/23279011/diff/3001/net/quic/quic_network_transaction_unittest.cc#newcode726 net/quic/quic_network_transaction_unittest.cc:726: // connecto the the server, in this test ...
7 years, 4 months ago (2013-08-19 18:51:17 UTC) #3
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/rch@chromium.org/23279011/9001
7 years, 4 months ago (2013-08-19 18:53:27 UTC) #4
commit-bot: I haz the power
Failed to apply patch for net/quic/quic_client_session.cc: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file ...
7 years, 4 months ago (2013-08-19 18:53:41 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/rch@chromium.org/23279011/13001
7 years, 4 months ago (2013-08-19 19:45:19 UTC) #6
commit-bot: I haz the power
Sorry for I got bad news for ya. Compile failed with a clobber build on ...
7 years, 4 months ago (2013-08-19 20:04:23 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/rch@chromium.org/23279011/45001
7 years, 4 months ago (2013-08-19 22:16:09 UTC) #8
commit-bot: I haz the power
Change committed as 218412
7 years, 4 months ago (2013-08-20 02:04:16 UTC) #9
wtc
7 years, 4 months ago (2013-08-21 01:09:32 UTC) #10
Message was sent while issue was closed.
Patch set 5 LGTM. I have some questions.

https://codereview.chromium.org/23279011/diff/45001/net/quic/quic_client_sess...
File net/quic/quic_client_session.cc (right):

https://codereview.chromium.org/23279011/diff/45001/net/quic/quic_client_sess...
net/quic/quic_client_session.cc:266: QuicSession::OnCryptoHandshakeEvent(event);

An unrelated question: have you thought about the order of running the
callback and calling QuicSession::OnCryptoHandshakeEvent()? Does the
order matter?

The reason I asked is that usually base::ResetAndReturn(&callback_).Run()
is the last thing we do in an OnXXXEvent method.

https://codereview.chromium.org/23279011/diff/45001/net/quic/quic_stream_fact...
File net/quic/quic_stream_factory.cc (right):

https://codereview.chromium.org/23279011/diff/45001/net/quic/quic_stream_fact...
net/quic/quic_stream_factory.cc:253: : require_confirmation_(true),

Can you explain why require_confirmation_ should be initialized to true?

I guess it's because we require confirmation for the very first connect and
the first connect after each network change?

It would be nice to document this somewhere, which will make it easier to
understand where we should set require_confirmation_ to true or false.

https://codereview.chromium.org/23279011/diff/45001/net/quic/quic_stream_fact...
net/quic/quic_stream_factory.cc:300: if (rv == OK) {

Should we also set require_confirmation_ to false in this case, to match
the asynchronous completion case on line 309?

https://codereview.chromium.org/23279011/diff/45001/net/quic/test_tools/mock_...
File net/quic/test_tools/mock_crypto_client_stream.cc (right):

https://codereview.chromium.org/23279011/diff/45001/net/quic/test_tools/mock_...
net/quic/test_tools/mock_crypto_client_stream.cc:56: encryption_established_ =
true;

Nit: it seems that we only need to set encryption_established_ to true
on the ENCRYPTION_ESTABLISHED event, right?

https://codereview.chromium.org/23279011/diff/45001/net/quic/test_tools/mock_...
File net/quic/test_tools/mock_crypto_client_stream.h (right):

https://codereview.chromium.org/23279011/diff/45001/net/quic/test_tools/mock_...
net/quic/test_tools/mock_crypto_client_stream.h:50: // Invokes the sessions's
CryptoHandshakeEvent method with the specified

Typo: CryptoHandshakeEvent => OnCryptoHandshakeEvent

https://codereview.chromium.org/23279011/diff/45001/net/quic/test_tools/mock_...
net/quic/test_tools/mock_crypto_client_stream.h:52: void
SendOnCryptoHandshakeEvent(QuicSession::CryptoHandshakeEvent event);

What does the "Send" in the method's name mean?

Powered by Google App Engine
This is Rietveld 408576698