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

Issue 2417913002: Process incoming IQs in the same order that they were sent. (Closed)

Created:
4 years, 2 months ago by kelvinp
Modified:
4 years, 2 months ago
Reviewers:
Sergey Ulanov
CC:
chromium-reviews, chromoting-reviews_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Process incoming IQs in the same order that they were sent. The signaling channel does not guarantee that the incoming IQs are delivered in the order that it is sent. This behavior leads to transient session setup failures. For instance, a <transport-info> that is sent after a <session-info> message is sometimes delivered to the client out of order, causing the client to close the session due to an unexpected request. This CL implements a OrderedMessageQueue which guarantees the ordering of the incoming GET and SEt IQ by extracting sequencing information from the id attribute of incoming IQs. Committed: https://crrev.com/897dbcba07e098ea819ba291bed12ccbbf1a91b1 Cr-Commit-Position: refs/heads/master@{#426936}

Patch Set 1 #

Total comments: 3

Patch Set 2 : Reviewer's feedback #

Total comments: 46

Patch Set 3 : Reviewer's feedback #

Total comments: 6

Patch Set 4 : Reviewer's feedback #

Patch Set 5 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+264 lines, -36 lines) Patch
M remoting/protocol/jingle_session.h View 1 2 4 chunks +30 lines, -1 line 0 comments Download
M remoting/protocol/jingle_session.cc View 1 2 3 9 chunks +133 lines, -11 lines 0 comments Download
M remoting/protocol/jingle_session_manager.h View 1 1 chunk +1 line, -1 line 0 comments Download
M remoting/protocol/jingle_session_manager.cc View 1 4 chunks +13 lines, -8 lines 0 comments Download
M remoting/protocol/jingle_session_unittest.cc View 1 2 3 8 chunks +49 lines, -13 lines 0 comments Download
M remoting/signaling/fake_signal_strategy.h View 1 2 3 3 chunks +8 lines, -0 lines 0 comments Download
M remoting/signaling/fake_signal_strategy.cc View 1 2 3 4 2 chunks +25 lines, -0 lines 0 comments Download
M remoting/signaling/iq_sender.cc View 1 chunk +5 lines, -2 lines 0 comments Download

Messages

Total messages: 22 (9 generated)
kelvinp
PTAL
4 years, 2 months ago (2016-10-13 18:51:52 UTC) #1
kelvinp
4 years, 2 months ago (2016-10-13 18:52:02 UTC) #3
Sergey Ulanov
See my suggestions for some cleanups we can do to make this CL simpler, particularly ...
4 years, 2 months ago (2016-10-14 18:36:54 UTC) #8
kelvinp
https://codereview.chromium.org/2417913002/diff/1/remoting/protocol/jingle_session_manager.cc File remoting/protocol/jingle_session_manager.cc (right): https://codereview.chromium.org/2417913002/diff/1/remoting/protocol/jingle_session_manager.cc#newcode145 remoting/protocol/jingle_session_manager.cc:145: JingleMessageReply(error).ToXml(original_stanza)); On 2016/10/14 18:36:54, Sergey Ulanov wrote: > Here ...
4 years, 2 months ago (2016-10-14 22:49:18 UTC) #9
Sergey Ulanov
On 2016/10/14 22:49:18, kelvinp wrote: > https://codereview.chromium.org/2417913002/diff/1/remoting/protocol/jingle_session_manager.cc > File remoting/protocol/jingle_session_manager.cc (right): > > https://codereview.chromium.org/2417913002/diff/1/remoting/protocol/jingle_session_manager.cc#newcode145 > ...
4 years, 2 months ago (2016-10-17 20:20:25 UTC) #10
kelvinp
PTAL Removed the template parameter and uses a copy of the stanza in jingle session ...
4 years, 2 months ago (2016-10-19 19:04:34 UTC) #12
Sergey Ulanov
Looks mostly good. I have some suggestions on how the test could be simplified, and ...
4 years, 2 months ago (2016-10-19 21:23:39 UTC) #13
kelvinp
PTAL https://codereview.chromium.org/2417913002/diff/40001/remoting/protocol/jingle_session.cc File remoting/protocol/jingle_session.cc (right): https://codereview.chromium.org/2417913002/diff/40001/remoting/protocol/jingle_session.cc#newcode75 remoting/protocol/jingle_session.cc:75: int GetSequentialId(std::string id) { On 2016/10/19 21:23:38, Sergey ...
4 years, 2 months ago (2016-10-21 00:26:03 UTC) #14
Sergey Ulanov
lgtm after my comments are addressed https://codereview.chromium.org/2417913002/diff/60001/remoting/protocol/jingle_session.cc File remoting/protocol/jingle_session.cc (right): https://codereview.chromium.org/2417913002/diff/60001/remoting/protocol/jingle_session.cc#newcode141 remoting/protocol/jingle_session.cc:141: DCHECK(current >= next_incoming_); ...
4 years, 2 months ago (2016-10-21 19:19:39 UTC) #15
kelvinp
FYI https://codereview.chromium.org/2417913002/diff/60001/remoting/protocol/jingle_session.cc File remoting/protocol/jingle_session.cc (right): https://codereview.chromium.org/2417913002/diff/60001/remoting/protocol/jingle_session.cc#newcode141 remoting/protocol/jingle_session.cc:141: DCHECK(current >= next_incoming_); On 2016/10/21 19:19:39, Sergey Ulanov ...
4 years, 2 months ago (2016-10-21 22:41:27 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2417913002/100001
4 years, 2 months ago (2016-10-21 22:43:21 UTC) #19
commit-bot: I haz the power
Committed patchset #5 (id:100001)
4 years, 2 months ago (2016-10-22 00:40:40 UTC) #20
commit-bot: I haz the power
4 years, 2 months ago (2016-10-22 00:47:23 UTC) #22
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/897dbcba07e098ea819ba291bed12ccbbf1a91b1
Cr-Commit-Position: refs/heads/master@{#426936}

Powered by Google App Engine
This is Rietveld 408576698