OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 /** | 5 /** |
6 * These are the messages we are going to send to the isolates | 6 * These are the messages we are going to send to the isolates |
7 * that we create. | 7 * that we create. |
8 */ | 8 */ |
9 class MessageId { | 9 class MessageId { |
10 static final INIT = "init"; | 10 static final INIT = "init"; |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 for (Element element in document.queryAll(".sendButton")) { | 64 for (Element element in document.queryAll(".sendButton")) { |
65 element.on.click.add((Event e) { | 65 element.on.click.add((Event e) { |
66 replyElement.text = "waiting for reply..."; | 66 replyElement.text = "waiting for reply..."; |
67 | 67 |
68 // get the last letter on the button (assuming the button text is, for | 68 // get the last letter on the button (assuming the button text is, for |
69 // example, "send message to A". | 69 // example, "send message to A". |
70 String buttonText = e.currentTarget.dynamic.attributes["value"]; | 70 String buttonText = e.currentTarget.dynamic.attributes["value"]; |
71 String isolateName = buttonText[buttonText.length - 1]; | 71 String isolateName = buttonText[buttonText.length - 1]; |
72 String greeting = document.query("#greetingText").dynamic.value; | 72 String greeting = document.query("#greetingText").dynamic.value; |
73 var message = { "id": MessageId.GREETING, "args" : [ greeting ] }; | 73 var message = { "id": MessageId.GREETING, "args" : [ greeting ] }; |
74 ports[isolateName].call(message).receive( | 74 ports[isolateName].call(message).then((var msg) { |
75 (var msg, SendPort replyTo) { | 75 replyElement.text = msg; |
76 replyElement.text = msg; | |
77 }); | 76 }); |
78 }); | 77 }); |
79 } | 78 } |
80 | 79 |
81 chirpPort.receive((var message, SendPort replyTo) { | 80 chirpPort.receive((var message, SendPort replyTo) { |
82 replyElement.text = message; | 81 replyElement.text = message; |
83 }); | 82 }); |
84 } | 83 } |
85 | 84 |
86 static void main() { | 85 static void main() { |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
145 "received message: <span class='messageText'>'${message}'</span>"; | 144 "received message: <span class='messageText'>'${message}'</span>"; |
146 if (div.query(".replyCheckbox").dynamic.checked) { | 145 if (div.query(".replyCheckbox").dynamic.checked) { |
147 InputElement element = div.query(".delayTextbox"); | 146 InputElement element = div.query(".delayTextbox"); |
148 int millis = Math.parseInt(element.value); | 147 int millis = Math.parseInt(element.value); |
149 window.setTimeout(() { | 148 window.setTimeout(() { |
150 replyTo.send("this is a reply from isolate '${isolateName}'", null); | 149 replyTo.send("this is a reply from isolate '${isolateName}'", null); |
151 }, millis); | 150 }, millis); |
152 } | 151 } |
153 } | 152 } |
154 } | 153 } |
OLD | NEW |