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

Issue 2832303002: Fifo order should be preserved for messages on associated interfaces. (Closed)

Created:
3 years, 8 months ago by wangjimmy
Modified:
3 years, 7 months ago
CC:
Aaron Boodman, abarth-chromium, blink-reviews, chromium-reviews, darin (slow to review), qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Fifo order should be preserved for messages on associated interfaces. Cache the current message and pause processing the incoming messages if an endpoint does not have client attached yet. Resume processing the incoming messages when the endpoint client is attached to that endpoint. // Expect arrival of message with value 456, then message with value 123. integerSender1.send(456) // Binding side not bound yet so no endpoint client. integerSender0.send(123) BUG=695635 Review-Url: https://codereview.chromium.org/2832303002 Cr-Commit-Position: refs/heads/master@{#467427} Committed: https://chromium.googlesource.com/chromium/src/+/d65d570dafc96e2f12abe682c7148a350a94dc52

Patch Set 1 #

Patch Set 2 : Formatting #

Patch Set 3 : Add string sender and use that instead of integer sender twice. #

Total comments: 12

Patch Set 4 : Address codereview #

Total comments: 9

Patch Set 5 : Check target endpoint's client still exists. Remove associated_binding commited by mistake. #

Patch Set 6 : Check cacheMessageData is set then get cachedMessage interface id #

Total comments: 4

Patch Set 7 : If target endpoint closed, discard cache message and connector resume processing incoming messages. #

Total comments: 6

Patch Set 8 : Remove timer from closeEndpointHandle. Clean up associated_interface_ptr.html test. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+245 lines, -20 lines) Patch
M mojo/public/interfaces/bindings/tests/test_associated_interfaces.mojom View 1 2 3 4 5 6 2 chunks +10 lines, -0 lines 0 comments Download
M mojo/public/js/connector.js View 3 chunks +30 lines, -0 lines 0 comments Download
M mojo/public/js/router.js View 1 2 3 4 5 6 7 4 chunks +38 lines, -3 lines 0 comments Download
M third_party/WebKit/LayoutTests/mojo/associated_interface_ptr.html View 1 2 3 4 5 6 7 9 chunks +167 lines, -17 lines 0 comments Download

Messages

Total messages: 45 (31 generated)
wangjimmy
Hi Yuzhu, PTAL at all. Thank you
3 years, 8 months ago (2017-04-21 23:05:19 UTC) #4
wangjimmy
Hi Ken, PTAL at all. Thank you
3 years, 8 months ago (2017-04-21 23:05:54 UTC) #6
yzshen1
https://codereview.chromium.org/2832303002/diff/40001/mojo/public/js/router.js File mojo/public/js/router.js (right): https://codereview.chromium.org/2832303002/diff/40001/mojo/public/js/router.js#newcode75 mojo/public/js/router.js:75: this.cachedMessageData = null; nit: Please consider commenting on the ...
3 years, 8 months ago (2017-04-24 17:30:46 UTC) #12
wangjimmy
https://codereview.chromium.org/2832303002/diff/40001/mojo/public/js/router.js File mojo/public/js/router.js (right): https://codereview.chromium.org/2832303002/diff/40001/mojo/public/js/router.js#newcode75 mojo/public/js/router.js:75: this.cachedMessageData = null; On 2017/04/24 17:30:46, yzshen1 wrote: > ...
3 years, 8 months ago (2017-04-24 19:03:36 UTC) #13
wangjimmy
https://codereview.chromium.org/2832303002/diff/60001/mojo/public/js/router.js File mojo/public/js/router.js (right): https://codereview.chromium.org/2832303002/diff/60001/mojo/public/js/router.js#newcode140 mojo/public/js/router.js:140: timer.createOneShot(0, (function() { TODO(wangjimmy): Check endpoint client still exists ...
3 years, 8 months ago (2017-04-24 19:04:33 UTC) #16
yzshen1
https://codereview.chromium.org/2832303002/diff/60001/mojo/public/js/router.js File mojo/public/js/router.js (right): https://codereview.chromium.org/2832303002/diff/60001/mojo/public/js/router.js#newcode140 mojo/public/js/router.js:140: timer.createOneShot(0, (function() { On 2017/04/24 19:04:33, wangjimmy wrote: > ...
3 years, 8 months ago (2017-04-24 19:21:49 UTC) #17
wangjimmy
https://codereview.chromium.org/2832303002/diff/60001/mojo/public/js/router.js File mojo/public/js/router.js (right): https://codereview.chromium.org/2832303002/diff/60001/mojo/public/js/router.js#newcode140 mojo/public/js/router.js:140: timer.createOneShot(0, (function() { On 2017/04/24 19:04:33, wangjimmy wrote: > ...
3 years, 8 months ago (2017-04-24 21:16:39 UTC) #22
yzshen1
https://codereview.chromium.org/2832303002/diff/100001/mojo/public/js/router.js File mojo/public/js/router.js (right): https://codereview.chromium.org/2832303002/diff/100001/mojo/public/js/router.js#newcode142 mojo/public/js/router.js:142: this.cachedMessageData.message.getInterfaceId()); Please check whether this.cachedMessageData is null first. Imagine: ...
3 years, 8 months ago (2017-04-25 19:56:59 UTC) #27
wangjimmy
https://codereview.chromium.org/2832303002/diff/100001/mojo/public/js/router.js File mojo/public/js/router.js (right): https://codereview.chromium.org/2832303002/diff/100001/mojo/public/js/router.js#newcode142 mojo/public/js/router.js:142: this.cachedMessageData.message.getInterfaceId()); On 2017/04/25 19:56:58, yzshen1 wrote: > Please check ...
3 years, 8 months ago (2017-04-26 01:08:02 UTC) #29
yzshen1
LGTM with a few nits. Thanks! https://codereview.chromium.org/2832303002/diff/120001/mojo/public/js/router.js File mojo/public/js/router.js (right): https://codereview.chromium.org/2832303002/diff/120001/mojo/public/js/router.js#newcode150 mojo/public/js/router.js:150: this.cachedMessageData.message, nit: please ...
3 years, 7 months ago (2017-04-26 16:40:00 UTC) #33
wangjimmy
https://codereview.chromium.org/2832303002/diff/120001/mojo/public/js/router.js File mojo/public/js/router.js (right): https://codereview.chromium.org/2832303002/diff/120001/mojo/public/js/router.js#newcode150 mojo/public/js/router.js:150: this.cachedMessageData.message, On 2017/04/26 16:40:00, yzshen1 wrote: > nit: please ...
3 years, 7 months ago (2017-04-26 17:54:07 UTC) #35
Ken Rockot(use gerrit already)
lgtm
3 years, 7 months ago (2017-04-26 18:18:16 UTC) #37
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/2832303002/140001
3 years, 7 months ago (2017-04-26 20:03:52 UTC) #42
commit-bot: I haz the power
3 years, 7 months ago (2017-04-26 20:10:13 UTC) #45
Message was sent while issue was closed.
Committed patchset #8 (id:140001) as
https://chromium.googlesource.com/chromium/src/+/d65d570dafc96e2f12abe682c714...

Powered by Google App Engine
This is Rietveld 408576698