|
|
Created:
6 years, 3 months ago by ramant (doing other things) Modified:
6 years, 2 months ago CC:
chromium-reviews, cbentzel+watch_chromium.org, rjshade, wtc Base URL:
https://chromium.googlesource.com/chromium/src.git@master Project:
chromium Visibility:
Public. |
DescriptionQUIC - minor reorg of QuicCryptoClientStream::DoHandshakeLoop.
Added Do... methods for each state in DoHandshakeLoop (similar to the
conventions that we typically use in our state machines).
DoVerifyProof and DoGetChannelID which could do async operation
return QuicAsyncStatus.
In DoHandshakeLoop changed "for (;;) {" to be similar to other
do { ...} while loops of other state machines in chromium.
R=rch@chromium.org,agl@chromium.org
Committed: https://crrev.com/46f73cea6f512782fff8697cbdc5c8bdb1b63edd
Cr-Commit-Position: refs/heads/master@{#297316}
Patch Set 1 #
Total comments: 4
Patch Set 2 : #Patch Set 3 : Return QuicAsyncStatus for async Do... methods #
Messages
Total messages: 33 (15 generated)
Hi Ryan and Adam, This CL doesn't make any functional change (just moving code into Do... methods). https://codereview.chromium.org/588443002/diff/1/net/quic/quic_crypto_client_... File net/quic/quic_crypto_client_stream.h (right): https://codereview.chromium.org/588443002/diff/1/net/quic/quic_crypto_client_... net/quic/quic_crypto_client_stream.h:123: void DoInitialize(QuicCryptoClientConfig::CachedState* cached); Hi Ryan and Adam, Added crude comments. Would appreciate help in documenting code better. Thanks much.
agl@chromium.org changed reviewers: + agl@chromium.org
https://codereview.chromium.org/588443002/diff/1/net/quic/quic_crypto_client_... File net/quic/quic_crypto_client_stream.cc (right): https://codereview.chromium.org/588443002/diff/1/net/quic/quic_crypto_client_... net/quic/quic_crypto_client_stream.cc:204: if (QUIC_SUCCESS != DoGetChannelID(cached)) { In other cases you have changed returns into next_state_ = STATE_DONE. Why is this one different?
https://codereview.chromium.org/588443002/diff/1/net/quic/quic_crypto_client_... File net/quic/quic_crypto_client_stream.cc (right): https://codereview.chromium.org/588443002/diff/1/net/quic/quic_crypto_client_... net/quic/quic_crypto_client_stream.cc:204: if (QUIC_SUCCESS != DoGetChannelID(cached)) { On 2014/09/19 17:26:52, agl wrote: > In other cases you have changed returns into next_state_ = STATE_DONE. Why is > this one different? In DoGetChannelID and DoVerifyProof we shouldn't modify next_state_ to STATE_DONE when there is IO_PENDING (next_state_ should remain as ...COMPLETE). Need to change for loop to exit if the return value is ERR_IO_PENDING and we could change DoGetChannelID and DoVerifyProof to return ERR_IO_PENDING when it wants to exit from the for loop, but leave the next_state_ as ...COMPLETE. (I hadn't modified the forever for loop in this CL). I am not feeling well. Will modify the code and upload it asap. thanks, raman
(Please ping when ready for review.)
Patchset #2 (id:20001) has been deleted
PTAL. thanks.
rtenneti@chromium.org changed reviewers: - agl@chromium.org, rch@chromium.org
On 2014/09/23 22:55:03, ramant wrote: > PTAL. thanks. Please don't review this CL yet. thanks.
Patchset #2 (id:40001) has been deleted
Patchset #2 (id:60001) has been deleted
Patchset #2 (id:80001) has been deleted
Patchset #2 (id:100001) has been deleted
Patchset #2 (id:120001) has been deleted
rtenneti@chromium.org changed reviewers: + rch@chromium.org
Hi Ryan, I have moved the code into Do... methods (would like to tighten the code in the next CL). Made the state machine similar to other network library state machines. Would appreciate your comments, before publishing it for review. thanks much raman
Hm, I notice that you're returning net error codes. I don't think we have access to them in google3, do we? Otherwise, i love this change! https://codereview.chromium.org/588443002/diff/1/net/quic/quic_crypto_client_... File net/quic/quic_crypto_client_stream.h (right): https://codereview.chromium.org/588443002/diff/1/net/quic/quic_crypto_client_... net/quic/quic_crypto_client_stream.h:123: void DoInitialize(QuicCryptoClientConfig::CachedState* cached); On 2014/09/19 03:13:07, ramant wrote: > Hi Ryan and Adam, > Added crude comments. Would appreciate help in documenting code better. > > Thanks much. These seem fine. We often don't even comment our various DoFoo() method.
Patchset #3 (id:160001) has been deleted
Patchset #3 (id:180001) has been deleted
rtenneti@chromium.org changed reviewers: + agl@chromium.org
Hi Ryan and Adam, Sorry for the delay in sending this review (was working on other M39 stuff). Will submit this change after M39 branch is cut. PTAL. thanks raman
LGTM. The structure looks great! I confess, I didn't read the bodies of the new methods too closely, as they look like they're simply the result of moving code around.
lgtm
On 2014/09/29 17:41:44, agl wrote: > lgtm Thanks very much Adam and Ryan, raman
The CQ bit was checked by rtenneti@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/588443002/200001
The CQ bit was unchecked by commit-bot@chromium.org
Exceeded time limit waiting for builds to trigger.
The CQ bit was checked by rtenneti@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/588443002/200001
Message was sent while issue was closed.
Committed patchset #3 (id:200001) as a1aec104df7776193ec33369aa1e0fb22714ad6e
Message was sent while issue was closed.
Patchset 3 (id:??) landed as https://crrev.com/46f73cea6f512782fff8697cbdc5c8bdb1b63edd Cr-Commit-Position: refs/heads/master@{#297316} |